Example #1
0
        public IActionResult AddEditAccident(long id)
        {
            var accidentCategoryList = lifeService.GetSelectListFromEnum <AccidentCategoryEnum>();
            var accidentAddressList  = lifeService.GetSelectListOfAddressesFromDb();

            // view model for Add Accident
            var accidentViewModel = new AccidentViewModel()
            {
                Id                       = 0,
                AccidentDate             = DateTime.Now,
                AddressViewModel         = null,
                AccidentAddressText      = Dictionaries.NotAvailable,
                SelectedAccidentAddress  = 0,
                AccidentAddressList      = accidentAddressList,
                SelectedAccidentCategory = 0,
                AccidentCategoryList     = accidentCategoryList,
                AccidentDescription      = String.Empty,
            };

            if (id != 0)
            {
                // view model for Edit Accident
                var accidentFromDb = this.accidentRepository.Get(id);
                accidentViewModel = mapper.Map <AccidentViewModel>(accidentFromDb);

                accidentViewModel.AccidentAddressList  = accidentAddressList;
                accidentViewModel.AccidentCategoryList = accidentCategoryList;
            }

            return(PartialView("~/Views/Shared/Life/_AddEditAccident.cshtml", accidentViewModel));
        }
Example #2
0
        public IActionResult AddEditAccident(AccidentViewModel accidentViewModel)
        {
            accidentViewModel.AccidentCategoryList = lifeService.GetSelectListFromEnum <AccidentCategoryEnum>();
            accidentViewModel.AccidentAddressList  = lifeService.GetSelectListOfAddressesFromDb();

            // validation for combination of fields
            if (accidentViewModel.SelectedAccidentAddress == null && accidentViewModel.AccidentDescription == null)
            {
                ModelState.AddModelError(String.Empty, "Надо заполнить хотя бы одно из полей: адрес происшествия или описание");
                return(PartialView("~/Views/Shared/Life/_AddEditAccident.cshtml", accidentViewModel));
            }

            // validation for particular fields
            if (!ModelState.IsValid)
            {
                return(PartialView("~/Views/Shared/Life/_AddEditAccident.cshtml", accidentViewModel));
            }

            var accident = mapper.Map <Accident>(accidentViewModel);

            if (accidentViewModel.SelectedAccidentAddress != null)
            {
                var address = addressRepository.Get((long)accidentViewModel.SelectedAccidentAddress);
                accident.AccidentAddress = address;
            }

            accident.AccidentCategory = (AccidentCategoryEnum)accidentViewModel.SelectedAccidentCategory;
            accidentRepository.Save(accident);
            return(Json(new { success = true }));
        }