public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AdmissionViewModel model = (AdmissionViewModel)service.Get(id);

            if (model != null)
            {
                model.RoleList = new SelectList(new List <StatusForList> {
                    new StatusForList {
                        Key     = "Сотрудник",
                        Display = "Сотрудник"
                    },
                    new StatusForList {
                        Key     = "Студент",
                        Display = "Студент"
                    }
                },
                                                "Key", "Display");
                return(View(model));
            }
            return(HttpNotFound());
        }
コード例 #2
0
        public ActionResult Create(AdmissionViewModel admissionViewModel)
        {
            var organisationId   = UserOrganisationId;
            var centreId         = UserCentreId;
            var personnelId      = UserPersonnelId;
            var registrationData = NidanBusinessService.RetrieveRegistration(organisationId, admissionViewModel.Admission.RegistrationId);
            var enquiryId        = registrationData.EnquiryId;
            var enquiryData      = NidanBusinessService.RetrieveEnquiry(organisationId, enquiryId);

            if (ModelState.IsValid)
            {
                admissionViewModel.Admission = NidanBusinessService.CreateAdmission(organisationId, centreId, personnelId, admissionViewModel.Admission, admissionViewModel.CandidateFee);
                // Create Personnel
                var personnel = Personnel(organisationId, enquiryData);
                admissionViewModel.Admission.PersonnelId  = personnel.PersonnelId;
                admissionViewModel.Admission.Batch        = null;
                admissionViewModel.Admission.Registration = null;
                admissionViewModel.Admission.CreatedBy    = personnelId;
                NidanBusinessService.UpdateAdmission(organisationId, centreId, personnelId, admissionViewModel.Admission);
                CreateCandidateUserAndRole(personnel);
                return(RedirectToAction("Index"));
            }
            admissionViewModel.Courses            = new SelectList(NidanBusinessService.RetrieveCourses(organisationId, e => true).ToList(), "CourseId", "Name");
            admissionViewModel.PaymentModes       = new SelectList(NidanBusinessService.RetrievePaymentModes(organisationId, e => true).ToList(), "PaymentModeId", "Name");
            admissionViewModel.Schemes            = new SelectList(NidanBusinessService.RetrieveSchemes(organisationId, e => true).ToList(), "SchemeId", "Name");
            admissionViewModel.Sectors            = new SelectList(NidanBusinessService.RetrieveSectors(organisationId, e => true).ToList(), "SectorId", "Name");
            admissionViewModel.BatchTimePrefers   = new SelectList(NidanBusinessService.RetrieveBatchTimePrefers(organisationId, e => true).ToList(), "BatchTimePreferId", "Name");
            admissionViewModel.Batches            = new SelectList(NidanBusinessService.RetrieveBatches(organisationId, e => e.CourseId == registrationData.CourseId).ToList(), "BatchId", "Name");
            admissionViewModel.Rooms              = new SelectList(NidanBusinessService.RetrieveRooms(organisationId, e => e.CentreId == UserCentreId).ToList(), "RoomId", "Description");
            admissionViewModel.CourseInstallments = new SelectList(NidanBusinessService.RetrieveCourseInstallments(organisationId, e => true).ToList());
            return(View(admissionViewModel));
        }
