示例#1
0
        /// <summary>
        /// core method for update city plan year
        /// </summary>
        /// <param name="viewModel">view model for city plan year</param>
        /// <returns></returns>
        private async Task <IActionResult> EditMethod(CityPlanYearEditViewModel viewModel)
        {
            var pageRouteVersion = _pageRouteVersionRepository.GetPageRouteVersionByPageType(PageTypeConsts.CityPlan);

            if (ModelState.IsValid)
            {
                var cityPlanYearVersionByCityPlanYearId = _cityPlanYearVersionRepository.GetByCityYearId(viewModel.CityPlanYearId ?? 0);
                var cityPlanYearVersionById             = _cityPlanYearVersionRepository.GetDetail(viewModel.Id);
                cityPlanYearVersionByCityPlanYearId = cityPlanYearVersionById == null ? cityPlanYearVersionByCityPlanYearId : cityPlanYearVersionById;
                var cityPlanYearVersionModel = viewModel.MapToCityPlanYearVersion();

                if (viewModel.EnFile != null)
                {
                    cityPlanYearVersionModel.EnFileUrl = _fileService.UploadFileUrlNew(viewModel.EnFile);
                }
                if (viewModel.ArFile != null)
                {
                    cityPlanYearVersionModel.ArFileUrl = _fileService.UploadFileUrlNew(viewModel.ArFile);
                }

                var user = await _userManager.GetUserAsync(HttpContext.User);

                if (cityPlanYearVersionByCityPlanYearId == null || cityPlanYearVersionModel.VersionStatusEnum == VersionStatusEnum.Approved || cityPlanYearVersionModel.VersionStatusEnum == VersionStatusEnum.Ignored)
                {
                    cityPlanYearVersionModel.CreatedById       = user.Id;
                    cityPlanYearVersionModel.CreationDate      = DateTime.Now;
                    cityPlanYearVersionModel.VersionStatusEnum = VersionStatusEnum.Draft;
                    cityPlanYearVersionModel.ChangeActionEnum  = ChangeActionEnum.Update;
                    cityPlanYearVersionModel.Id               = 0;
                    cityPlanYearVersionModel.CityPlanYearId   = viewModel.CityPlanYearId > 0 ? viewModel.CityPlanYearId : (int?)null;
                    pageRouteVersion.ContentVersionStatusEnum = VersionStatusEnum.Draft;
                    _cityPlanYearVersionRepository.Add(cityPlanYearVersionModel);
                    _pageRouteVersionRepository.Update(pageRouteVersion);
                    _toastNotification.AddSuccessToastMessage(ToasrMessages.EditSuccess);
                    _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Update, "Static Page > Citizen Plan > Year Plan > Edit", "Year Plan ID " + cityPlanYearVersionModel.CityPlanYearId);

                    return(RedirectToAction(nameof(Index), new { cityPlanVerId = cityPlanYearVersionModel.CityPlanVersionId }));
                }

                cityPlanYearVersionModel.Id = cityPlanYearVersionByCityPlanYearId != null ? cityPlanYearVersionByCityPlanYearId.Id : viewModel.Id;
                pageRouteVersion.ContentVersionStatusEnum = VersionStatusEnum.Draft;

                _cityPlanYearVersionRepository.Update(cityPlanYearVersionModel);
                _pageRouteVersionRepository.Update(pageRouteVersion);
                _toastNotification.AddSuccessToastMessage(ToasrMessages.EditSuccess);

                _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Update, "Static Page > Citizen Plan > Year Plan > Edit", "Year Plan ID " + cityPlanYearVersionModel.Id);

                return(RedirectToAction(nameof(Index), new { cityPlanVerId = cityPlanYearVersionModel.CityPlanVersionId }));
            }
            return(View(viewModel));
        }
示例#2
0
        /// <summary>
        /// Core method for create or edit a city plan object
        /// </summary>
        /// <param name="viewModel">city plan view model</param>
        /// <returns></returns>
        private async Task <IActionResult> EditMethod(CityPlanEditViewModel viewModel)
        {
            var pageRouteVersion = _pageRouteVersionRepository.GetPageRouteVersionByPageType(PageTypeConsts.CityPlan);

            if (ModelState.IsValid)
            {
                var cityPlanVersionByCityPlanId = _cityPlanVersionRepository.GetByCityId(viewModel.CityPlanId ?? 0);
                var cityPlanVersionById         = _cityPlanVersionRepository.GetDetail(viewModel.Id);
                cityPlanVersionByCityPlanId = cityPlanVersionById == null ? cityPlanVersionByCityPlanId : cityPlanVersionById;
                var cityPlanVersionModel = viewModel.MapToCityPlanVersion();

                var user = await _userManager.GetUserAsync(HttpContext.User);

                if (cityPlanVersionByCityPlanId == null || cityPlanVersionModel.VersionStatusEnum == VersionStatusEnum.Approved || cityPlanVersionModel.VersionStatusEnum == VersionStatusEnum.Ignored)
                {
                    cityPlanVersionModel.CreatedById       = user.Id;
                    cityPlanVersionModel.CreationDate      = DateTime.Now;
                    cityPlanVersionModel.VersionStatusEnum = VersionStatusEnum.Draft;
                    cityPlanVersionModel.ChangeActionEnum  = ChangeActionEnum.Update;
                    cityPlanVersionModel.Id                   = 0;
                    cityPlanVersionModel.CityPlanId           = viewModel.CityPlanId > 0 ? viewModel.CityPlanId : (int?)null;
                    pageRouteVersion.ContentVersionStatusEnum = VersionStatusEnum.Draft;

                    _cityPlanVersionRepository.Add(cityPlanVersionModel);
                    _pageRouteVersionRepository.Update(pageRouteVersion);
                    _toastNotification.AddSuccessToastMessage(ToasrMessages.EditSuccess);
                    return(RedirectToAction(nameof(Index)));
                }

                cityPlanVersionModel.Id = cityPlanVersionByCityPlanId != null ? cityPlanVersionByCityPlanId.Id : viewModel.Id;
                pageRouteVersion.ContentVersionStatusEnum = VersionStatusEnum.Draft;

                _cityPlanVersionRepository.Update(cityPlanVersionModel);
                _pageRouteVersionRepository.Update(pageRouteVersion);
                return(RedirectToAction(nameof(Index)));
            }
            return(View(viewModel));
        }
