Initial Commit
This commit is contained in:
125
TomcatServer/PlutoServer.MSL/Authentication_Impl.cs
Normal file
125
TomcatServer/PlutoServer.MSL/Authentication_Impl.cs
Normal file
@@ -0,0 +1,125 @@
|
||||
namespace Pluto.Api {
|
||||
using System;
|
||||
using RemObjects.SDK;
|
||||
using RemObjects.SDK.Types;
|
||||
using RemObjects.SDK.Server;
|
||||
using RemObjects.SDK.Server.ClassFactories;
|
||||
using PlutoServer.MSL;
|
||||
using System.Collections.Generic;
|
||||
using PlutoServer.MSL.Connectors;
|
||||
|
||||
|
||||
[RemObjects.SDK.Server.ClassFactories.StandardClassFactory()]
|
||||
[RemObjects.SDK.Server.Service(Name = "Authentication", InvokerClass = typeof(Authentication_Invoker), ActivatorClass = typeof(Authentication_Activator))]
|
||||
public class Authentication : RemObjects.SDK.Server.Service, IAuthentication {
|
||||
|
||||
private System.ComponentModel.Container components = null;
|
||||
public Authentication() :
|
||||
base() {
|
||||
this.InitializeComponent();
|
||||
}
|
||||
|
||||
private void InitializeComponent() {
|
||||
|
||||
}
|
||||
|
||||
protected override void Dispose(bool aDisposing) {
|
||||
if(aDisposing) {
|
||||
if((this.components != null)) {
|
||||
this.components.Dispose();
|
||||
}
|
||||
}
|
||||
base.Dispose(aDisposing);
|
||||
}
|
||||
|
||||
public virtual UserInfo1 Login1(string apiKey, PracticeInfo1 practiceInfo, string userId, string password)
|
||||
{
|
||||
if(ProductType.IsKeyLytec(apiKey))
|
||||
{
|
||||
UserInfo1 info = LytecConnector.AuthenticateUserLogin(apiKey, userId, password);
|
||||
if (info == null)
|
||||
MSLSpecific.Logger.Error("Lytec Authentication Failed for User:{0} into Practice:{1}", userId, practiceInfo.Name);
|
||||
return info;
|
||||
}
|
||||
else if (ProductType.IsKeyMedisoft(apiKey))
|
||||
{
|
||||
UserInfo1 info = MedisoftConnector.AuthenticateUserLogin(apiKey, userId, password);
|
||||
if (info == null)
|
||||
MSLSpecific.Logger.Error("Medisoft Authentication Failed for User:{0} into Practice:{1}", userId, practiceInfo.Name);
|
||||
return info;
|
||||
}
|
||||
|
||||
MSLSpecific.Logger.Error("Invalid Product");
|
||||
return null;
|
||||
}
|
||||
|
||||
#region IAuthentication Members
|
||||
|
||||
public PracticeInfo1[] GetPracticeList1(string apiKey)
|
||||
{
|
||||
MSLSpecific.Logger.Error("GetPracticeList1 is not implemented, shouldn't never be called");
|
||||
return null;
|
||||
}
|
||||
|
||||
public virtual bool CreatePin1(string apiKey, PracticeInfo1 practiceInfo, string userId, string fourdigitpin)
|
||||
{
|
||||
if (ProductType.IsKeyLytec(apiKey))
|
||||
{
|
||||
return LytecConnector.CreatePin(apiKey, userId, fourdigitpin);
|
||||
}
|
||||
else if (ProductType.IsKeyMedisoft(apiKey))
|
||||
{
|
||||
return MedisoftConnector.CreatePin(apiKey, userId, fourdigitpin);
|
||||
}
|
||||
|
||||
MSLSpecific.Logger.Error("Invalid Product");
|
||||
return false;
|
||||
}
|
||||
|
||||
public virtual UserInfo1 ValidatePin1(string apiKey, PracticeInfo1 practiceInfo, string userId, string pin)
|
||||
{
|
||||
if (ProductType.IsKeyLytec(apiKey))
|
||||
{
|
||||
return LytecConnector.AuthenticateUserPIN(apiKey, userId, pin);
|
||||
}
|
||||
else if (ProductType.IsKeyMedisoft(apiKey))
|
||||
{
|
||||
return MedisoftConnector.AuthenticateUserPIN(apiKey, userId, pin);
|
||||
}
|
||||
|
||||
MSLSpecific.Logger.Error("Invalid Product");
|
||||
return null;
|
||||
}
|
||||
|
||||
public virtual bool PinIsSet1(string apiKey, PracticeInfo1 practiceInfo, string userId)
|
||||
{
|
||||
if (ProductType.IsKeyLytec(apiKey))
|
||||
{
|
||||
return LytecConnector.PinIsSet(apiKey, userId);
|
||||
}
|
||||
else if (ProductType.IsKeyMedisoft(apiKey))
|
||||
{
|
||||
return MedisoftConnector.PinIsSet(apiKey, userId);
|
||||
}
|
||||
|
||||
MSLSpecific.Logger.Error("Invalid Product");
|
||||
return false;
|
||||
}
|
||||
|
||||
public virtual string GetAPIVersion()
|
||||
{
|
||||
Version LocalVersion = Yaulw.Assembly.AssemblyW.GetAssemblyVersion(Yaulw.Assembly.AssemblyW.AssemblyST.Entry);
|
||||
return LocalVersion.ToString();
|
||||
}
|
||||
|
||||
public virtual bool IsAPIOutOfDate()
|
||||
{
|
||||
bool bRetVal = AutoUpdate.IsLocalServiceVersionOutOfDate();
|
||||
if (bRetVal)
|
||||
MSLSpecific.Logger.Info("Local Service is out of Date");
|
||||
return bRetVal;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user