コード例 #3
0
        // GET: Admission/View/{id}
        public ActionResult View(int?id)
        {
            bool isSuperAdmin = User.IsInAnyRoles("SuperAdmin");

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var organisationId = UserOrganisationId;
            var centreId       = UserCentreId;
            var admission      = !isSuperAdmin?NidanBusinessService.RetrieveAdmission(organisationId, centreId, id.Value) :
                                     NidanBusinessService.RetrieveAdmission(organisationId, id.Value, e => true);

            var admissionGrid           = _nidanBusinessService.RetrieveAdmissionGrid(organisationId, id.Value, e => true);
            var candidateFee            = _nidanBusinessService.RetrieveCandidateFees(organisationId, e => e.StudentCode == admissionGrid.StudentCode && (e.FeeTypeId == 1 || e.FeeTypeId == 6));
            var totalRegistrationAmount = candidateFee.Items.Sum(e => e.PaidAmount);

            if (admission == null)
            {
                return(HttpNotFound());
            }
            var viewModel = new AdmissionViewModel
            {
                Admission  = admission,
                PaidAmount = admissionGrid.PaidAmount.Value,
                TotalRegistrationAmount = totalRegistrationAmount.Value
            };

            return(View(viewModel));
        }
 public ActionResult Create(AdmissionViewModel model)
 {
     if (string.IsNullOrEmpty(model.Description))
     {
         ModelState.AddModelError("Description", "Описание должно быть заполнено");
     }
     if (string.IsNullOrEmpty(model.Role))
     {
         ModelState.AddModelError("Role", "Выберите роль");
     }
     if (ModelState.IsValid)
     {
         service.Create(new Admission
         {
             Description = model.Description,
             Role        = model.Role
         });
         return(RedirectToAction("Index", "Admission"));
     }
     else
     {
         model.RoleList = new SelectList(new List <StatusForList> {
             new StatusForList {
                 Key     = "Сотрудник",
                 Display = "Сотрудник"
             },
             new StatusForList {
                 Key     = "Студент",
                 Display = "Студент"
             }
         },
                                         "Key", "Display");
         return(View(model));
     }
 }
コード例 #5
0
        // GET: Administrator/Admission
        public ActionResult Index()
        {
            AdmissionViewModel admissionViewModel = new AdmissionViewModel
            {
                Admissions = service.GetAdmissons()
            };

            return(View(admissionViewModel));
        }
コード例 #6
0
        public async Task <ActionResult> Index()
        {
            AdmissionViewModel admissionViewModel = new AdmissionViewModel
            {
                Admissions = await service.GetAdmissons()
            };

            return(View(admissionViewModel));
        }
コード例 #7
0
        public ActionResult Create(int?id)
        {
            var organisationId          = UserOrganisationId;
            var schemes                 = NidanBusinessService.RetrieveSchemes(organisationId, e => true);
            var sectors                 = NidanBusinessService.RetrieveSectors(organisationId, e => true);
            var courses                 = NidanBusinessService.RetrieveCourses(organisationId, e => true);
            var paymentModes            = NidanBusinessService.RetrievePaymentModes(organisationId, e => true);
            var batchTimePrefers        = NidanBusinessService.RetrieveBatchTimePrefers(organisationId, e => true);
            var rooms                   = NidanBusinessService.RetrieveRooms(organisationId, e => e.CentreId == UserCentreId);
            var courseInstallments      = NidanBusinessService.RetrieveCourseInstallments(organisationId, e => true);
            var registration            = NidanBusinessService.RetrieveRegistration(organisationId, id.Value);
            var batches                 = NidanBusinessService.RetrieveBatches(organisationId, e => e.CentreId == UserCentreId).Where(e => e.CourseId == registration.CourseId);
            var candidateFee            = _nidanBusinessService.RetrieveCandidateFees(organisationId, e => e.StudentCode == registration.StudentCode);
            var totalRegistrationAmount = candidateFee.Items.Where(e => e.FeeTypeId == 1 || e.FeeTypeId == 6).Sum(e => e.PaidAmount);

            registration.CandidateInstallment.DownPayment = registration.CandidateInstallment.DownPayment <= totalRegistrationAmount
                                                            ? 0 : (registration.CandidateInstallment.DownPayment - totalRegistrationAmount);
            var viewModel = new AdmissionViewModel
            {
                LumpsumAfterRegistration = registration.CandidateInstallment.LumpsumAmount - totalRegistrationAmount,
                Course = new Course {
                    Name = "Test"
                },
                CourseInstallment = new CourseInstallment {
                    Name = "Test"
                },
                Batch = new Batch {
                    Name = "Test"
                },
                BatchDay = new BatchDay {
                    BatchDayId = 0
                },
                Registration            = registration,
                RegistrationId          = id.Value,
                PaymentModes            = new SelectList(paymentModes, "PaymentModeId", "Name"),
                Schemes                 = new SelectList(schemes, "SchemeId", "Name"),
                Sectors                 = new SelectList(sectors, "SectorId", "Name"),
                Courses                 = new SelectList(courses, "CourseId", "Name"),
                BatchTimePrefers        = new SelectList(batchTimePrefers, "BatchTimePreferId", "Name"),
                Batches                 = new SelectList(batches, "BatchId", "Name"),
                Rooms                   = new SelectList(rooms, "RoomId", "Description"),
                CourseInstallments      = new SelectList(courseInstallments, "CourseInstallmentId", "Name"),
                TotalRegistrationAmount = totalRegistrationAmount.Value,
                Admission               = new Admission()
                {
                    Registration   = registration,
                    RegistrationId = id.Value
                }
            };

            viewModel.TitleList    = new SelectList(viewModel.TitleType, "Value", "Name");
            viewModel.DiscountList = new SelectList(viewModel.DiscountType, "Id", "Name");
            return(View(viewModel));
        }
