Example #1
0
        public async Task <IActionResult> Edit(FooterMenuTitleViewModel ViewModel)
        {
            var user = await _userManager.GetUserAsync(HttpContext.User);

            if (ModelState.IsValid)
            {
                var fmtv          = _footerMenuTitleVersionsRepository.GetByFooterMenuTitleId(ViewModel.Id);
                var footerVersion = ViewModel.MapToFooterMenuItemVersionModel();

                if (fmtv == null || ViewModel.VersionStatusEnum == VersionStatusEnum.Approved || ViewModel.VersionStatusEnum == VersionStatusEnum.Ignored)
                {
                    footerVersion.CreatedById       = user.Id;
                    footerVersion.CreationDate      = DateTime.Now;
                    footerVersion.VersionStatusEnum = VersionStatusEnum.Draft;
                    footerVersion.ChangeActionEnum  = ChangeActionEnum.Update;
                    footerVersion.Id = 0;
                    footerVersion.FooterMenuTitleId = ViewModel.Id;

                    _footerMenuTitleVersionsRepository.Add(footerVersion);
                    return(RedirectToAction(nameof(Index)));
                }

                footerVersion.CreationDate      = DateTime.Now;
                footerVersion.Id                = fmtv.Id;
                footerVersion.VersionStatusEnum = VersionStatusEnum.Draft;
                footerVersion.ChangeActionEnum  = ChangeActionEnum.Update;
                footerVersion.ApprovalDate      = fmtv.ApprovalDate;
                footerVersion.ApprovedById      = fmtv.ApprovedById;
                footerVersion.CreatedById       = fmtv.CreatedById;
                footerVersion.CreationDate      = fmtv.CreationDate;
                footerVersion.FooterMenuTitleId = fmtv.FooterMenuTitleId;
                var update = _footerMenuTitleVersionsRepository.Update(footerVersion);
                if (update)
                {
                    _toastNotification.AddSuccessToastMessage(ToasrMessages.EditSuccess);
                    return(RedirectToAction(nameof(Index)));
                }
                else
                {
                    _toastNotification.AddErrorToastMessage(ToasrMessages.warning);
                    return(View(ViewModel));
                }
            }
            return(View(ViewModel));
        }
        //edit get
        public static FooterMenuTitleViewModel MapToLeftMenuItemVersionsViewModel(this FooterMenuTitleVersions LeftMenuItemCreateViewModel)
        {
            FooterMenuTitleViewModel newsTypeViewModel = new FooterMenuTitleViewModel
            {
                Id                = LeftMenuItemCreateViewModel.Id,
                EnTitle           = LeftMenuItemCreateViewModel.EnTitle,
                ArTitle           = LeftMenuItemCreateViewModel.ArTitle,
                CreationDate      = LeftMenuItemCreateViewModel.CreationDate,
                CreatedById       = LeftMenuItemCreateViewModel.CreatedById,
                IsActive          = LeftMenuItemCreateViewModel.IsActive,
                Order             = LeftMenuItemCreateViewModel.Order,
                IsDeleted         = LeftMenuItemCreateViewModel.IsDeleted,
                ApprovalDate      = LeftMenuItemCreateViewModel.ApprovalDate,
                ApprovedById      = LeftMenuItemCreateViewModel.ApprovedById,
                FooterMenuTitleId = LeftMenuItemCreateViewModel.FooterMenuTitleId,
                VersionStatusEnum = LeftMenuItemCreateViewModel.VersionStatusEnum,
                ChangeActionEnum  = LeftMenuItemCreateViewModel.ChangeActionEnum,
            };

            return(newsTypeViewModel);
        }