private async Task <IActionResult> GetDetails(int id, int approvalId)
        {
            var user = await _userManager.GetUserAsync(HttpContext.User);

            var roles = await _userManager.GetRolesAsync(user);

            PageRouteVersion pageRouteVersion = _pageRouteVersionRepository.Get(id);
            var notification = _approvalNotificationsRepository.GetByPageNameAndChangeType(pageRouteVersion.EnName, ChangeType.BasicInfo);

            ViewBag.DisableEditFlage = false;
            if (notification != null && notification.VersionStatusEnum == VersionStatusEnum.Submitted)
            {
                ViewBag.DisableEditFlage = true;
            }
            if (pageRouteVersion == null || (roles.Contains(UserRolesConst.MediaCenterContentManager) && (pageRouteVersion.ControllerName != "News" && pageRouteVersion.ControllerName != "PhotoArchive" && pageRouteVersion.ControllerName != "EventCalendar")))
            {
                return(NotFound());
            }

            List <NavItem>         navItems  = _navItemRepository.Get().ToList();
            PageRouteEditViewModel viewModel = new PageRouteEditViewModel(navItems);

            viewModel = pageRouteVersion.MapToPageRouteViewModel(viewModel);

            ViewBag.ApprovalId = approvalId;

            return(View(viewModel));
        }
Beispiel #2
0
        /// <summary>
        /// save and submit changes for the approval user
        /// </summary>
        /// <param name="changeActionEnum"></param>
        /// <param name="relatedId">related object id in notification</param>
        /// <returns></returns>
        private async Task SaveAndSubmitMethod(ChangeActionEnum changeActionEnum, int relatedId)
        {
            var pageRouteVer = _pageRouteVersionRepository.Get(relatedId);
            var frv          = _formerMinistriesPageInfoVersionRepository.Get();
            var user         = await _userManager.GetUserAsync(HttpContext.User);

            if (frv.VersionStatusEnum != VersionStatusEnum.Submitted)
            {
                frv.VersionStatusEnum = VersionStatusEnum.Submitted;
                pageRouteVer.ContentVersionStatusEnum = VersionStatusEnum.Submitted;
                _pageRouteVersionRepository.Update(pageRouteVer);
                _formerMinistriesPageInfoVersionRepository.Update(frv);
                var ministries = _ministryTimeLineVersionsRepository.GetAllByPageInfo(frv);
                SubmitMethod(user, changeActionEnum, relatedId);
            }
            _toastNotification.AddSuccessToastMessage(ToasrMessages.SubmitSuccess);
            _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Submitted, "Static Page > Former Ministries", "Submitted ");
            if (!frv.MinistryTimeLineVersions.Any())
            {
                CopyMinistries(frv);
            }
        }
Beispiel #3
0
        public IActionResult Index(int pageRouteVersionId, [FromQuery] int approvalId)
        {
            if (TempData[notificationMessageKey] != null)
            {
                switch (TempData[notificationTypeKey])
                {
                case notificationSuccess:
                    _toastNotification.AddSuccessToastMessage(TempData[notificationMessageKey].ToString());
                    break;

                case notificationWarning:
                    _toastNotification.AddWarningToastMessage(TempData[notificationMessageKey].ToString());
                    break;

                case notificationError:
                    _toastNotification.AddErrorToastMessage(TempData[notificationMessageKey].ToString());
                    break;
                }
            }

            PageRouteVersion pageRouteVersion = _pageRouteVersionRepository.Get(pageRouteVersionId);
            var notification = _approvalNotificationsRepository.GetByRelatedIdAndType(pageRouteVersion.Id, ChangeType.PageContent);

            ViewBag.DisableEditFlage = false;
            if (notification != null && notification.VersionStatusEnum == VersionStatusEnum.Submitted)
            {
                ViewBag.DisableEditFlage = true;
            }
            if (pageRouteVersion == null)
            {
                return(NotFound());
            }
            ViewBag.DynamicPageName    = pageRouteVersion.EnName;
            ViewBag.approvalId         = approvalId;
            ViewBag.pageRouteVersionId = pageRouteVersionId;

            return(View(pageRouteVersion.Id));
        }
