/// <summary> /// Core method for update operation /// </summary> /// <param name="viewModel">footer menu item new data</param> /// <returns></returns> private async Task <IActionResult> EditMethod(FooterMenuItemViewModel viewModel) { if (ModelState.IsValid) { var footerItemVersionByItemId = _footerMenuItemVersionRepository.GetByItemId(viewModel.FooterMenuItemId ?? 0); var footerItemVersionById = _footerMenuItemVersionRepository.Get(viewModel.Id); footerItemVersionByItemId = footerItemVersionById == null ? footerItemVersionByItemId : footerItemVersionById; var footerItemVersionModel = viewModel.MapToFooterItemVersionModel(); var user = await _userManager.GetUserAsync(HttpContext.User); if (footerItemVersionByItemId == null || footerItemVersionModel.VersionStatusEnum == VersionStatusEnum.Approved || footerItemVersionModel.VersionStatusEnum == VersionStatusEnum.Ignored) { footerItemVersionModel.CreatedById = user.Id; footerItemVersionModel.CreationDate = DateTime.Now; footerItemVersionModel.VersionStatusEnum = VersionStatusEnum.Draft; footerItemVersionModel.ChangeActionEnum = ChangeActionEnum.Update; footerItemVersionModel.Id = 0; footerItemVersionModel.FooterMenuItemId = viewModel.FooterMenuItemId > 0 ? viewModel.FooterMenuItemId : (int?)null; _footerMenuItemVersionRepository.Add(footerItemVersionModel); _toastNotification.AddSuccessToastMessage(ToasrMessages.EditSuccess); return(RedirectToAction(nameof(Index))); } footerItemVersionModel.Id = footerItemVersionByItemId != null ? footerItemVersionByItemId.Id : viewModel.Id; _footerMenuItemVersionRepository.Update(footerItemVersionModel); _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Update, "Footer Menu Items > Update", "Update " + viewModel.Link); return(RedirectToAction(nameof(Index))); } ViewBag.FooterMenuTitleId = new SelectList(_footerMenuTitleRepository.GetAll(), "Id", "EnTitle", viewModel.FooterMenuTitleId); return(View(viewModel)); }
public async Task <IActionResult> Create(FooterMenuItemViewModel footerMenuItem) { if (ModelState.IsValid) { await EditMethod(footerMenuItem); _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Add, "Footer Menu Items > Add", "Add " + footerMenuItem.Link); return(RedirectToAction(nameof(Index))); } ViewBag.FooterMenuTitleId = new SelectList(_footerMenuTitleRepository.GetAll(), "Id", "EnTitle"); return(View(footerMenuItem)); }
public static FooterMenuItemVersion MapToFooterItemVersionModel(this FooterMenuItemViewModel viewModel) { return(new FooterMenuItemVersion() { Id = viewModel.Id, Link = viewModel.Link, EnTitle = viewModel.EnTitle, Order = viewModel.Order, IsActive = viewModel.IsActive, IsDeleted = viewModel.IsDeleted, EnColumnPostion = viewModel.EnColumnPostion, FooterMenuTitleId = viewModel.FooterMenuTitleId, FooterMenuItemId = viewModel.FooterMenuItemId, ApprovalDate = viewModel.ApprovalDate, ApprovedById = viewModel.ApprovedById, ChangeActionEnum = viewModel.ChangeActionEnum, CreatedById = viewModel.CreatedById, CreationDate = viewModel.CreationDate, VersionStatusEnum = viewModel.VersionStatusEnum, ArColumnPostion = viewModel.ArColumnPostion, ArTitle = viewModel.ArTitle, }); }
public async Task <IActionResult> Edit(FooterMenuItemViewModel viewModel) { return(await EditMethod(viewModel)); }