Example #1
0
        public async Task <IActionResult> RetrieveCHCSubjectList(SubjectDetailRequest sdData)
        {
            _logger.LogInformation($"Invoking endpoint: {this.HttpContext.Request.GetDisplayUrl()}");
            var subRegListResponse = await _subjectService.RetrieveCHCSubjectDetail(sdData);

            return(Ok(new SubjectRegistrationResponse
            {
                Status = subRegListResponse.Status,
                Message = subRegListResponse.Message,
                SubjectsDetail = subRegListResponse.SubjectsDetail,
            }));
        }
Example #2
0
        public async Task <SubjectRegistrationResponse> RetrieveCHCSubjectDetail(SubjectDetailRequest sdData)
        {
            var subjectRegistrationResponse = new SubjectRegistrationResponse();
            var subjectRegistrations        = new List <SubjectsDetail>();

            try
            {
                var subjectDetails = _subjectData.RetrieveCHCSubjectDetail(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);
        }
Example #3
0
        public SubjectDetails RetrieveSubjectDetail(SubjectDetailRequest sdData)
        {
            string stProc = FetchAllSubjectDetailByANM;

            string stProc1 = FetchSubjectANMPrePC;
            string stProc2 = FetchSubjectANMPNDTesting;
            string stProc3 = FetchSubjectANMPostPC;
            string stProc4 = FetchANMMTPService;

            var pList = new List <SqlParameter>()
            {
                new SqlParameter("@UserId", sdData.userId),
                new SqlParameter("@FromDate", sdData.fromDate.ToCheckNull()),
                new SqlParameter("@ToDate", sdData.toDate.ToCheckNull())
            };
            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);
        }