public static PageRouteEditViewModel MapToPageRouteViewModel(this PageRouteVersion pageRouteVersion, PageRouteEditViewModel pageRouteEditViewModel) { pageRouteEditViewModel.Id = pageRouteVersion.Id; pageRouteEditViewModel.EnName = pageRouteVersion.EnName; pageRouteEditViewModel.ArName = pageRouteVersion.ArName; pageRouteEditViewModel.Order = pageRouteVersion.Order; pageRouteEditViewModel.IsActive = pageRouteVersion.IsActive; pageRouteEditViewModel.IsDynamicPage = pageRouteVersion.IsDynamicPage; pageRouteEditViewModel.HasNavItem = pageRouteVersion.HasNavItem; pageRouteEditViewModel.NavItemId = pageRouteVersion.NavItemId; pageRouteEditViewModel.CreatedById = pageRouteVersion.CreatedById; pageRouteEditViewModel.CreationDate = pageRouteVersion.CreationDate; pageRouteEditViewModel.ControllerName = pageRouteVersion.ControllerName; pageRouteEditViewModel.SectionName = pageRouteVersion.SectionName; pageRouteEditViewModel.SeoTitleEN = pageRouteVersion.SeoTitleEN; pageRouteEditViewModel.SeoTitleAR = pageRouteVersion.SeoTitleAR; pageRouteEditViewModel.SeoDescriptionEN = pageRouteVersion.SeoDescriptionEN; pageRouteEditViewModel.SeoDescriptionAR = pageRouteVersion.SeoDescriptionAR; pageRouteEditViewModel.SeoOgTitleEN = pageRouteVersion.SeoOgTitleEN; pageRouteEditViewModel.SeoOgTitleAR = pageRouteVersion.SeoOgTitleAR; pageRouteEditViewModel.SeoTwitterCardEN = pageRouteVersion.SeoTwitterCardEN; pageRouteEditViewModel.SeoTwitterCardAR = pageRouteVersion.SeoTwitterCardAR; pageRouteEditViewModel.PageType = pageRouteVersion.PageType; pageRouteEditViewModel.ChangeActionEnum = pageRouteVersion.ChangeActionEnum; pageRouteEditViewModel.VersionStatusEnum = pageRouteVersion.VersionStatusEnum; pageRouteEditViewModel.PageRouteId = pageRouteVersion.PageRouteId; pageRouteEditViewModel.ContentVersionStatusEnum = pageRouteVersion.ContentVersionStatusEnum; return(pageRouteEditViewModel); }
public async Task <IActionResult> Delete(int id) { PageRouteVersion pageRouteVersion = _pageRouteVersionRepository.Get(id); if (pageRouteVersion != null) { TempData[notificationMessageKey] = ToasrMessages.DeleteSuccess; TempData[notificationTypeKey] = notificationSuccess; if (pageRouteVersion.ChangeActionEnum == ChangeActionEnum.New && pageRouteVersion.VersionStatusEnum == VersionStatusEnum.Draft) { _pageRouteVersionRepository.SoftDelete(id); _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Delete, "Definitions > Static Pages > Delete", "Soft Delete id: " + id); } else { await SaveAndSubmitMethod(pageRouteVersion.MapToPageRouteViewModel(new PageRouteEditViewModel()), ChangeActionEnum.Delete); _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Delete, "Definitions > Static Pages > Delete", "Delete id: " + id); } return(Json(new { })); } TempData[notificationMessageKey] = "Error has been occurred."; TempData[notificationTypeKey] = notificationError; return(Json(new { })); }
public static List <PageRouteVersion> MapToPageRouteVersions(this List <PageRoute> pageRoutes) { List <PageRouteVersion> pageRouteVersions = new List <PageRouteVersion>(); foreach (PageRoute pageRoute in pageRoutes) { PageRouteVersion pageRouteVersion = new PageRouteVersion() { ApprovalDate = pageRoute.ApprovalDate, ApprovedById = pageRoute.ApprovedById, ArName = pageRoute.ArName, CreatedById = pageRoute.CreatedById, CreationDate = DateTime.Now, EnName = pageRoute.EnName, IsActive = pageRoute.IsActive, IsDeleted = pageRoute.IsDeleted, Order = pageRoute.Order, NavItemId = pageRoute.NavItemId, ControllerName = pageRoute.ControllerName, SectionName = pageRoute.SectionName, StatusId = (int)RequestStatus.Approved }; pageRouteVersions.Add(pageRouteVersion); } pageRouteVersions.Reverse(); return(pageRouteVersions); }
public async Task <IActionResult> Create(PageRouteCreateViewModel pageRouteViewModel) { if (ModelState.IsValid) { var user = await _userManager.GetUserAsync(HttpContext.User); PageRouteVersion pageRouteVersion = new PageRouteVersion(); pageRouteVersion = pageRouteViewModel.MapToPageRouteVersion(pageRouteVersion); pageRouteVersion.CreatedById = user.Id; pageRouteVersion.CreationDate = DateTime.Now; pageRouteVersion.VersionStatusEnum = VersionStatusEnum.Draft; pageRouteVersion.ChangeActionEnum = ChangeActionEnum.New; PageRouteVersion newPageRouteVersion = _pageRouteVersionRepository.Add(pageRouteVersion); if (newPageRouteVersion != null) { _toastNotification.AddSuccessToastMessage(ToasrMessages.AddSuccess); _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Add, "Dynamic Pages ", pageRouteViewModel.EnName); return(RedirectToAction("Index")); } else { _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Add, "Dynamic Pages ", "Insertion Error"); _toastNotification.AddErrorToastMessage(ToasrMessages.warning); return(View()); } } List <NavItem> navItems = _navItemRepository.Get().ToList(); PageRouteCreateViewModel viewModel = new PageRouteCreateViewModel(navItems); 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)); }
public static PageRouteVersion MapToPageRouteVersion(this PageRoute pageRoute) { PageRouteVersion pageRouteVersion = new PageRouteVersion() { ApprovalDate = pageRoute.ApprovalDate, ApprovedById = pageRoute.ApprovedById, ArName = pageRoute.ArName, EnName = pageRoute.EnName, IsActive = pageRoute.IsActive, IsDeleted = pageRoute.IsDeleted, Order = pageRoute.Order, NavItemId = pageRoute.NavItemId, ControllerName = pageRoute.ControllerName, SectionName = pageRoute.SectionName, CreationDate = pageRoute.CreationDate, CreatedById = pageRoute.CreatedById, IsDynamicPage = pageRoute.IsDynamicPage, SeoTitleEN = pageRoute.SeoTitleEN, SeoTitleAR = pageRoute.SeoTitleAR, SeoDescriptionEN = pageRoute.SeoDescriptionEN, SeoDescriptionAR = pageRoute.SeoDescriptionAR, SeoOgTitleEN = pageRoute.SeoOgTitleEN, SeoOgTitleAR = pageRoute.SeoOgTitleAR, SeoTwitterCardEN = pageRoute.SeoTwitterCardEN, SeoTwitterCardAR = pageRoute.SeoTwitterCardAR, }; return(pageRouteVersion); }
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)); }
public IActionResult Edit(int id, int pageRouteVersionId) { SectionViewModel sectionVm = _dynamicPageSectionVersionRepository.Get(id, pageRouteVersionId); List <PageSectionType> sectionTypes = _dynamicPageSectionRepository.GetPageSectionTypes(); PageSectionEditViewModel viewModel = new PageSectionEditViewModel(sectionTypes, sectionVm); viewModel.Id = id; viewModel.pageRouteVersionId = pageRouteVersionId; 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; return(View(viewModel)); }
private static void UpdatePageRouteVersionStatus(PageRouteVersion prv, VersionStatusEnum versionStatusEnum) { if (prv.VersionStatusEnum == VersionStatusEnum.Draft || prv.VersionStatusEnum == VersionStatusEnum.Submitted) { prv.VersionStatusEnum = VersionStatusEnum.Submitted; } prv.ContentVersionStatusEnum = versionStatusEnum; }
private void SubmitMethod(ApplicationUser user, PageRouteVersion pageRouteVersion) { ApprovalNotification approval = new ApprovalNotification() { ChangeAction = pageRouteVersion.ChangeActionEnum ?? ChangeActionEnum.New, VersionStatusEnum = VersionStatusEnum.Submitted, ChangesDateTime = DateTime.Now, ChangeType = ChangeType.BasicInfo, PageLink = $"/{nameof(StaticPageRouteController)[0..^10]}/{nameof(Edit)}/{pageRouteVersion.Id}",
/// <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)); }
public async Task <IActionResult> ApplyEditRequestAsync(int id) { PageRouteVersion pageRouteVersion = _pageRouteVersionRepository.Get(id); string notificationMessage = null; if (ValidatePageRouteForApply(pageRouteVersion, out notificationMessage)) { //var isApply = ApplyPageChanges(id, pageRouteVersion); var user = await _userManager.GetUserAsync(HttpContext.User); string url = $"{nameof(DynamicPageRouteController)[0..^10]}/{nameof(Edit)}";
/// <summary> /// Approve page route version /// </summary> /// <param name="pageRouteVersion">page route version model</param> /// <param name="changeType">change type</param> /// <returns></returns> public void ApprovePageRoute(PageRouteVersion pageRouteVersion, ChangeType changeType) { var lastNotification = _db.ApprovalNotifications.Where(d => d.RelatedVersionId == pageRouteVersion.Id && d.RelatedPageEnum == RelatedPageEnum.PageRouteVersion && d.VersionStatusEnum == VersionStatusEnum.Submitted && d.ChangeType != changeType).Any(); if (!lastNotification) { pageRouteVersion.VersionStatusEnum = VersionStatusEnum.Approved; } }
/// <summary> /// Applying submit request /// </summary> /// <param name="pageRouteVersion">page route version model</param> /// <param name="userId">logged in user</param> /// <param name="urlParent">parent route version url</param> /// <param name="urlSection">section url</param> /// <returns>true if applying false otherwise</returns> public bool ApplySubmitRequest(PageRouteVersion pageRouteVersion, string userId, string urlParent, string urlSection) { var existPageRouteVer = _db.PageRouteVersions.FirstOrDefault(x => x.Id == pageRouteVersion.Id); //existPageRouteVer.VersionStatusEnum = VersionStatusEnum.Submitted; existPageRouteVer.VersionStatusEnum = VersionStatusEnum.Submitted; var existingNotifications = _db.ApprovalNotifications.Where(d => d.RelatedVersionId == pageRouteVersion.Id && d.RelatedPageEnum == RelatedPageEnum.PageRouteVersion && d.VersionStatusEnum == VersionStatusEnum.Submitted).ToList(); ///check if no notification added for the basic info then add new one if ((pageRouteVersion.PageRouteId == null && !existingNotifications.Any(d => d.ChangeType == ChangeType.BasicInfo))) { ApprovalNotification approval = new ApprovalNotification() { ChangeAction = pageRouteVersion.ChangeActionEnum ?? ChangeActionEnum.New, VersionStatusEnum = VersionStatusEnum.Submitted, ChangesDateTime = DateTime.Now, ChangeType = ChangeType.BasicInfo, PageLink = $"/{urlParent}/{pageRouteVersion.Id}", PageName = pageRouteVersion.EnName, PageType = PageType.Dynamic, ContentManagerId = userId, RelatedVersionId = pageRouteVersion.Id, RelatedPageEnum = RelatedPageEnum.PageRouteVersion }; _approvalNotificationsRepository.Add(approval); } if (!existingNotifications.Any(d => d.ChangeType == ChangeType.PageContent) || pageRouteVersion.ContentVersionStatusEnum == VersionStatusEnum.Draft) { existPageRouteVer.ContentVersionStatusEnum = VersionStatusEnum.Submitted; ApprovalNotification approvalSections = new ApprovalNotification() { ChangeAction = ChangeActionEnum.Update, VersionStatusEnum = VersionStatusEnum.Submitted, ChangesDateTime = DateTime.Now, ChangeType = ChangeType.PageContent, PageLink = $"/{urlSection}?pageRouteVersionId={pageRouteVersion.Id}", PageName = pageRouteVersion.EnName, PageType = PageType.Dynamic, ContentManagerId = userId, RelatedVersionId = pageRouteVersion.Id, RelatedPageEnum = RelatedPageEnum.PageRouteVersion }; _approvalNotificationsRepository.Add(approvalSections); } _db.PageRouteVersions.Attach(existPageRouteVer); _db.Entry(existPageRouteVer).State = EntityState.Modified; _db.SaveChanges(); return(true); }
/// <summary> /// Coping page section and its cards to page section versions which has the same page route version id /// </summary> /// <param name="pageRouteVersion">page route version object which i will take it's id to copy objects</param> /// <returns></returns> public void CopyPageSectionVersions(PageRouteVersion pageRouteVersion) { if (pageRouteVersion.PageRouteId != null && !pageRouteVersion.PageSectionVersions.Any()) { var pageSections = _db.PageSections.Include(d => d.PageSectionCards).Where(d => d.PageRouteId == pageRouteVersion.PageRouteId && !d.IsDeleted).ToList(); foreach (var section in pageSections) { var secVer = new PageSectionVersion { ArDescription = section.ArDescription, ArImageAlt = section.ArImageAlt, ArTitle = section.ArTitle, EnDescription = section.EnDescription, EnImageAlt = section.EnImageAlt, EnTitle = section.EnTitle, CreatedById = pageRouteVersion.CreatedById, CreationDate = DateTime.Now, IsActive = section.IsActive, IsDeleted = false, Order = section.Order, PageRouteVersionId = pageRouteVersion.Id, PageSectionId = section.Id, PageSectionTypeId = section.PageSectionTypeId, Url = section.Url }; foreach (var card in section.PageSectionCards.Where(d => !d.IsDeleted)) { secVer.PageSectionCardVersions.Add(new PageSectionCardVersion { ArDescription = card.ArDescription, ArImageAlt = card.ArImageAlt, ArTitle = card.ArTitle, CreatedById = pageRouteVersion.CreatedById, CreationDate = DateTime.Now, EnDescription = card.EnDescription, EnImageAlt = card.EnImageAlt, EnTitle = card.EnTitle, FileUrl = card.FileUrl, ImageUrl = card.ImageUrl, IsActive = card.IsActive, IsDeleted = false, Order = card.Order, PageSectionCardId = card.Id, PageSectionVersionId = secVer.Id }); } _db.PageSectionVersions.Add(secVer); } _db.SaveChanges(); } }
/// <summary> /// upgate a page route version model /// </summary> /// <param name="pageRouteVersion">page route version model</param> /// <returns>updated object</returns> public PageRouteVersion Update(PageRouteVersion pageRouteVersion) { try { if (pageRouteVersion.StatusId <= 1) { pageRouteVersion.StatusId = (int)RequestStatus.Draft; } _db.PageRouteVersions.Update(pageRouteVersion); _db.SaveChanges(); return(pageRouteVersion); } catch (Exception ex) { return(null); } }
private bool ValidatePageRouteForApply(PageRouteVersion pageRouteVersion, out string message) { if (pageRouteVersion.IsDeleted) { message = null; return(true); } int NewsCount = pageRouteVersion.PageNewsVersions.Count; int deletedNewsCount = pageRouteVersion.PageNewsVersions.Count(s => s.IsDeleted); if (NewsCount == deletedNewsCount) { message = "All page News is flagged as deleted. </br> Please add a new news in order to apply page changes."; return(false); } message = null; return(true); }
/// <summary> /// Adding a new page route version /// </summary> /// <param name="PageRouteVersion">page route version model</param> /// <returns>the added object</returns> public PageRouteVersion Add(PageRouteVersion PageRouteVersion) { if (PageRouteVersion.StatusId <= 0) { PageRouteVersion.StatusId = (int)RequestStatus.Draft; } PageRouteVersion.HasNavItem = true; PageRouteVersion.IsDynamicPage = true; PageRouteVersion.ControllerName = "DynamicPage"; try { _db.PageRouteVersions.Add(PageRouteVersion); _db.SaveChanges(); return(PageRouteVersion); } catch (Exception ex) { return(null); } }
public static PageRouteVersion MapToPageRouteVersion(this PageRoute pageRoute) { PageRouteVersion pageRouteVersion = new PageRouteVersion { EnName = pageRoute.EnName, ArName = pageRoute.ArName, Order = pageRoute.Order, IsActive = pageRoute.IsActive, NavItemId = pageRoute.NavItemId, SeoTitleEN = pageRoute.SeoTitleEN, SeoTitleAR = pageRoute.SeoTitleAR, SeoDescriptionEN = pageRoute.SeoDescriptionEN, SeoDescriptionAR = pageRoute.SeoDescriptionAR, SeoOgTitleEN = pageRoute.SeoOgTitleEN, SeoOgTitleAR = pageRoute.SeoOgTitleAR, SeoTwitterCardEN = pageRoute.SeoTwitterCardEN, SeoTwitterCardAR = pageRoute.SeoTwitterCardAR }; return(pageRouteVersion); }
/// <summary> /// Add new page route version to database /// </summary> /// <param name="pageRouteVersion">page route version model</param> /// <returns>Added object</returns> public PageRouteVersion AddNewPageRouteVersion(PageRouteVersion pageRouteVersion) { var newPageRouteVersion = new PageRouteVersion { VersionStatusEnum = VersionStatusEnum.Draft, ArName = pageRouteVersion.ArName, ChangeActionEnum = ChangeActionEnum.Update, ControllerName = pageRouteVersion.ControllerName, CreationDate = DateTime.Now, CreatedById = pageRouteVersion.CreatedById, EnName = pageRouteVersion.EnName, HasNavItem = pageRouteVersion.HasNavItem, IsActive = pageRouteVersion.IsActive, IsDeleted = false, IsDynamicPage = pageRouteVersion.IsDynamicPage, NavItemId = pageRouteVersion.NavItemId, Order = pageRouteVersion.Order, PageFilePathAr = pageRouteVersion.PageFilePathAr, PageFilePathEn = pageRouteVersion.PageFilePathEn, PageRouteId = pageRouteVersion.PageRouteId, PageType = pageRouteVersion.PageType, SectionName = pageRouteVersion.SectionName, SeoDescriptionAR = pageRouteVersion.SeoDescriptionAR, SeoDescriptionEN = pageRouteVersion.SeoDescriptionEN, SeoOgTitleAR = pageRouteVersion.SeoOgTitleAR, SeoOgTitleEN = pageRouteVersion.SeoOgTitleEN, SeoTitleAR = pageRouteVersion.SeoTitleAR, SeoTitleEN = pageRouteVersion.SeoTitleEN, SeoTwitterCardAR = pageRouteVersion.SeoTwitterCardAR, SeoTwitterCardEN = pageRouteVersion.SeoTwitterCardEN, StatusId = 1 }; _db.PageRouteVersions.Add(newPageRouteVersion); _db.SaveChanges(); return(newPageRouteVersion); }
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 IActionResult ApplyEditRequest(int id) { PageRouteVersion pageRouteVersion = _pageRouteVersionRepository.Get(id); string notificationMessage = null; if (ValidatePageRouteForApply(pageRouteVersion, out notificationMessage)) { PageRouteVersion newPageRouteVersion = _pageRouteVersionRepository.ApplyEditRequest(id, null, null); if (newPageRouteVersion != null) { TempData[notificationMessageKey] = ToasrMessages.SubmitSuccess; TempData[notificationTypeKey] = notificationSuccess; return(Json(new { })); } } TempData[notificationMessageKey] = notificationMessage; TempData[notificationTypeKey] = notificationWarning; return(Json(new { })); }
/// <summary> /// Delete a page route object from database by id /// </summary> /// <param name="id">page route id</param> /// <returns>Deleted object</returns> public PageRoute Delete(int id) { PageRoute pageRoute = _db.PageRoutes.Find(id); try { PageRouteVersion pageRouteVersion = pageRoute.MapToPageRouteVersion(); pageRouteVersion.IsDeleted = true; pageRouteVersion.CreatedById = _userId; pageRouteVersion.CreationDate = DateTime.Now; _db.PageRouteVersions.Add(pageRouteVersion); int deleted = _db.SaveChanges(); if (deleted > 0) { _logger.LogInformation($"User: {userName} has deleted nav item with name: {pageRoute.EnName}"); } return(pageRoute); } catch (Exception ex) { return(null); } }
/// <summary> /// Adding or updating page route version /// </summary> /// <param name="pageRouteId">page route id</param> /// <returns>added or updated object</returns> public PageRouteVersion AddOrUpdatePageRouteVersion(int pageRouteId) { var pageRouteVersion = GetByPageRoute(pageRouteId); if ((pageRouteVersion.VersionStatusEnum == VersionStatusEnum.Approved || pageRouteVersion.VersionStatusEnum == VersionStatusEnum.Ignored) && (pageRouteVersion.ContentVersionStatusEnum == VersionStatusEnum.Approved || pageRouteVersion.ContentVersionStatusEnum == VersionStatusEnum.Ignored)) { if (pageRouteVersion.VersionStatusEnum == VersionStatusEnum.Ignored) { var pageRoute = _db.PageRoutes.Find(pageRouteId); var newVer = new PageRouteVersion { VersionStatusEnum = VersionStatusEnum.Approved, ArName = pageRoute.ArName, ChangeActionEnum = ChangeActionEnum.Update, ControllerName = pageRoute.ControllerName, CreationDate = DateTime.Now, CreatedById = pageRoute.CreatedById, EnName = pageRoute.EnName, HasNavItem = pageRoute.HasNavItem, IsActive = pageRoute.IsActive, IsDeleted = false, IsDynamicPage = pageRoute.IsDynamicPage, NavItemId = pageRoute.NavItemId, Order = pageRoute.Order, PageFilePathAr = pageRoute.PageFilePathAr, PageFilePathEn = pageRoute.PageFilePathEn, PageRouteId = pageRoute.Id, PageType = pageRoute.PageType, SectionName = pageRoute.SectionName, SeoDescriptionAR = pageRoute.SeoDescriptionAR, SeoDescriptionEN = pageRoute.SeoDescriptionEN, SeoOgTitleAR = pageRoute.SeoOgTitleAR, SeoOgTitleEN = pageRoute.SeoOgTitleEN, SeoTitleAR = pageRoute.SeoTitleAR, SeoTitleEN = pageRoute.SeoTitleEN, SeoTwitterCardAR = pageRoute.SeoTwitterCardAR, SeoTwitterCardEN = pageRoute.SeoTwitterCardEN, StatusId = 1, ContentVersionStatusEnum = VersionStatusEnum.Draft }; _db.PageRouteVersions.Add(newVer); _db.SaveChanges(); return(newVer); } else { var newVer = new PageRouteVersion { VersionStatusEnum = pageRouteVersion.VersionStatusEnum == VersionStatusEnum.Ignored ? VersionStatusEnum.Approved : pageRouteVersion.VersionStatusEnum, ArName = pageRouteVersion.ArName, ChangeActionEnum = ChangeActionEnum.Update, ControllerName = pageRouteVersion.ControllerName, CreationDate = DateTime.Now, CreatedById = pageRouteVersion.CreatedById, EnName = pageRouteVersion.EnName, HasNavItem = pageRouteVersion.HasNavItem, IsActive = pageRouteVersion.IsActive, IsDeleted = false, IsDynamicPage = pageRouteVersion.IsDynamicPage, NavItemId = pageRouteVersion.NavItemId, Order = pageRouteVersion.Order, PageFilePathAr = pageRouteVersion.PageFilePathAr, PageFilePathEn = pageRouteVersion.PageFilePathEn, PageRouteId = pageRouteVersion.PageRouteId, PageType = pageRouteVersion.PageType, SectionName = pageRouteVersion.SectionName, SeoDescriptionAR = pageRouteVersion.SeoDescriptionAR, SeoDescriptionEN = pageRouteVersion.SeoDescriptionEN, SeoOgTitleAR = pageRouteVersion.SeoOgTitleAR, SeoOgTitleEN = pageRouteVersion.SeoOgTitleEN, SeoTitleAR = pageRouteVersion.SeoTitleAR, SeoTitleEN = pageRouteVersion.SeoTitleEN, SeoTwitterCardAR = pageRouteVersion.SeoTwitterCardAR, SeoTwitterCardEN = pageRouteVersion.SeoTwitterCardEN, StatusId = 1, ContentVersionStatusEnum = VersionStatusEnum.Draft }; _db.PageRouteVersions.Add(newVer); _db.SaveChanges(); return(newVer); } } else { pageRouteVersion.ContentVersionStatusEnum = VersionStatusEnum.Draft; _db.PageRouteVersions.Update(pageRouteVersion); _db.SaveChanges(); return(pageRouteVersion); } }
/// <summary> /// Adding a new static page /// </summary> /// <param name="PageRouteVersion">page route version model</param> /// <returns></returns> public void AddStaticPage(PageRouteVersion PageRouteVersion) { _db.PageRouteVersions.Add(PageRouteVersion); _db.SaveChanges(); }
//public static List<PageRouteListViewModel> MapToPageRouteViewModels(this IEnumerable<PageRoute> pageRouteVersions) //{ // return pageRouteVersions.Select(pageRouteVersion => new PageRouteListViewModel // { // Id = pageRouteVersion.Id, // EnName = pageRouteVersion.EnName, // ArName = pageRouteVersion.ArName, // Order = pageRouteVersion.Order, // IsActive = pageRouteVersion.IsActive, // NavItemArName = (pageRouteVersion.PageRouteVersion != null) ? ((pageRouteVersion.NavItem != null) ? pageRouteVersion.PageRoute.NavItem.ArName : "") : ((pageRouteVersion.NavItem != null) ? pageRouteVersion.NavItem.ArName : ""), // NavItemEnName = (pageRouteVersion.PageRouteVersion != null) ? ((pageRouteVersion.NavItem != null) ? pageRouteVersion.PageRoute.NavItem.EnName : "") : ((pageRouteVersion.NavItem != null) ? pageRouteVersion.NavItem.EnName : ""), // StatusId = pageRouteVersion.StatusId, // StatusName = ((RequestStatus)pageRouteVersion.StatusId).ToString(), // HasSections = pageRouteVersion.PageSectionVersions.Any(), // IsDeleted = pageRouteVersion.IsDeleted // }).ToList(); //} public static PageRouteVersion MapToPageRouteVersion(this PageRouteCreateViewModel pageRouteViewModel, PageRouteVersion pageRouteVersion) { pageRouteVersion.EnName = pageRouteViewModel.EnName; pageRouteVersion.ArName = pageRouteViewModel.ArName; pageRouteVersion.Order = pageRouteViewModel.Order; pageRouteVersion.IsActive = pageRouteViewModel.IsActive; pageRouteVersion.NavItemId = pageRouteViewModel.NavItemId; 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.PageType = pageRouteVersion.PageType; return(pageRouteVersion); }