private async Task <IActionResult> GetDetails(int id, int approvalId) { var user = await _userManager.GetUserAsync(HttpContext.User); var roles = await _userManager.GetRolesAsync(user); PageRouteVersion pageRouteVersion = _pageRouteVersionRepository.Get(id); var notification = _approvalNotificationsRepository.GetByPageNameAndChangeType(pageRouteVersion.EnName, ChangeType.BasicInfo); ViewBag.DisableEditFlage = false; if (notification != null && notification.VersionStatusEnum == VersionStatusEnum.Submitted) { ViewBag.DisableEditFlage = true; } if (pageRouteVersion == null || (roles.Contains(UserRolesConst.MediaCenterContentManager) && (pageRouteVersion.ControllerName != "News" && pageRouteVersion.ControllerName != "PhotoArchive" && pageRouteVersion.ControllerName != "EventCalendar"))) { return(NotFound()); } List <NavItem> navItems = _navItemRepository.Get().ToList(); PageRouteEditViewModel viewModel = new PageRouteEditViewModel(navItems); viewModel = pageRouteVersion.MapToPageRouteViewModel(viewModel); ViewBag.ApprovalId = approvalId; return(View(viewModel)); }
/// <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 IActionResult Index(int pageRouteVersionId, [FromQuery] int approvalId) { if (TempData[notificationMessageKey] != null) { switch (TempData[notificationTypeKey]) { case notificationSuccess: _toastNotification.AddSuccessToastMessage(TempData[notificationMessageKey].ToString()); break; case notificationWarning: _toastNotification.AddWarningToastMessage(TempData[notificationMessageKey].ToString()); break; case notificationError: _toastNotification.AddErrorToastMessage(TempData[notificationMessageKey].ToString()); break; } } PageRouteVersion pageRouteVersion = _pageRouteVersionRepository.Get(pageRouteVersionId); var notification = _approvalNotificationsRepository.GetByRelatedIdAndType(pageRouteVersion.Id, ChangeType.PageContent); ViewBag.DisableEditFlage = false; if (notification != null && notification.VersionStatusEnum == VersionStatusEnum.Submitted) { ViewBag.DisableEditFlage = true; } if (pageRouteVersion == null) { return(NotFound()); } ViewBag.DynamicPageName = pageRouteVersion.EnName; ViewBag.approvalId = approvalId; ViewBag.pageRouteVersionId = pageRouteVersionId; return(View(pageRouteVersion.Id)); }
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)); }