public IActionResult Generate(Guid id) { try { var userSummaries = _summaryService.Generate(id); return(Ok(userSummaries)); } catch (Exception e) { Log.Debug($"Error generating summaries: {e}"); return(StatusCode(500, "Error generating summaries")); } }
public void should_Generate_Client_Summary() { /* * 50E56B13-BBB4-4E62-AA48-A896013F79C7 * 045F0947-CD80-4E82-8E79-A896013FE740 */ var personMatches = _clientService.FindById(new Guid("045F0947-CD80-4E82-8E79-A896013FE740")); Assert.NotNull(personMatches); var client = personMatches.FirstOrDefault().Person.Clients.FirstOrDefault(); Assert.NotNull(client); var summary = _summaryService.Generate(client).ToList(); Assert.True(summary.Count > 0); foreach (var clientSummary in summary) { Console.WriteLine(clientSummary); } }
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")); } }