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> /// get DP details /// </summary> /// <param name="id"></param> /// <param name="approvalId"></param> /// <returns></returns> private async Task <IActionResult> GetDetails(int id, int approvalId) { var user = await _userManager.GetUserAsync(HttpContext.User); var role = (await _userManager.GetRolesAsync(user).ConfigureAwait(false)).FirstOrDefault(); PageRouteVersion pageRouteVersion = _pageRouteVersionRepository.GetWithNoTracking(id); if (pageRouteVersion.VersionStatusEnum == VersionStatusEnum.Approved || pageRouteVersion.VersionStatusEnum == VersionStatusEnum.Ignored) { var pageRoute = _pageRouteRepository.Get(pageRouteVersion.PageRouteId ?? 0); if (pageRoute != null) { pageRouteVersion.ApprovalDate = pageRoute.ApprovalDate; pageRouteVersion.ApprovedById = pageRoute.ApprovedById; pageRouteVersion.ArName = pageRoute.ArName; pageRouteVersion.ControllerName = pageRoute.ControllerName; pageRouteVersion.CreatedById = pageRoute.CreatedById; pageRouteVersion.CreationDate = pageRoute.CreationDate; pageRouteVersion.EnName = pageRoute.EnName; pageRouteVersion.HasNavItem = pageRoute.HasNavItem; pageRouteVersion.IsActive = pageRoute.IsActive; pageRouteVersion.IsDeleted = pageRoute.IsDeleted; pageRouteVersion.IsDynamicPage = pageRoute.IsDynamicPage; pageRouteVersion.NavItemId = pageRoute.NavItemId; pageRouteVersion.Order = pageRoute.Order; pageRouteVersion.PageFilePathAr = pageRoute.PageFilePathAr; pageRouteVersion.PageFilePathEn = pageRoute.PageFilePathEn; pageRouteVersion.SeoDescriptionAR = pageRoute.SeoDescriptionAR; pageRouteVersion.SectionName = pageRoute.SectionName; pageRouteVersion.SeoDescriptionEN = pageRoute.SeoDescriptionEN; pageRouteVersion.SeoOgTitleAR = pageRoute.SeoOgTitleAR; pageRouteVersion.SeoOgTitleEN = pageRoute.SeoOgTitleEN; pageRouteVersion.SeoTitleAR = pageRoute.SeoTitleAR; pageRouteVersion.SeoTitleEN = pageRoute.SeoTitleEN; pageRouteVersion.SeoTwitterCardAR = pageRoute.SeoTwitterCardAR; pageRouteVersion.SeoTwitterCardEN = pageRoute.SeoTwitterCardEN; } } var notification = _approvalNotificationsRepository.GetByRelatedIdAndType(pageRouteVersion.Id, ChangeType.BasicInfo); ViewBag.DisableEditFlage = false; if (notification != null && notification.VersionStatusEnum == VersionStatusEnum.Submitted) { ViewBag.DisableEditFlage = true; } if (pageRouteVersion == null) { return(NotFound()); } List <NavItem> navItems = _navItemRepository.Get().ToList(); PageRouteEditViewModel viewModel = new PageRouteEditViewModel(navItems); viewModel = pageRouteVersion.MapToPageRouteViewModel(viewModel); ViewBag.ApprovalId = approvalId; 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> /// save and submit static page route /// </summary> /// <param name="pageRouteViewModel"></param> /// <param name="changeActionEnum"></param> /// <returns></returns> private async Task SaveAndSubmitMethod(PageRouteEditViewModel pageRouteViewModel, ChangeActionEnum changeActionEnum) { var user = await _userManager.GetUserAsync(HttpContext.User); var pageRoutVersionId = 0; var oldVersionStatusEnum = pageRouteViewModel.VersionStatusEnum ?? VersionStatusEnum.Submitted; pageRouteViewModel.VersionStatusEnum = VersionStatusEnum.Submitted; EditMethod(pageRouteViewModel, VersionStatusEnum.Submitted, oldVersionStatusEnum, changeActionEnum, user.Id, out pageRoutVersionId, true); var pageRouteVersion = _pageRouteVersionRepository.Get(pageRoutVersionId); if (pageRoutVersionId != pageRouteViewModel.Id || oldVersionStatusEnum != VersionStatusEnum.Submitted) { SubmitMethod(user, pageRouteVersion); } }
public async Task <IActionResult> SubmitChanges(PageRouteEditViewModel pageRouteViewModel) { List <NavItem> navItems; if (!pageRouteViewModel.HasNavItem) { ModelState.Remove("NavItemId"); } if (!ModelState.IsValid) { navItems = _navItemRepository.Get().ToList(); pageRouteViewModel.NavItems = navItems; return(View(nameof(Edit), pageRouteViewModel)); } await SaveAndSubmitMethod(pageRouteViewModel, ChangeActionEnum.Update); return(RedirectToAction(nameof(Index))); }
public static PageRouteVersion MapToPageRouteVersion(this PageRouteEditViewModel pageRouteViewModel) { PageRouteVersion pageRouteVersion = new PageRouteVersion(); pageRouteVersion.Id = pageRouteViewModel.Id; pageRouteVersion.EnName = pageRouteViewModel.EnName; pageRouteVersion.ArName = pageRouteViewModel.ArName; pageRouteVersion.Order = pageRouteViewModel.Order; pageRouteVersion.IsActive = pageRouteViewModel.IsActive; pageRouteVersion.IsDynamicPage = pageRouteViewModel.IsDynamicPage; pageRouteVersion.HasNavItem = pageRouteViewModel.HasNavItem; pageRouteVersion.NavItemId = pageRouteViewModel.NavItemId; pageRouteVersion.CreatedById = pageRouteViewModel.CreatedById; pageRouteVersion.CreationDate = pageRouteViewModel.CreationDate; pageRouteVersion.ControllerName = pageRouteViewModel.ControllerName; pageRouteVersion.SectionName = pageRouteViewModel.SectionName; pageRouteVersion.PageType = pageRouteViewModel.PageType; pageRouteVersion.SeoTitleEN = pageRouteViewModel.SeoTitleEN; pageRouteVersion.SeoTitleAR = pageRouteViewModel.SeoTitleAR; pageRouteVersion.SeoDescriptionEN = pageRouteViewModel.SeoDescriptionEN; pageRouteVersion.SeoDescriptionAR = pageRouteViewModel.SeoDescriptionAR; pageRouteVersion.SeoOgTitleEN = pageRouteViewModel.SeoOgTitleEN; pageRouteVersion.SeoOgTitleAR = pageRouteViewModel.SeoOgTitleAR; pageRouteVersion.SeoTwitterCardEN = pageRouteViewModel.SeoTwitterCardEN; pageRouteVersion.SeoTwitterCardAR = pageRouteViewModel.SeoTwitterCardAR; pageRouteVersion.ChangeActionEnum = pageRouteViewModel.ChangeActionEnum; pageRouteVersion.VersionStatusEnum = pageRouteViewModel.VersionStatusEnum; pageRouteVersion.ContentVersionStatusEnum = pageRouteViewModel.ContentVersionStatusEnum; pageRouteVersion.PageRouteId = pageRouteViewModel.PageRouteId; return(pageRouteVersion); }
public async Task <IActionResult> Edit(PageRouteEditViewModel pageRouteViewModel) { var user = await _userManager.GetUserAsync(HttpContext.User); return(EditMethod(pageRouteViewModel, VersionStatusEnum.Draft, pageRouteViewModel.VersionStatusEnum ?? VersionStatusEnum.Draft, ChangeActionEnum.Update, user.Id, out int pageRoutVersionId)); }