/// <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)); }
/// <summary> /// edit static page route /// </summary> /// <param name="pageRouteViewModel"></param> /// <param name="newVersionStatusEnum"></param> /// <param name="oldVersionStatusEnum"></param> /// <param name="changeActionEnum"></param> /// <param name="userId"></param> /// <param name="pageRoutVersionId"></param> /// <returns></returns> private IActionResult EditMethod(PageRouteEditViewModel pageRouteViewModel, VersionStatusEnum newVersionStatusEnum, VersionStatusEnum oldVersionStatusEnum, ChangeActionEnum changeActionEnum, string userId, out int pageRoutVersionId, bool fromSaveAndSubmit = false) { List <NavItem> navItems; if (!pageRouteViewModel.HasNavItem) { ModelState.Remove("NavItemId"); } PageRouteVersion pageRouteVersion = pageRouteViewModel.MapToPageRouteVersion(); if (ModelState.IsValid) { if (oldVersionStatusEnum == VersionStatusEnum.Approved || oldVersionStatusEnum == VersionStatusEnum.Ignored) { pageRouteVersion.CreatedById = userId; pageRouteVersion.CreationDate = DateTime.Now; pageRouteVersion.VersionStatusEnum = newVersionStatusEnum; pageRouteVersion.ChangeActionEnum = changeActionEnum; pageRouteVersion.Id = 0; _pageRouteVersionRepository.AddStaticPage(pageRouteVersion); pageRoutVersionId = pageRouteVersion.Id; if (!fromSaveAndSubmit) { _toastNotification.AddSuccessToastMessage(ToasrMessages.EditSuccess); } _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Add, "Definitions > Static Pages > Add", pageRouteViewModel.EnName); return(RedirectToAction(nameof(Index))); } PageRouteVersion newPageRouteVersion = _pageRouteVersionRepository.Update(pageRouteVersion); if (newPageRouteVersion != null) { if (!fromSaveAndSubmit) { _toastNotification.AddSuccessToastMessage(ToasrMessages.EditSuccess); } _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Update, "Definitions > Static Pages > Edit", pageRouteViewModel.EnName); pageRoutVersionId = pageRouteVersion.Id; return(RedirectToAction(nameof(Index))); } else { _toastNotification.AddErrorToastMessage(ToasrMessages.warning); navItems = _navItemRepository.Get().ToList(); pageRouteViewModel.NavItems = navItems; pageRoutVersionId = pageRouteVersion.Id; _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Warning, "Definitions > Static Pages > Edit", pageRouteViewModel.EnName); return(View(pageRouteViewModel)); } } navItems = _navItemRepository.Get().ToList(); pageRouteViewModel.NavItems = navItems; pageRoutVersionId = pageRouteVersion.Id; return(View(pageRouteViewModel)); }
/// <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)); }
public async Task <IActionResult> Ignore(int id, [FromQuery] int approvalId) { var prv = _pageRouteVersionRepository.Get(id); if (prv.PageRouteId == null) { _toastNotification.AddErrorToastMessage("you must approve basic info first."); _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Warning, "Dynamic Page > " + ViewBag.DynamicPageName + " > Sections > Approve", "you must approve basic info first."); } else { UpdatePageRouteVersionStatus(prv, VersionStatusEnum.Ignored); var approvalItem = _approvalNotificationsRepository.GetById(approvalId); prv.VersionStatusEnum = VersionStatusEnum.Ignored; if (prv.ChangeActionEnum == ChangeActionEnum.New) { prv.VersionStatusEnum = VersionStatusEnum.Approved; } var user = await _userManager.GetUserAsync(HttpContext.User); _pageRouteVersionRepository.Update(prv); if (approvalItem == null) { _toastNotification.AddWarningToastMessage("This Notification Has Been Deleted"); return(RedirectToAction("Index", "ApprovalNotifications")); } approvalItem.VersionStatusEnum = VersionStatusEnum.Ignored; approvalItem.ChangesDateTime = DateTime.Now; _approvalNotificationsRepository.Update(approvalItem); _toastNotification.AddSuccessToastMessage(ToasrMessages.IgnoreSuccess); _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Reject, "Dynamic Page > " + ViewBag.DynamicPageName + " > Sections > Reject", "Rejected"); } return(RedirectToAction("Index", "ApprovalNotifications")); }
/// <summary> /// save and submit changes for the approval user /// </summary> /// <param name="changeActionEnum"></param> /// <param name="relatedId">related object id in notification</param> /// <returns></returns> private async Task SaveAndSubmitMethod(ChangeActionEnum changeActionEnum, int relatedId) { var pageRouteVer = _pageRouteVersionRepository.Get(relatedId); var frv = _formerMinistriesPageInfoVersionRepository.Get(); var user = await _userManager.GetUserAsync(HttpContext.User); if (frv.VersionStatusEnum != VersionStatusEnum.Submitted) { frv.VersionStatusEnum = VersionStatusEnum.Submitted; pageRouteVer.ContentVersionStatusEnum = VersionStatusEnum.Submitted; _pageRouteVersionRepository.Update(pageRouteVer); _formerMinistriesPageInfoVersionRepository.Update(frv); var ministries = _ministryTimeLineVersionsRepository.GetAllByPageInfo(frv); SubmitMethod(user, changeActionEnum, relatedId); } _toastNotification.AddSuccessToastMessage(ToasrMessages.SubmitSuccess); _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Submitted, "Static Page > Former Ministries", "Submitted "); if (!frv.MinistryTimeLineVersions.Any()) { CopyMinistries(frv); } }
public async Task <IActionResult> Edit(EgyptVisionVersionEditViewModel ViewModel) { var pageRouteVer = _pageRouteVersionRepository.Get(ViewModel.PageRouteVersionId); ViewModel.EnEgyptVisionDesc.ValidateHtml("EnEgyptVisionDesc", ModelState); ViewModel.ArEgyptVisionDesc.ValidateHtml("ArEgyptVisionDesc", ModelState); var user = await _userManager.GetUserAsync(HttpContext.User); if (ModelState.IsValid) { var evv = _egyptVisionVersionRepository.GetByEgyptVisionId(ViewModel.Id); var egyptVisionVersion = ViewModel.MapToEgyptVisionVersionModel(); if (evv == null || ViewModel.VersionStatusEnum == VersionStatusEnum.Approved || ViewModel.VersionStatusEnum == VersionStatusEnum.Ignored) { egyptVisionVersion.CreatedById = user.Id; egyptVisionVersion.CreationDate = DateTime.Now; egyptVisionVersion.VersionStatusEnum = VersionStatusEnum.Draft; pageRouteVer.ContentVersionStatusEnum = VersionStatusEnum.Draft; egyptVisionVersion.ChangeActionEnum = ChangeActionEnum.Update; egyptVisionVersion.Id = 0; egyptVisionVersion.EgyptVisionId = ViewModel.Id; if (ViewModel.EnImageFile != null) { egyptVisionVersion.EnImagePath = _fileService.UploadImageUrlNew(ViewModel.EnImageFile); } if (ViewModel.ArImageFile != null) { egyptVisionVersion.ArImagePath = _fileService.UploadImageUrlNew(ViewModel.ArImageFile); } _egyptVisionVersionRepository.Add(egyptVisionVersion); _pageRouteVersionRepository.Update(pageRouteVer); _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Update, "Static Page > Page Egypt Vision > Edit", ViewModel.EnEgyptVisionName); return(RedirectToAction(nameof(Index), new { id = pageRouteVer.Id })); } if (ViewModel.EnImageFile != null) { egyptVisionVersion.EnImagePath = _fileService.UploadImageUrlNew(ViewModel.EnImageFile); } if (ViewModel.ArImageFile != null) { egyptVisionVersion.ArImagePath = _fileService.UploadImageUrlNew(ViewModel.ArImageFile); } egyptVisionVersion.CreationDate = DateTime.Now; egyptVisionVersion.Id = evv.Id; egyptVisionVersion.VersionStatusEnum = VersionStatusEnum.Draft; pageRouteVer.ContentVersionStatusEnum = VersionStatusEnum.Draft; egyptVisionVersion.ChangeActionEnum = ChangeActionEnum.Update; egyptVisionVersion.ApprovalDate = evv.ApprovalDate; egyptVisionVersion.ApprovedById = evv.ApprovedById; egyptVisionVersion.CreatedById = evv.CreatedById; egyptVisionVersion.CreationDate = evv.CreationDate; egyptVisionVersion.ModificationDate = evv.ModificationDate; egyptVisionVersion.ModifiedById = evv.ModifiedById; egyptVisionVersion.StatusId = evv.StatusId; egyptVisionVersion.EgyptVisionId = evv.EgyptVisionId; _pageRouteVersionRepository.Update(pageRouteVer); var update = _egyptVisionVersionRepository.Update(egyptVisionVersion); if (update) { _toastNotification.AddSuccessToastMessage(ToasrMessages.EditSuccess); _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Update, "Static Page > Page Egypt Vision > Edit", ViewModel.EnEgyptVisionName); return(RedirectToAction(nameof(Index), new { id = pageRouteVer.Id })); } else { _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Warning, "Static Page > Page Egypt Vision > Warning in Edit", ViewModel.EnEgyptVisionName); _toastNotification.AddErrorToastMessage(ToasrMessages.warning); return(View(ViewModel)); } } return(View(ViewModel)); }
public async Task <IActionResult> Edit(PageMinistryEditViewModel viewModel) { var pageRouteVer = _pageRouteVersionRepository.GetByPageRoute((int)viewModel.PageRouteId); if (ModelState.IsValid) { var pageMinistryVersion = _pageMinistryVersionsRepository.GetByPageMinistryId(viewModel.Id); var pageMinistryVersionModel = viewModel.MapToPageMinistryVersion(); var user = await _userManager.GetUserAsync(HttpContext.User); if (viewModel.Id == (int)PageMinistryEnum.MinistrySocialId) { pageMinistryVersionModel.EnContent = "Twitter;" + viewModel.Twitter + "," + "Instagram;" + viewModel.Instagram + "," + "Globe;" + viewModel.Globe; } else { pageMinistryVersionModel.EnContent = viewModel.EnContent; } if (pageMinistryVersion == null || pageMinistryVersionModel.VersionStatusEnum == VersionStatusEnum.Approved || pageMinistryVersionModel.VersionStatusEnum == VersionStatusEnum.Ignored) { pageMinistryVersionModel.CreatedById = user.Id; pageMinistryVersionModel.CreationDate = DateTime.Now; pageMinistryVersionModel.VersionStatusEnum = VersionStatusEnum.Draft; pageRouteVer.ContentVersionStatusEnum = VersionStatusEnum.Draft; pageMinistryVersionModel.ChangeActionEnum = ChangeActionEnum.Update; pageMinistryVersionModel.Id = 0; pageMinistryVersionModel.PageMinistryId = viewModel.Id; pageMinistryVersionModel.NavItemId = viewModel.PageRouteId; pageMinistryVersionModel.StatusId = (int)RequestStatus.Approved; if (viewModel.ImageFile != null) { pageMinistryVersionModel.ImageUrl = _fileService.UploadImageUrlNew(viewModel.ImageFile); } if (viewModel.EnImageFile != null) { pageMinistryVersionModel.EnImageUrl = _fileService.UploadImageUrlNew(viewModel.EnImageFile); } _pageMinistryVersionsRepository.Add(pageMinistryVersionModel); _pageRouteVersionRepository.Update(pageRouteVer); _toastNotification.AddSuccessToastMessage(ToasrMessages.EditSuccess); _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Update, "Static Page > Page Ministry > Edit", viewModel.EnName); return(RedirectToAction(nameof(Index), new { id = pageRouteVer.Id, pageRouteId = viewModel.PageRouteId })); } pageMinistryVersionModel.CreationDate = DateTime.Now; pageMinistryVersionModel.NavItemId = viewModel.PageRouteId; pageMinistryVersionModel.StatusId = (int)RequestStatus.Approved; pageMinistryVersionModel.Id = pageMinistryVersion.Id; pageMinistryVersionModel.VersionStatusEnum = VersionStatusEnum.Draft; pageRouteVer.ContentVersionStatusEnum = VersionStatusEnum.Draft; pageMinistryVersionModel.ApprovalDate = pageMinistryVersion.ApprovalDate; pageMinistryVersionModel.ApprovedById = pageMinistryVersion.ApprovedById; pageMinistryVersionModel.CreatedById = pageMinistryVersion.CreatedById; pageMinistryVersionModel.CreationDate = pageMinistryVersion.CreationDate; pageMinistryVersionModel.ChangeActionEnum = ChangeActionEnum.Update; if (viewModel.ImageFile != null) { pageMinistryVersionModel.ImageUrl = _fileService.UploadImageUrlNew(viewModel.ImageFile); } if (viewModel.EnImageFile != null) { pageMinistryVersionModel.EnImageUrl = _fileService.UploadImageUrlNew(viewModel.EnImageFile); } var newSectionCardVersion = _pageMinistryVersionsRepository.Update(pageMinistryVersionModel); _pageRouteVersionRepository.Update(pageRouteVer); if (newSectionCardVersion != null) { _toastNotification.AddSuccessToastMessage(ToasrMessages.EditSuccess); _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Update, "Static Page > Page Ministry > Edit", viewModel.EnName); return(RedirectToAction(nameof(Index), new { id = pageRouteVer.Id, pageRouteId = pageMinistryVersion.PageRouteId })); } else { _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Warning, "Static Page > Page Ministry > Edit", viewModel.EnName); _toastNotification.AddErrorToastMessage(ToasrMessages.warning); } } return(View(viewModel)); }
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)); }