Esempio n. 1
0
        public IActionResult FindSiteClientNames(string sitecode, string name)
        {
            try
            {
                var personMatches = _clientService.SearchSiteByName(sitecode, name).ToList();
                var personData    = new List <RemoteClientInfo>();

                foreach (var personMatch in personMatches)
                {
                    var rc = new RemoteClientInfo();

                    rc.Client = personMatch.RemoteClient.Client;
                    if (null != rc.Client && !rc.Client.Id.IsNullOrEmpty())
                    {
                        personData.Add(rc);
                    }
                }
                return(Ok(personData));
            }
            catch (Exception e)
            {
                Log.Debug($"Error searching clients: {e}");
                return(StatusCode(500, "Error loading clients"));
            }
        }
Esempio n. 2
0
 public PersonMatch(Person person, decimal rank)
 {
     RemoteClient        = new RemoteClientInfo();
     Person              = person;
     Rank                = rank;
     RemoteClient.Client = Person.GetClientInfo();
 }
Esempio n. 3
0
 public void ResponseRequetRemoteInfo(
     int requestUserId, RemoteOperationState state, RemoteClientInfo info)
 {
     Global.SendToServer(new TransmitData <DataResponse <RemoteOperationState, RemoteClientInfo> >
     {
         ToUser = new User {
             Id = requestUserId
         },
         Data = new DataResponse <RemoteOperationState, RemoteClientInfo>
         {
             State = state,
             Data  = info
         }
     }, MessageType.RemoteOperationResponse);
 }
Esempio n. 4
0
        public IActionResult FindClientNames(string name)
        {
            try
            {
                var personMatches = _clientService.SearchByName(name).ToList();
                var personData    = new List <RemoteClientInfo>();

                foreach (var personMatch in personMatches)
                {
                    var rc = new RemoteClientInfo();

                    rc.Client = personMatch.RemoteClient.Client;

                    //                    foreach (var client in personMatch.Person.Clients)
                    //                    {
                    //                        var es = new List<EncounterInfo>();
                    //                        foreach (var clientEncounter in client.Encounters)
                    //                        {
                    //                            var e = Mapper.Map<EncounterInfo>(clientEncounter);
                    //                            e.Obses = Mapper.Map<List<ObsInfo>>(clientEncounter.Obses.ToList());
                    //                            e.ObsTestResults = Mapper.Map<List<ObsTestResultInfo>>(clientEncounter.ObsTestResults.ToList());
                    //                            e.ObsFinalTestResults = Mapper.Map<List<ObsFinalTestResultInfo>>(clientEncounter.ObsFinalTestResults.ToList());
                    //                            e.ObsTraceResults = Mapper.Map<List<ObsTraceResultInfo>>(clientEncounter.ObsTraceResults.ToList());
                    //                            e.ObsLinkages = Mapper.Map<List<ObsLinkageInfo>>(clientEncounter.ObsLinkages.ToList());
                    //                            e.ObsMemberScreenings = Mapper.Map<List<ObsMemberScreeningInfo>>(clientEncounter.ObsMemberScreenings.ToList());
                    //                            e.ObsPartnerScreenings = Mapper.Map<List<ObsPartnerScreeningInfo>>(clientEncounter.ObsPartnerScreenings.ToList());
                    //                            e.ObsFamilyTraceResults = Mapper.Map<List<ObsFamilyTraceResultInfo>>(clientEncounter.ObsFamilyTraceResults.ToList());
                    //                            e.ObsPartnerTraceResults = Mapper.Map<List<ObsPartnerTraceResultInfo>>(clientEncounter.ObsPartnerTraceResults.ToList());
                    //                            es.Add(e);
                    //                        }
                    //                        rc.Encounters = es;
                    //                    }
                    if (null != rc.Client && !rc.Client.Id.IsNullOrEmpty())
                    {
                        personData.Add(rc);
                    }
                }



                return(Ok(personData));
            }
            catch (Exception e)
            {
                Log.Debug($"Error searching clients: {e}");
                return(StatusCode(500, "Error loading clients"));
            }
        }