コード例 #8
0
        // GET: Admission/Edit/{id}
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var organisationId = UserOrganisationId;
            var centreId       = UserCentreId;
            var admission      = NidanBusinessService.RetrieveAdmission(organisationId, centreId, id.Value);


            if (admission == null)
            {
                return(HttpNotFound());
            }
            var candidateFeeByAdmission = NidanBusinessService.RetrieveCandidateFees(organisationId, e => e.StudentCode == admission.Registration.StudentCode && e.FeeTypeId == (int)Business.Enum.FeeType.Admission).Items.FirstOrDefault();

            var viewModel = new AdmissionViewModel
            {
                Course = new Course()
                {
                    Name = "Test"
                },
                CourseInstallment = new CourseInstallment()
                {
                    Name = "Test"
                },
                Batch = new Batch()
                {
                    Name = "Test"
                },
                Registration       = admission.Registration,
                RegistrationId     = admission.RegistrationId,
                Admission          = admission,
                CandidateFee       = candidateFeeByAdmission ?? admission.Registration.CandidateFee,
                Courses            = new SelectList(NidanBusinessService.RetrieveCourses(organisationId, e => true).ToList(), "CourseId", "Name"),
                PaymentModes       = new SelectList(NidanBusinessService.RetrievePaymentModes(organisationId, e => true).ToList(), "PaymentModeId", "Name"),
                Schemes            = new SelectList(NidanBusinessService.RetrieveSchemes(organisationId, e => true).ToList(), "SchemeId", "Name"),
                Sectors            = new SelectList(NidanBusinessService.RetrieveSectors(organisationId, e => true).ToList(), "SectorId", "Name"),
                BatchTimePrefers   = new SelectList(NidanBusinessService.RetrieveBatchTimePrefers(organisationId, e => true).ToList(), "BatchTimePreferId", "Name"),
                Batches            = new SelectList(NidanBusinessService.RetrieveBatches(organisationId, e => true).ToList(), "BatchId", "Name"),
                Rooms              = new SelectList(NidanBusinessService.RetrieveRooms(organisationId, e => e.CentreId == UserCentreId).ToList(), "RoomId", "Description"),
                CourseInstallments = new SelectList(NidanBusinessService.RetrieveCourseInstallments(organisationId, e => true).ToList(), "CourseInstallmentId", "Name")
            };

            viewModel.TitleList    = new SelectList(viewModel.TitleType, "Value", "Name");
            viewModel.DiscountList = new SelectList(viewModel.DiscountType, "Id", "Name");
            return(View(viewModel));
        }
