public async Task <IActionResult> RetrieveParticularCHCSubjectList(SubjectsDetailRequest sdData) { _logger.LogInformation($"Invoking endpoint: {this.HttpContext.Request.GetDisplayUrl()}"); var subRegListResponse = await _subjectService.RetrieveParticularCHCSubjectDetail(sdData); return(Ok(new SubjectRegistrationResponse { Status = subRegListResponse.Status, Message = subRegListResponse.Message, SubjectsDetail = subRegListResponse.SubjectsDetail, })); }
public SubjectDetails RetrieveParticularSubjectDetail(SubjectsDetailRequest sdData) { string stProc = FetchParticularANMSubjectDetail; string stProc1 = FetchSubjectANMPrePC; string stProc2 = FetchSubjectANMPNDTesting; string stProc3 = FetchSubjectANMPostPC; string stProc4 = FetchANMMTPService; var pList = new List <SqlParameter>() { new SqlParameter("@UserId", sdData.userId), new SqlParameter("@UniqueSubjectID", sdData.userInput ?? sdData.userInput), }; var allPrimaryData = UtilityDL.FillData <SubjectPrimaryDetail>(stProc, pList); var allAddressData = UtilityDL.FillData <SubjectAddresDetail>(stProc, pList); var allPregnancyData = UtilityDL.FillData <SubjectPregnancyDetail>(stProc, pList); var allParentData = UtilityDL.FillData <SubjectParentDetail>(stProc, pList); var pList1 = new List <SqlParameter>() { new SqlParameter("@UserId", sdData.userId), }; var allPrPC = UtilityDL.FillData <SubjectPrePNDTCounselling>(stProc1, pList1); var allPNDTTest = UtilityDL.FillData <SubjectPNDTTesting>(stProc2, pList1); var allPoPC = UtilityDL.FillData <SubjectPostPNDTCounselling>(stProc3, pList1); var allMTP = UtilityDL.FillData <SubjectMTPService>(stProc4, pList1); var subDetail = new SubjectDetails(); subDetail.PrimarySubjectList = allPrimaryData; subDetail.AddressSubjectList = allAddressData; subDetail.PregnancySubjectList = allPregnancyData; subDetail.ParentSubjectList = allParentData; subDetail.prePndtCounselling = allPrPC; subDetail.pndtTesting = allPNDTTest; subDetail.postPndtCounselling = allPoPC; subDetail.mtpService = allMTP; return(subDetail); }
public async Task <SubjectRegistrationResponse> RetrieveParticularCHCSubjectDetail(SubjectsDetailRequest sdData) { var subjectRegistrationResponse = new SubjectRegistrationResponse(); var subjectRegistrations = new List <SubjectsDetail>(); try { var subjectDetails = _subjectData.RetrieveParticularCHCSubjectDetail(sdData); foreach (var primarySubject in subjectDetails.PrimarySubjectList) { var subjectRegistration = new SubjectsDetail(); var address = subjectDetails.AddressSubjectList.FirstOrDefault(ad => ad.uniqueSubjectId == primarySubject.uniqueSubjectId); var pregnancy = subjectDetails.PregnancySubjectList.FirstOrDefault(pr => pr.uniqueSubjectId == primarySubject.uniqueSubjectId); var parent = subjectDetails.ParentSubjectList.FirstOrDefault(pa => pa.uniqueSubjectId == primarySubject.uniqueSubjectId); var prePndtCounselling = subjectDetails.prePndtCounselling.FirstOrDefault(prp => prp.uniqueSubjectId == primarySubject.uniqueSubjectId); var pndtTesting = subjectDetails.pndtTesting.FirstOrDefault(pn => pn.uniqueSubjectId == primarySubject.uniqueSubjectId); var postPndtCounselling = subjectDetails.postPndtCounselling.FirstOrDefault(pop => pop.uniqueSubjectId == primarySubject.uniqueSubjectId); var mtpService = subjectDetails.mtpService.FirstOrDefault(ms => ms.uniqueSubjectId == primarySubject.uniqueSubjectId); subjectRegistration.PrimaryDetail = primarySubject; subjectRegistration.AddressDetail = address; subjectRegistration.PregnancyDetail = pregnancy; subjectRegistration.ParentDetail = parent; subjectRegistration.prePndtCounselling = prePndtCounselling; subjectRegistration.pndtTesting = pndtTesting; subjectRegistration.postPndtCounselling = postPndtCounselling; subjectRegistration.mtpService = mtpService; subjectRegistrations.Add(subjectRegistration); } subjectRegistrationResponse.SubjectsDetail = subjectRegistrations; subjectRegistrationResponse.Status = "true"; subjectRegistrationResponse.Message = string.Empty; } catch (Exception ex) { subjectRegistrationResponse.Status = "false"; subjectRegistrationResponse.Message = ex.Message; } return(subjectRegistrationResponse); }