/// <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)); }