public string calculatePercentage()
        {
            string         request        = HttpContext.Current.Request["request"];
            StudentModel   studentRequest = JsonConvert.DeserializeObject <StudentModel>(request);
            decimal        totalMarks     = 100 * studentRequest.subjectNum;
            decimal        ObtainedMarks  = studentRequest.subjectsDetail.Sum(x => x.marks);
            decimal        percentage     = ObtainedMarks / totalMarks * 100;
            SubjectsDetail minSubject     = studentRequest.subjectsDetail[0];
            SubjectsDetail maxSubject     = studentRequest.subjectsDetail[0];

            for (int i = 1; i < studentRequest.subjectNum; i++)
            {
                if (studentRequest.subjectsDetail[i].marks < minSubject.marks)
                {
                    minSubject = studentRequest.subjectsDetail[i];
                }
                else if (studentRequest.subjectsDetail[i].marks > maxSubject.marks)
                {
                    maxSubject = studentRequest.subjectsDetail[i];
                }
            }
            ResponseData data = new ResponseData()
            {
                totalMarks    = totalMarks,
                ObtainedMarks = ObtainedMarks,
                percentage    = percentage,
                minSubject    = minSubject,
                maxSubject    = maxSubject,
            };
            string str = JsonConvert.SerializeObject(data);

            return(str);
        }
Ejemplo n.º 2
0
        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);
        }