Ejemplo n.º 1
0
        /// <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));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
 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,
     });
 }
Ejemplo n.º 4
0
 public async Task <IActionResult> Edit(FooterMenuItemViewModel viewModel)
 {
     return(await EditMethod(viewModel));
 }