Esempio n. 5
0
        public IActionResult GetCohort(string id)
        {
            Guid cohortId = Guid.Empty;

            if (string.IsNullOrWhiteSpace(id))
            {
                return(BadRequest());
            }

            try
            {
                cohortId = new Guid(id);
            }
            catch
            {
            }

            try
            {
                var cohort = _subscriberSystem.Cohorts.FirstOrDefault(x => x.Id == cohortId);

                if (null == cohort)
                {
                    return(NotFound());
                }

                var personMatches = _clientService.LoadByCohort(cohort).ToList();
                var personData    = new List <RemoteClientInfo>();

                foreach (var personMatch in personMatches)
                {
                    var rc = new RemoteClientInfo();

                    rc.Client = personMatch.RemoteClient.Client;
                    personData.Add(rc);
                }



                return(Ok(personData));
            }
            catch (Exception e)
            {
                Log.Debug($"Error loading cohort: {e}");
                return(StatusCode(500, "Error loading cohort"));
            }
        }
Esempio n. 6
0
 public PersonMatch()
 {
     Person       = new Person();
     RemoteClient = new RemoteClientInfo();
 }
Esempio n. 7
0
        public IActionResult DownloadClient(string id)
        {
            Guid clientId = Guid.Empty;

            if (string.IsNullOrWhiteSpace(id))
            {
                return(BadRequest());
            }

            try
            {
                clientId = new Guid(id);
            }

            catch
            {
            }

            try
            {
                var personMatches = _clientService.FindById(clientId).ToList();
                var personData    = new List <RemoteClientInfo>();

                foreach (var personMatch in personMatches)
                {
                    var rc = new RemoteClientInfo();

                    rc.Client = personMatch.RemoteClient.Client;

                    foreach (var client in personMatch.Person.Clients)
                    {
                        var isInHts = client.IsInState(LiveState.HtsEnrolled);
                        var isPos   = client.IsInState(LiveState.HtsTestedPos);
                        var isFam   = client.IsFamilyContact();
                        var isPat   = client.IsPartnerContact();

                        var es = new List <EncounterInfo>();
                        foreach (var clientEncounter in client.Encounters)
                        {
                            rc.Client.AlreadyTestedPos = false;
                            var e = Mapper.Map <EncounterInfo>(clientEncounter);
                            e.Obses               = new List <ObsInfo>();
                            e.ObsTestResults      = new List <ObsTestResultInfo>();
                            e.ObsFinalTestResults = new List <ObsFinalTestResultInfo>();
                            e.ObsTraceResults     = new List <ObsTraceResultInfo>();
                            e.ObsLinkages         = new List <ObsLinkageInfo>();

                            e.ObsMemberScreenings    = new List <ObsMemberScreeningInfo>();
                            e.ObsPartnerScreenings   = new List <ObsPartnerScreeningInfo>();
                            e.ObsFamilyTraceResults  = new List <ObsFamilyTraceResultInfo>();
                            e.ObsPartnerTraceResults = new List <ObsPartnerTraceResultInfo>();

                            /*
                             * e.Obses = Mapper.Map<List<ObsInfo>>(clientEncounter.Obses.ToList());
                             * e.ObsTestResults = Mapper.Map<List<ObsTestResultInfo>>(clientEncounter.ObsTestResults.ToList());
                             * e.ObsFinalTestResults = Mapper.Map<List<ObsFinalTestResultInfo>>(clientEncounter.ObsFinalTestResults.ToList());
                             * e.ObsTraceResults = Mapper.Map<List<ObsTraceResultInfo>>(clientEncounter.ObsTraceResults.ToList());
                             * e.ObsLinkages = Mapper.Map<List<ObsLinkageInfo>>(clientEncounter.ObsLinkages.ToList());
                             * e.ObsMemberScreenings = Mapper.Map<List<ObsMemberScreeningInfo>>(clientEncounter.ObsMemberScreenings.ToList());
                             * e.ObsPartnerScreenings = Mapper.Map<List<ObsPartnerScreeningInfo>>(clientEncounter.ObsPartnerScreenings.ToList());
                             * e.ObsFamilyTraceResults = Mapper.Map<List<ObsFamilyTraceResultInfo>>(clientEncounter.ObsFamilyTraceResults.ToList());
                             * e.ObsPartnerTraceResults = Mapper.Map<List<ObsPartnerTraceResultInfo>>(clientEncounter.ObsPartnerTraceResults.ToList());
                             */


                            if (isPos)
                            {
                                rc.Client.AlreadyTestedPos = true;
                                e.ObsTraceResults          =
                                    Mapper.Map <List <ObsTraceResultInfo> >(clientEncounter.ObsTraceResults.ToList());
                                e.ObsLinkages = Mapper.Map <List <ObsLinkageInfo> >(clientEncounter.ObsLinkages.ToList());
                                if (e.EncounterTypeId == new Guid("b262fc32-852f-11e7-bb31-be2e44b06b34") ||
                                    e.EncounterTypeId == new Guid("b262fda4-852f-11e7-bb31-be2e44b06b34"))
                                {
                                    es.Add(e);
                                }
                            }

                            if (isFam)
                            {
                                rc.Client.IsFamilyMember = true;
                                e.ObsMemberScreenings    =
                                    Mapper.Map <List <ObsMemberScreeningInfo> >(
                                        clientEncounter.ObsMemberScreenings.ToList());
                                e.ObsFamilyTraceResults =
                                    Mapper.Map <List <ObsFamilyTraceResultInfo> >(clientEncounter.ObsFamilyTraceResults
                                                                                  .ToList());

                                if (e.EncounterTypeId == new Guid("B262FDA4-877F-11E7-BB31-BE2E44B66B34") ||
                                    e.EncounterTypeId == new Guid("B262FDA4-877F-11E7-BB31-BE2E44B67B34"))
                                {
                                    es.Add(e);
                                }
                            }

                            if (isPat)
                            {
                                rc.Client.IsPartner    = true;
                                e.ObsPartnerScreenings =
                                    Mapper.Map <List <ObsPartnerScreeningInfo> >(clientEncounter.ObsPartnerScreenings
                                                                                 .ToList());
                                e.ObsPartnerTraceResults =
                                    Mapper.Map <List <ObsPartnerTraceResultInfo> >(clientEncounter.ObsPartnerTraceResults
                                                                                   .ToList());

                                if (e.EncounterTypeId == new Guid("B262FDA4-877F-11E7-BB31-BE2E44B68B34") ||
                                    e.EncounterTypeId == new Guid("B262FDA4-877F-11E7-BB31-BE2E44B69B34"))
                                {
                                    es.Add(e);
                                }
                            }
                        }

                        rc.Encounters = es;
                    }

                    if (null != rc.Client && !rc.Client.Id.IsNullOrEmpty())
                    {
                        try
                        {
                            var client   = personMatch.Person.Clients.FirstOrDefault();
                            var summries = _summaryService.Generate(client).ToList();
                            rc.Client.ClientSummaries = Mapper.Map <List <ClientSummaryInfo> >(summries);
                        }
                        catch (Exception e)
                        {
                            Log.Debug($"{e}");
                        }

                        personData.Add(rc);
                    }
                }

                foreach (var remoteClientInfo in personData)
                {
                    //
                }


                return(Ok(personData.FirstOrDefault()));
            }
            catch (Exception e)
            {
                Log.Debug($"Error searching clients: {e}");
                return(StatusCode(500, "Error loading clients"));
            }
        }
Esempio n. 8
0
 public void Send(PierceMessage message, RemoteClientInfo client)
 {
     _tcpServer.Send(message.MakeParcel(), client.Context);
 }