示例#1
0
        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,
     });
 }
示例#3
0
        /// <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));
        }
示例#4
0
 public async Task <IActionResult> Edit(NavItemVersionViewModel navItemVersion)
 {
     return(await EditMethod(navItemVersion));
 }