namespace Pluto.Api { using System.Collections; using System.Collections.Generic; using System.Linq; using PlutoServer.PracticeChoice; [RemObjects.SDK.Server.ClassFactories.StandardClassFactory()] [RemObjects.SDK.Server.Service(Name = "Practice", InvokerClass = typeof(Practice_Invoker), ActivatorClass = typeof(Practice_Activator))] public class Practice : RemObjects.SDK.Server.Service, IPractice { private System.ComponentModel.Container components = null; public Practice() : base() { this.InitializeComponent(); } private void InitializeComponent() { this.RequireSession = true; //this. } protected override void Dispose(bool aDisposing) { if(aDisposing) { if((this.components != null)) { this.components.Dispose(); } } base.Dispose(aDisposing); } public virtual PracticeInfo1[] GetPracticeList1(string apiKey) { // Validate the apiKey //System.Threading.Thread.Sleep(1000 * 10); if(Utility.IsAPIKeyValid(apiKey)) { var practiceInfos = new List(); practiceInfos.Add(new PracticeInfo1() { Id = 1, Name = "North Side" }); practiceInfos.Add(new PracticeInfo1() { Id = 2, Name = "East Side" }); practiceInfos.Add(new PracticeInfo1() { Id = 3, Name = "West Side" }); practiceInfos.Add(new PracticeInfo1() { Id = 4, Name = "South Side" }); return practiceInfos.ToArray(); } else { return null; } } public virtual ProviderInfo1[] GetProviderList1(string apiKey, PracticeInfo1 practiceInfo) { if(Utility.IsAPIKeyValid(apiKey)) { System.Diagnostics.Debug.WriteLine(this.SessionID.ToString()); var authToken = (string)this.Session[SessionKeys.AuthToken]; var practice = new PlutoServer.PracticeChoice.Core.Practice(); var providerList = practice.GetProviderList(authToken); return providerList.ToArray(); } else { return null; } } #region IPractice Members public virtual PatientInfo1[] GetPatientList1(string apiKey, string lastName, string firstName, string dateOfBirth) { if(Utility.IsAPIKeyValid(apiKey)){ var authToken = (string)this.Session[SessionKeys.AuthToken]; var practice = new PlutoServer.PracticeChoice.Core.Practice(); var patientList = practice.GetPatientList(authToken, lastName, firstName, dateOfBirth); return patientList.ToArray(); }else{ return null; } } public MessageRecipientInfo1[] GetMessageRecipientList(string apiKey) { if(Utility.IsAPIKeyValid(apiKey)) { var authToken = (string)this.Session[SessionKeys.AuthToken]; var practice = new PlutoServer.PracticeChoice.Core.Practice(); var recipientList = practice.GetMessageRecipients(authToken); return recipientList.ToArray(); } else { return null; } } #endregion } }