public async Task <IActionResult> Create(NavItemVersionViewModel navItemVersion) { if (ModelState.IsValid) { await EditMethod(navItemVersion); return(RedirectToAction(nameof(Index))); } return(View()); }
public static NavItemVersion MapToNavVersionModel(this NavItemVersionViewModel viewModel) { return(new NavItemVersion() { Id = viewModel.Id, NavItemId = viewModel.NavItemId, ArName = viewModel.ArName, Order = viewModel.Order, IsActive = viewModel.IsActive, IsDeleted = viewModel.IsDeleted, EnName = viewModel.EnName, ParentNavItemId = viewModel.ParentNavItemId, ApprovalDate = viewModel.ApprovalDate, ApprovedById = viewModel.ApprovedById, ChangeActionEnum = viewModel.ChangeActionEnum, CreatedById = viewModel.CreatedById, CreationDate = viewModel.CreationDate, VersionStatusEnum = viewModel.VersionStatusEnum, }); }
/// <summary> /// Core method for update the object /// </summary> /// <param name="viewModel">nav item new data</param> /// <returns></returns> private async Task <IActionResult> EditMethod(NavItemVersionViewModel viewModel) { if (ModelState.IsValid) { var navVersionByNavId = _navItemVersionRepository.GetByNavId(viewModel.NavItemId ?? 0); var navVersionById = _navItemVersionRepository.Get(viewModel.Id); navVersionByNavId = navVersionById == null ? navVersionByNavId : navVersionById; var navVersionModel = viewModel.MapToNavVersionModel(); var user = await _userManager.GetUserAsync(HttpContext.User); if (navVersionByNavId == null || navVersionModel.VersionStatusEnum == VersionStatusEnum.Approved || navVersionModel.VersionStatusEnum == VersionStatusEnum.Ignored) { navVersionModel.CreatedById = user.Id; navVersionModel.CreationDate = DateTime.Now; navVersionModel.VersionStatusEnum = VersionStatusEnum.Draft; navVersionModel.ChangeActionEnum = ChangeActionEnum.Update; navVersionModel.Id = 0; navVersionModel.NavItemId = viewModel.NavItemId > 0 ? viewModel.NavItemId : (int?)null; _navItemVersionRepository.Add(navVersionModel); _toastNotification.AddSuccessToastMessage(ToasrMessages.EditSuccess); _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Add, "Definitions > Nav Items > Add", viewModel.EnName); return(RedirectToAction(nameof(Index))); } else if (navVersionModel.VersionStatusEnum == VersionStatusEnum.Submitted) { _toastNotification.AddSuccessToastMessage(ToasrMessages.SubmitSuccess); } navVersionModel.Id = navVersionByNavId != null ? navVersionByNavId.Id : viewModel.Id; _navItemVersionRepository.Update(navVersionModel); _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Update, "Definitions > Nav Items > Edit", viewModel.EnName); return(RedirectToAction(nameof(Index))); } return(View(viewModel)); }
public async Task <IActionResult> Edit(NavItemVersionViewModel navItemVersion) { return(await EditMethod(navItemVersion)); }