コード例 #9
0
        private async void EditRecord()
        {
            AdmissionViewModel admission   = databaseView.SelectedItem as AdmissionViewModel;
            string             textToTitle = "Edytowany rekord: " + admission.PrimaryKey;
            EditRecordDialog   dialog      = new EditRecordDialog(RosterViewModel.ColumnNames, RosterViewModel.ColumnTypes, textToTitle,
                                                                  RosterViewModel.EnumTypes);
            ContentDialogResult dialogResult = await dialog.ShowAsync();

            if (dialogResult == ContentDialogResult.Primary && !string.IsNullOrEmpty(dialog.Result))
            {
                string result      = dialog.Result;
                string fieldToEdit = dialog.FieldToUpdate;
                await RosterViewModel.UpdateRecordAsync("Przyjecia", admission, fieldToEdit, result);
            }
        }
        public void Create_Valid()
        {
            //Arrange
            AdmissionViewModel model = new AdmissionViewModel()
            {
                Description = "test",
                Role        = "test"
            };

            //Act
            var result = (RedirectToRouteResult)controllerWEB.Create(model);

            //Assert
            Assert.AreEqual("Index", result.RouteValues["action"]);
        }
        public void Edit_Invalid()
        {
            //Arrange
            AdmissionViewModel model = new AdmissionViewModel()
            {
            };

            controllerWEB.ModelState.AddModelError("Error", "Что-то пошло не так");

            //Act
            var result = (ViewResult)controllerWEB.Edit(model);

            //Assert
            Assert.AreEqual("", result.ViewName);
        }
        public void Create_Invalid()
        {
            // Arrange
            AdmissionViewModel model = new AdmissionViewModel()
            {
                Description = "test",
                Role        = "test"
            };

            controllerWEB.ModelState.AddModelError("Error", "Что-то пошло не так");

            //Act
            var result = (ViewResult)controllerWEB.Create(model);

            //Assert
            Assert.AreEqual("", result.ViewName);
        }
コード例 #13
0
        public ActionResult Add()
        {
            var viewmodel = new AdmissionViewModel(baseviewmodel);

            viewmodel.schools = new[] { new SelectListItem()
                                        {
                                            Text = "Select school ...", Value = ""
                                        } }.Union(
                db.schools
                .OrderBy(x => x.id)
                .Select(x => new SelectListItem()
            {
                Text  = x.name,
                Value = x.id.ToString()
            }));

            return(View(viewmodel));
        }
コード例 #14
0
        public ActionResult OtherFee(AdmissionViewModel admissionViewModel)
        {
            var organisationId = UserOrganisationId;
            var centreId       = UserCentreId;
            var personnelId    = UserPersonnelId;

            if (ModelState.IsValid)
            {
                admissionViewModel.Registration.EnquiryId              = admissionViewModel.EnquiryId;
                admissionViewModel.CandidateFee.CentreId               = centreId;
                admissionViewModel.CandidateFee.PersonnelId            = personnelId;
                admissionViewModel.CandidateFee.CandidateInstallmentId = admissionViewModel.Registration.CandidateInstallmentId;
                admissionViewModel.CandidateFee.StudentCode            = admissionViewModel.Registration.StudentCode;
                admissionViewModel.CandidateFee = _nidanBusinessService.CreateCandidateFee(organisationId, admissionViewModel.CandidateFee);
                return(RedirectToAction("Index"));
            }
            return(View());
        }
        public ActionResult Create()
        {
            AdmissionViewModel model = new AdmissionViewModel
            {
                RoleList = new SelectList(new List <StatusForList> {
                    new StatusForList {
                        Key     = "Сотрудник",
                        Display = "Сотрудник"
                    },
                    new StatusForList {
                        Key     = "Студент",
                        Display = "Студент"
                    }
                },
                                          "Key", "Display")
            };

            return(View(model));
        }
コード例 #16
0
        public IActionResult Index()
        {
            var admissionViewModel            = new AdmissionViewModel();
            var patientTypes                  = new List <SelectListItem>();
            var admissionPadiatricandNeonates = new List <PadiatricandNeonateViewModel>();

            admissionPadiatricandNeonates.AddRange(clinicRepo.GetAdmissionPadiatricandNeonates().ToList().Select(ap => new PadiatricandNeonateViewModel {
                Name = ap.Name, Id = ap.Id
            }));
            foreach (var item in clinicRepo.GetPatientType().ToList())
            {
                patientTypes.Add(new SelectListItem {
                    Value = item.Id.ToString(), Text = item.Name
                });
            }
            admissionViewModel.PatientSubType       = patientTypes;
            admissionViewModel.PatientTypes         = patientTypes;
            admissionViewModel.PadiatricandNeonates = admissionPadiatricandNeonates;
            return(View(admissionViewModel));
        }
