private void SetAwvBoneMassTestData(List <BioCheckResponseModel> bioCheckResponse, EventCustomer eventCustomer) { _testResultRepository = new AwvBoneMassTestRepository(); var testResult = _testResultRepository.GetTestResults(eventCustomer.CustomerId, eventCustomer.EventId); if (testResult != null) { var awvBoneMassTestResult = testResult as AwvBoneMassTestResult; if (awvBoneMassTestResult.EstimatedTScore != null) { if (awvBoneMassTestResult.EstimatedTScore.Reading != null) { bioCheckResponse.Add(new BioCheckResponseModel("Q23", awvBoneMassTestResult.EstimatedTScore.Reading.Value.ToString())); } } } else { testResult = _testResultRepository.GetTestResults(eventCustomer.CustomerId, eventCustomer.EventId); _testResultRepository = new OsteoporosisTestRepository(); if (testResult != null) { var osteoporosisTestResult = testResult as OsteoporosisTestResult; if (osteoporosisTestResult.EstimatedTScore != null) { if (osteoporosisTestResult.EstimatedTScore.Reading != null) { bioCheckResponse.Add(new BioCheckResponseModel("Q23", osteoporosisTestResult.EstimatedTScore.Reading.Value.ToString())); } } } } }
private void SetA1CTestData(List <BioCheckResponseModel> bioCheckResponse, EventCustomer eventCustomer) { _testResultRepository = new AwvHemaglobinTestRepository(); var testResult = _testResultRepository.GetTestResults(eventCustomer.CustomerId, eventCustomer.EventId); if (testResult != null) { var a1cTestResult = testResult as AwvHemaglobinTestResult; if (a1cTestResult.Hba1c != null) { if (a1cTestResult.Hba1c.Reading != null) { bioCheckResponse.Add(new BioCheckResponseModel("Q22", a1cTestResult.Hba1c.Reading)); } } } else { _testResultRepository = new HemoglobinTestRepository(); testResult = _testResultRepository.GetTestResults(eventCustomer.CustomerId, eventCustomer.EventId); if (testResult != null) { var a1cTestResult = testResult as HemaglobinA1CTestResult; if (a1cTestResult.Hba1c != null) { if (a1cTestResult.Hba1c.Reading != null) { bioCheckResponse.Add(new BioCheckResponseModel("Q22", a1cTestResult.Hba1c.Reading)); } } } } }
private BioCheckJsonViewModel GenerateBioCheckResponseModel(EventCustomer eventCustomer, Customer customer, IEnumerable <HealthAssessmentAnswer> customerHealth, Event eventData, ILogger logger) { var testResult = _bioCheckAssessmentTestResultRepository.GetTestResults(customer.CustomerId, eventCustomer.EventId); var kynLabValues = _kynLabValuesRepository.Get(eventCustomer.Id, (long)TestType.MyBioCheckAssessment); var basicBioMeric = _basicBiometricRepository.Get(eventCustomer.EventId, eventCustomer.CustomerId); var myBioCheck = testResult as MyBioAssessmentTestResult; if (myBioCheck != null && (myBioCheck.TestNotPerformed == null || myBioCheck.TestNotPerformed.TestNotPerformedReasonId <= 0) && (testResult.UnableScreenReason == null || testResult.UnableScreenReason.Count <= 0)) { var biocheckResponse = new List <BioCheckResponseModel>(); SetCustomerHafResponse(customerHealth, biocheckResponse); //Q1_1 to Q8_4 SetCustomerBioMetricResponse(customer, biocheckResponse); //Q9 to Q10 SetLabValus(biocheckResponse, myBioCheck, kynLabValues, basicBioMeric, customer); //Q11 to Q21 SetA1CTestData(biocheckResponse, eventCustomer); //Q22 SetAwvBoneMassTestData(biocheckResponse, eventCustomer); // Q23 SetPsaTestData(biocheckResponse, eventCustomer); // Q24 SetNicotineTestData(biocheckResponse); // Q25-27 SetBmiData(biocheckResponse, customer); // Q28 SetSmokerData(biocheckResponse, kynLabValues); //Q60 var bioCheckJsonViewModel = new BioCheckJsonViewModel { //ResponseId = Guid.NewGuid().ToString(), UserId = customer.CustomerId.ToString(), FirstName = customer.Name.FirstName, LastName = customer.Name.LastName, DoB = customer.DateOfBirth, CreatedAt = DateTime.Now, CompletedAt = eventData.EventDate, Email = (customer.Email == null || string.IsNullOrEmpty(customer.Email.ToString())) ? string.Empty : customer.Email.ToString(), Gender = customer.Gender == Gender.Female ? FemaleGender : customer.Gender == Gender.Male ? MaleGender : string.Empty, Responses = biocheckResponse.ToArray() }; return(bioCheckJsonViewModel); } //Todo: create XML for Customers JSON Not Created; logger.Info("Customer's My bio-check Result not Found"); return(null); }
private void SetPsaTestData(List <BioCheckResponseModel> bioCheckResponse, EventCustomer eventCustomer) { _testResultRepository = new PsaTestRepository(); var testResult = _testResultRepository.GetTestResults(eventCustomer.CustomerId, eventCustomer.EventId); if (testResult != null) { var psaTestResult = testResult as PsaTestResult; if (psaTestResult.PSASCR != null) { if (psaTestResult.PSASCR.Reading != null) { bioCheckResponse.Add(new BioCheckResponseModel("Q24", psaTestResult.PSASCR.Reading)); } } } }
private BioCheckJsonViewModel GenerateBioCheckResponseModel(EventCustomer eventCustomer, Customer customer, IEnumerable <HealthAssessmentAnswer> customerHealth, Event eventData, ILogger logger, IEnumerable <EventCustomerResultTrale> eventCustomerResultTrales, IEnumerable <CustomerTrale> customerTrales, CorporateAccount account) { var isNewResultFlow = eventData.EventDate >= _settings.ResultFlowChangeDate; var testResult = _bioCheckAssessmentTestResultRepository.GetTestResults(customer.CustomerId, eventCustomer.EventId, isNewResultFlow); var kynLabValues = _kynLabValuesRepository.Get(eventCustomer.Id, (long)TestType.MyBioCheckAssessment); var basicBioMeric = _basicBiometricRepository.Get(eventCustomer.EventId, eventCustomer.CustomerId); var traleResponse = eventCustomerResultTrales.FirstOrDefault(x => x.EventCustomerResultId == eventCustomer.Id); var traleUser = customerTrales.FirstOrDefault(x => x.CustomerId == eventCustomer.CustomerId); var myBioCheck = testResult as MyBioAssessmentTestResult; if (myBioCheck != null && (myBioCheck.TestNotPerformed == null || myBioCheck.TestNotPerformed.TestNotPerformedReasonId <= 0) && (testResult.UnableScreenReason == null || testResult.UnableScreenReason.Count <= 0)) { if (traleResponse == null) { traleResponse = new EventCustomerResultTrale { EventCustomerResultId = eventCustomer.Id, DateCreated = DateTime.Now, ResponseId = Guid.NewGuid().ToString() }; _eventCustomerResultTraleRepository.Save(traleResponse); } if (traleUser == null) { traleUser = new CustomerTrale { CustomerId = customer.CustomerId, DateCreated = DateTime.Now, UserId = Guid.NewGuid().ToString() }; _customerTraleRepository.Save(traleUser); } var biocheckResponse = new List <BioCheckResponseModel>(); SetCustomerHafResponse(customerHealth, biocheckResponse); //Q1_1 to Q8_4 SetCustomerBioMetricResponse(customer, biocheckResponse); //Q9 to Q10 SetLabValus(biocheckResponse, myBioCheck, kynLabValues, basicBioMeric, customer); //Q11 to Q21 SetA1CTestData(biocheckResponse, eventCustomer, isNewResultFlow); //Q22 SetAwvBoneMassTestData(biocheckResponse, eventCustomer, isNewResultFlow); // Q23 SetPsaTestData(biocheckResponse, eventCustomer, isNewResultFlow); // Q24 SetNicotineTestData(biocheckResponse); // Q25-27 SetBmiData(biocheckResponse, customer); // Q28 SetSmokerData(biocheckResponse, kynLabValues); //Q60 var bioCheckJsonViewModel = new BioCheckJsonViewModel { ResponseId = traleResponse.ResponseId, UserId = traleUser.UserId, FirstName = customer.Name.FirstName, LastName = customer.Name.LastName, DoB = customer.DateOfBirth, CreatedAt = DateTime.Now, CompletedAt = eventData.EventDate, Email = (customer.Email == null || string.IsNullOrEmpty(customer.Email.ToString())) ? string.Empty : customer.Email.ToString(), Gender = customer.Gender == Gender.Female ? FemaleGender : customer.Gender == Gender.Male ? MaleGender : string.Empty, GroupId = account != null ? account.Id : eventData.Id, GroupName = account != null ? account.Name : eventData.Name, Responses = biocheckResponse.ToArray(), UniqueId = customer.CustomerId.ToString(), Exfld03 = "Kaiser" }; return(bioCheckJsonViewModel); } //Todo: create XML for Customers JSON Not Created; logger.Info("Customer's My bio-check Result not Found"); return(null); }