예제 #1
0
        public IActionResult AddEditArticle(long accidentId, long?criminalOffenceArticleId)
        {
            CriminalOffenceArticleViewModel articleViewModel;

            if (criminalOffenceArticleId == null)
            {
                articleViewModel = new CriminalOffenceArticleViewModel
                {
                    AccidentId = accidentId,
                    CriminalOffenceArticleEnum = null,
                };
            }
            else
            {
                var articleFromDb = criminalOffenceArticleRepository.Get((long)criminalOffenceArticleId);
                articleViewModel = mapper.Map <CriminalOffenceArticleViewModel>(articleFromDb);
            }

            articleViewModel.CriminalOffenceArticlesList = lifeService.GetSelectListFromEnum <CriminalCodeEnum>();
            return(View("~/Views/Life/AddEditArticle.cshtml", articleViewModel));
        }
예제 #2
0
        public IActionResult AddEditArticle(CriminalOffenceArticleViewModel articleViewModel)
        {
            articleViewModel.CriminalOffenceArticlesList = lifeService.GetSelectListFromEnum <CriminalCodeEnum>();
            if (!ModelState.IsValid)
            {
                return(View("~/Views/Life/AddEditArticle.cshtml", articleViewModel));
            }

            // validation for combination of properties
            if (articleViewModel.CriminalOffenceArticleEnum == CriminalCodeEnum.NotAvailable)
            {
                ModelState.AddModelError(String.Empty, "Пожалуйста, стоит все же подумать и выбрать статью кодекса");;
                return(View("~/Views/Life/AddEditArticle.cshtml", articleViewModel));
            }

            var article        = mapper.Map <CriminalOffenceArticle>(articleViewModel);
            var accidentFromDb = accidentRepository.Get(articleViewModel.AccidentId);

            article.Accident = accidentFromDb;

            criminalOffenceArticleRepository.Save(article);
            return(RedirectToAction("EditCriminalOffence", new { id = articleViewModel.AccidentId }));
        }