コード例 #17
0
        // GET: Admission/OtherFee/{id}
        public ActionResult OtherFee(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var organisationId = UserOrganisationId;
            var centreId       = UserCentreId;
            var admission      = _nidanBusinessService.RetrieveAdmission(organisationId, centreId, id.Value);
            var registration   = _nidanBusinessService.RetrieveRegistration(organisationId, centreId, admission.RegistrationId);
            var paymentModes   = _nidanBusinessService.RetrievePaymentModes(organisationId, e => true);
            var feeTypes       = _nidanBusinessService.RetrieveFeeTypes(organisationId, e => e.FeeTypeId == 5 || e.FeeTypeId == 8);
            var admissionGrid  = _nidanBusinessService.RetrieveAdmissionGrid(organisationId, e => e.AdmissionId == id.Value).Items.FirstOrDefault();

            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 counsellingData     = NidanBusinessService.RetrieveCounsellings(organisationId, e => e.EnquiryId == enquiry.EnquiryId).Items.FirstOrDefault();
            var counsellingCourse   = NidanBusinessService.RetrieveCourses(organisationId, e => true).Where(e => e.CourseId == counsellingData?.CourseOfferedId);
            var viewModel           = new AdmissionViewModel()
            {
                PaymentModes           = new SelectList(paymentModes, "PaymentModeId", "Name"),
                Courses                = new SelectList(courses, "CourseId", "Name"),
                EnquiryId              = enquiry.EnquiryId,
                Registration           = registration,
                CounsellingCourse      = new SelectList(counsellingCourse, "CourseId", "Name"),
                FeeTypes               = new SelectList(feeTypes, "FeeTypeId", "Name"),
                Enquiry                = enquiry,
                Course                 = registration.Course,
                CandidateInstallment   = registration.CandidateInstallment,
                CourseInstallment      = registration.CourseInstallment,
                PaidAmount             = admissionGrid.PaidAmount.Value,
                CandidateInstallmentId = registration.CandidateInstallmentId
            };

            return(View(viewModel));
        }
コード例 #18
0
        public ActionResult AssignBatch(AdmissionViewModel admissionViewModel)
        {
            var organisationId = UserOrganisationId;
            var centreId       = UserCentreId;
            var personnelId    = UserPersonnelId;

            if (ModelState.IsValid)
            {
                admissionViewModel.Admission.OrganisationId = organisationId;
                admissionViewModel.Admission.CentreId       = centreId;
                admissionViewModel.Admission.PersonnelId    = personnelId;
                admissionViewModel.Admission.CreatedBy      = personnelId;
                NidanBusinessService.AssignBatch(organisationId, centreId, personnelId, admissionViewModel.Admission);
                return(RedirectToAction("Index"));
            }
            var viewModel = new AdmissionViewModel
            {
                Admission = admissionViewModel.Admission
            };

            return(View(viewModel));
        }
コード例 #19
0
        public IActionResult Index(AdmissionViewModel model)
        {
            if (ModelState.IsValid)
            {
                Admission newadmission = new Admission
                {
                    AdmissionRequestNumber = model.AdmissionRequestNumber,
                    AddminssionTime        = model.AddminssionTime,
                    AdmittingDoctor        = model.AdmittingDoctor,
                    ERAdmission            = model.ERAdmission,
                    Total                 = model.Total,
                    MedicalIsolation      = model.MedicalIsolation,
                    ServiceAdviced        = model.ServiceAdviced,
                    MobileNumber          = model.MobileNumber,
                    SpecialInstructions   = model.SpecialInstructions,
                    RegistrationNumber    = model.RegistrationNumber,
                    EstimatedLengthOfDays = model.EstimatedLengthOfDays,
                    Bed = new Bed {
                        BedNumber = model.Bed.BedNumber, Room = model.Bed.Room, Ward = model.Bed.Ward, BedBillingClass = model.Bed.BedBillingClass, RoomType = model.Bed.RoomType
                    },
                    //PatientSubType = model.PatientSubType,
                    PatientType = new PatientType {
                        Id = model.SelectedPatienType
                    },
                    PatientSubType = new PatientType {
                        Id = model.SelectedPatienSubType
                    },
                    HasPatientMobile = model.HasPatientMobile,
                    Remarks          = model.Remarks,
                    TrafficScheme    = model.TrafficScheme,
                    DoctorInCharge   = model.DoctorInCharge
                };

                clinicRepo.AddAdmission(newadmission);
                return(RedirectToAction("Index"));
            }
            return(RedirectToAction("Index"));
        }