示例#3
0
        public async Task <IActionResult> Edit(EconomicIndicatorViewModel viewModel)
        {
            var pageRouteVersion = _pageRouteVersionRepository.GetPageRouteVersionByPageType(PageTypeConsts.EcnomicIndicators);

            viewModel.ImageDiscriptionAr1.ValidateHtml("ImageDiscriptionAr1", ModelState);
            viewModel.ImageDiscriptionAr2.ValidateHtml("ImageDiscriptionAr2", ModelState);
            viewModel.ImageDiscriptionAr3.ValidateHtml("ImageDiscriptionAr3", ModelState);

            ModelState.Remove(nameof(viewModel.ImageFile));

            var user = await _userManager.GetUserAsync(HttpContext.User);

            if (ModelState.IsValid)
            {
                var eiv            = _economicIndicatorVersionsRepository.GetByEcoIndiId(viewModel.Id);
                var ecoIndiVersion = viewModel.MapToEcoIndiVersionModel();

                if (eiv == null || viewModel.VersionStatusEnum == VersionStatusEnum.Approved || viewModel.VersionStatusEnum == VersionStatusEnum.Ignored)
                {
                    ecoIndiVersion.CreatedById       = user.Id;
                    ecoIndiVersion.CreationDate      = DateTime.Now;
                    ecoIndiVersion.VersionStatusEnum = VersionStatusEnum.Draft;
                    ecoIndiVersion.ChangeActionEnum  = ChangeActionEnum.Update;
                    ecoIndiVersion.Id = 0;
                    ecoIndiVersion.EconomicIndicatorsId       = viewModel.Id;
                    pageRouteVersion.ContentVersionStatusEnum = VersionStatusEnum.Draft;
                    if (viewModel.ImageFile != null)
                    {
                        if (viewModel.order == 1)
                        {
                            ecoIndiVersion.ImageUrl1 = _fileService.UploadImageUrlNew(viewModel.ImageFile);
                        }
                        if (viewModel.order == 2)
                        {
                            ecoIndiVersion.ImageUrl2 = _fileService.UploadImageUrlNew(viewModel.ImageFile);
                        }
                        if (viewModel.order == 3)
                        {
                            ecoIndiVersion.ImageUrl3 = _fileService.UploadImageUrlNew(viewModel.ImageFile);
                        }
                    }
                    _economicIndicatorVersionsRepository.Add(ecoIndiVersion);
                    _pageRouteVersionRepository.Update(pageRouteVersion);

                    _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Update, "Economic Indicators Static Page > Update", null);
                    return(RedirectToAction(nameof(Index)));
                }

                if (viewModel.ImageFile != null)
                {
                    if (viewModel.order == 1)
                    {
                        ecoIndiVersion.ImageUrl1 = _fileService.UploadImageUrlNew(viewModel.ImageFile);
                    }
                    if (viewModel.order == 2)
                    {
                        ecoIndiVersion.ImageUrl2 = _fileService.UploadImageUrlNew(viewModel.ImageFile);
                    }
                    if (viewModel.order == 3)
                    {
                        ecoIndiVersion.ImageUrl3 = _fileService.UploadImageUrlNew(viewModel.ImageFile);
                    }
                }

                ecoIndiVersion.CreationDate               = DateTime.Now;
                ecoIndiVersion.Id                         = eiv.Id;
                ecoIndiVersion.VersionStatusEnum          = VersionStatusEnum.Draft;
                ecoIndiVersion.ChangeActionEnum           = ChangeActionEnum.Update;
                ecoIndiVersion.ApprovalDate               = eiv.ApprovalDate;
                ecoIndiVersion.ApprovedById               = eiv.ApprovedById;
                ecoIndiVersion.CreatedById                = eiv.CreatedById;
                ecoIndiVersion.CreationDate               = eiv.CreationDate;
                ecoIndiVersion.ModificationDate           = eiv.ModificationDate;
                ecoIndiVersion.ModifiedById               = eiv.ModifiedById;
                ecoIndiVersion.EconomicIndicatorsId       = eiv.EconomicIndicatorsId;
                pageRouteVersion.ContentVersionStatusEnum = VersionStatusEnum.Draft;

                var update = _economicIndicatorVersionsRepository.Update(ecoIndiVersion);

                if (update)
                {
                    _toastNotification.AddSuccessToastMessage(ToasrMessages.EditSuccess);
                    _pageRouteVersionRepository.Update(pageRouteVersion);

                    _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Update, "Economic Indicators Static Page > Update", null);
                    return(RedirectToAction(nameof(Index)));
                }
                else
                {
                    _toastNotification.AddErrorToastMessage(ToasrMessages.warning);
                    ViewBag.order = viewModel.order;
                    _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Warning, "Economic Indicators Static Page > Update", null);
                    return(View(viewModel));
                }
            }
            ViewBag.order = viewModel.order;
            return(View(viewModel));
        }