using System.Collections.Generic; using McKesson.PPS.Fusion.Authentication.Business; using McKesson.PPS.Fusion.Business.Common.Context; using McKesson.PPS.Fusion.ProviderSearch.Business; using Pluto.Api; using McKesson.PPS.Fusion.Persons.Business; using McKesson.PPS.Fusion.Communications.Business.FolderContents.Recepients; namespace PlutoServer.PracticeChoice.Core { public class Practice { public IList GetProviderList(string authToken) { IList providersList = null; MagicIdentity identity = MagicIdentity.FromCookieString(authToken); if(identity.IsAuthenticated) { MagicPrincipal principal = new MagicPrincipal(identity); //Logger.Write(string.Format("MagicIdentity authenticated is {0}", identity.IsAuthenticated)); Csla.ApplicationContext.User = principal; var userContext = UserContext.GetInstance(); var providers = ReadOnlyProviderList.GetReadOnlyProviderList(pageIndex: 0, pageSize: 250, lastName: string.Empty, firstName: string.Empty, specialty: string.Empty, city: string.Empty, zip: string.Empty, status: "active", gender: string.Empty, providerFlag: 1); if(providers != null) { providersList = new List(); foreach(var provider in providers) { providersList.Add(new ProviderInfo1() { FirstName = provider.FirstName, Id = provider.Id, LastName = provider.LastName, MiddleName = string.Empty, UserId = provider.UserID }); } } } return providersList; } public IList GetPatientList(string authToken, string lastName, string firstName, string dateOfBirth) { IList patientList = null; MagicIdentity identity = MagicIdentity.FromCookieString(authToken); if(identity.IsAuthenticated) { MagicPrincipal principal = new MagicPrincipal(identity); Csla.ApplicationContext.User = principal; var criteria = new PersonInfoCriteria() { LastName = lastName, FirstName = firstName, PageSize = 25 }; var patients = PersonInfoList.GetPersonInfoList(criteria); if(patients != null) { patientList = new List(); foreach(var patient in patients) { patientList.Add(new PatientInfo1() { Id = patient.PersonID, LastName = patient.LastName, FirstName = patient.FirstName, DOB = patient.DateOfBirth.Value, ChartId = patient.ChartID }); } } } return patientList; } public IList GetMessageRecipients(string authToken) { IList recipientList = null; MagicIdentity identity = MagicIdentity.FromCookieString(authToken); if(identity.IsAuthenticated) { MagicPrincipal principal = new MagicPrincipal(identity); Csla.ApplicationContext.User = principal; var list = RecepientList.GetRecipientList(new RecipientListCriteria() { Filter = SelectionFilter.Person }); if(list != null) { recipientList = new List(); foreach(var item in list) { recipientList.Add(new MessageRecipientInfo1() { Id = item.ID, Name = item.DisplayName }); } } } return recipientList; } } }