// GET: Registration/Edit/{id} public ActionResult View(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var organisationId = UserOrganisationId; var centreId = UserCentreId; var registration = _nidanBusinessService.RetrieveRegistration(organisationId, id.Value); var paymentModes = _nidanBusinessService.RetrievePaymentModes(organisationId, e => true); var batchTimePrefers = _nidanBusinessService.RetrieveBatchTimePrefers(organisationId, e => true); var courseInstallments = _nidanBusinessService.RetrieveCourseInstallments(organisationId, centreId); var candidateFeeData = _nidanBusinessService.RetrieveCandidateFees(organisationId, e => e.CandidateInstallmentId == registration.CandidateInstallmentId); var paidAmount = candidateFeeData.Items.Where(e => e.FeeTypeId == 1 || e.FeeTypeId == 6).Sum(e => e.PaidAmount); if (registration == null) { return(HttpNotFound()); } var interestedCourseIds = registration.Enquiry.EnquiryCourses.Select(e => e.CourseId).ToList(); var courses = _nidanBusinessService.RetrieveCourses(organisationId, p => true).Where(e => interestedCourseIds.Contains(e.CourseId)); var enquiry = _nidanBusinessService.RetrieveEnquiry(organisationId, registration.EnquiryId); var viewModel = new RegistrationViewModel() { PaymentModes = new SelectList(paymentModes, "PaymentModeId", "Name"), Courses = new SelectList(courses, "CourseId", "Name"), BatchTimePrefers = new SelectList(batchTimePrefers, "BatchTimePreferId", "Name"), EnquiryId = enquiry.EnquiryId, Registration = registration, CourseInstallments = new SelectList(courseInstallments, "CourseInstallmentId", "Name"), PaidAmount = paidAmount.Value }; return(View(viewModel)); }