Beispiel #4
0
        public async Task <IActionResult> Edit(EgyptVisionVersionEditViewModel ViewModel)
        {
            var pageRouteVer = _pageRouteVersionRepository.Get(ViewModel.PageRouteVersionId);

            ViewModel.EnEgyptVisionDesc.ValidateHtml("EnEgyptVisionDesc", ModelState);
            ViewModel.ArEgyptVisionDesc.ValidateHtml("ArEgyptVisionDesc", ModelState);

            var user = await _userManager.GetUserAsync(HttpContext.User);

            if (ModelState.IsValid)
            {
                var evv = _egyptVisionVersionRepository.GetByEgyptVisionId(ViewModel.Id);
                var egyptVisionVersion = ViewModel.MapToEgyptVisionVersionModel();

                if (evv == null || ViewModel.VersionStatusEnum == VersionStatusEnum.Approved || ViewModel.VersionStatusEnum == VersionStatusEnum.Ignored)
                {
                    egyptVisionVersion.CreatedById        = user.Id;
                    egyptVisionVersion.CreationDate       = DateTime.Now;
                    egyptVisionVersion.VersionStatusEnum  = VersionStatusEnum.Draft;
                    pageRouteVer.ContentVersionStatusEnum = VersionStatusEnum.Draft;
                    egyptVisionVersion.ChangeActionEnum   = ChangeActionEnum.Update;
                    egyptVisionVersion.Id            = 0;
                    egyptVisionVersion.EgyptVisionId = ViewModel.Id;
                    if (ViewModel.EnImageFile != null)
                    {
                        egyptVisionVersion.EnImagePath = _fileService.UploadImageUrlNew(ViewModel.EnImageFile);
                    }
                    if (ViewModel.ArImageFile != null)
                    {
                        egyptVisionVersion.ArImagePath = _fileService.UploadImageUrlNew(ViewModel.ArImageFile);
                    }
                    _egyptVisionVersionRepository.Add(egyptVisionVersion);
                    _pageRouteVersionRepository.Update(pageRouteVer);

                    _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Update, "Static Page > Page Egypt Vision > Edit", ViewModel.EnEgyptVisionName);

                    return(RedirectToAction(nameof(Index), new { id = pageRouteVer.Id }));
                }


                if (ViewModel.EnImageFile != null)
                {
                    egyptVisionVersion.EnImagePath = _fileService.UploadImageUrlNew(ViewModel.EnImageFile);
                }
                if (ViewModel.ArImageFile != null)
                {
                    egyptVisionVersion.ArImagePath = _fileService.UploadImageUrlNew(ViewModel.ArImageFile);
                }
                egyptVisionVersion.CreationDate       = DateTime.Now;
                egyptVisionVersion.Id                 = evv.Id;
                egyptVisionVersion.VersionStatusEnum  = VersionStatusEnum.Draft;
                pageRouteVer.ContentVersionStatusEnum = VersionStatusEnum.Draft;
                egyptVisionVersion.ChangeActionEnum   = ChangeActionEnum.Update;
                egyptVisionVersion.ApprovalDate       = evv.ApprovalDate;
                egyptVisionVersion.ApprovedById       = evv.ApprovedById;
                egyptVisionVersion.CreatedById        = evv.CreatedById;
                egyptVisionVersion.CreationDate       = evv.CreationDate;
                egyptVisionVersion.ModificationDate   = evv.ModificationDate;
                egyptVisionVersion.ModifiedById       = evv.ModifiedById;
                egyptVisionVersion.StatusId           = evv.StatusId;
                egyptVisionVersion.EgyptVisionId      = evv.EgyptVisionId;
                _pageRouteVersionRepository.Update(pageRouteVer);
                var update = _egyptVisionVersionRepository.Update(egyptVisionVersion);
                if (update)
                {
                    _toastNotification.AddSuccessToastMessage(ToasrMessages.EditSuccess);

                    _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Update, "Static Page > Page Egypt Vision > Edit", ViewModel.EnEgyptVisionName);

                    return(RedirectToAction(nameof(Index), new { id = pageRouteVer.Id }));
                }
                else
                {
                    _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Warning, "Static Page > Page Egypt Vision > Warning in Edit", ViewModel.EnEgyptVisionName);
                    _toastNotification.AddErrorToastMessage(ToasrMessages.warning);
                    return(View(ViewModel));
                }
            }
            return(View(ViewModel));
        }