Пример #1
0
        /// <summary>
        /// Remove Tags From Description in create method
        /// </summary>
        /// <param name="sectionViewModel">page section object data</param>
        /// <returns></returns>
        private PageSectionCreateViewModel RemoveTagsFromDescription(PageSectionCreateViewModel sectionViewModel)
        {
            if (sectionViewModel.Section.ArDescription != null)
            {
                sectionViewModel.Section.ArDescription = sectionViewModel.Section.ArDescription.Replace("<p>", "");
                sectionViewModel.Section.ArDescription = sectionViewModel.Section.ArDescription.Replace("</p>", "");
            }
            if (sectionViewModel.Section.EnDescription != null)
            {
                sectionViewModel.Section.EnDescription = sectionViewModel.Section.EnDescription.Replace("<p>", "");
                sectionViewModel.Section.EnDescription = sectionViewModel.Section.EnDescription.Replace("</p>", "");
            }

            return(sectionViewModel);
        }
        public static PageSectionVersion MapToPageSectionVersion(this PageSectionCreateViewModel dynamicPageSectionViewModel)
        {
            PageSectionVersion pageSectionVersion = new PageSectionVersion();

            pageSectionVersion.EnTitle            = dynamicPageSectionViewModel.Section.EnTitle;
            pageSectionVersion.ArTitle            = dynamicPageSectionViewModel.Section.ArTitle;
            pageSectionVersion.EnDescription      = dynamicPageSectionViewModel.Section.EnDescription;
            pageSectionVersion.ArDescription      = dynamicPageSectionViewModel.Section.ArDescription;
            pageSectionVersion.EnImageAlt         = dynamicPageSectionViewModel.Section.EnImageAlt;
            pageSectionVersion.ArImageAlt         = dynamicPageSectionViewModel.Section.ArImageAlt;
            pageSectionVersion.Url                = dynamicPageSectionViewModel.Section.Url;
            pageSectionVersion.Order              = dynamicPageSectionViewModel.Section.Order;
            pageSectionVersion.IsActive           = dynamicPageSectionViewModel.Section.IsActive;
            pageSectionVersion.PageSectionTypeId  = dynamicPageSectionViewModel.SectionTypeId.Value;
            pageSectionVersion.PageRouteVersionId = dynamicPageSectionViewModel.pageRouteVersionId;
            return(pageSectionVersion);
        }
Пример #3
0
        public IActionResult Create(int pageRouteVersionId)
        {
            List <PageSectionType>     sectionTypes = _dynamicPageSectionRepository.GetPageSectionTypes();
            PageSectionCreateViewModel viewModel    = new PageSectionCreateViewModel(sectionTypes);

            viewModel.pageRouteVersionId = pageRouteVersionId;
            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;
            return(View(viewModel));
        }
Пример #4
0
        public async Task <IActionResult> Create(PageSectionCreateViewModel sectionViewModel)
        {
            List <PageSectionType> sectionTypes;

            RemoveFieldsFromModelStateDependOnSectionType(ModelState, sectionViewModel.SectionTypeId ?? 0);

            sectionViewModel.Section.EnDescription.ValidateHtml("EnDescription", ModelState);
            sectionViewModel.Section.ArDescription.ValidateHtml("ArDescription", ModelState);
            PageSectionType sectionType = null;

            if (sectionViewModel.SectionTypeId != null)
            {
                sectionType = _dynamicPageSectionRepository.GetPageSectionType(sectionViewModel.SectionTypeId.Value);
                if (sectionType.MediaType == SectionMediaType.Image.ToString() && sectionViewModel.Section.Photo == null)
                {
                    ModelState.AddModelError(nameof(sectionViewModel.Section.Photo), "you should uplaod a photo.");
                    _toastNotification.AddWarningToastMessage("you should uplaod a photo.");
                }
            }


            if (ModelState.IsValid)
            {
                sectionViewModel = RemoveTagsFromDescription(sectionViewModel);

                PageSectionVersion pageSectionVersion = sectionViewModel.MapToPageSectionVersion();


                if (sectionType.MediaType == SectionMediaType.Image.ToString())
                {
                    pageSectionVersion.Url = _fileService.UploadImageUrlNew(sectionViewModel.Section.Photo);
                }
                var user = await _userManager.GetUserAsync(HttpContext.User);

                pageSectionVersion.CreatedById  = user.Id;
                pageSectionVersion.CreationDate = DateTime.Now;

                PageSectionVersion newDynamicPageSectionVersion = _dynamicPageSectionVersionRepository.Add(pageSectionVersion);
                if (newDynamicPageSectionVersion != null)
                {
                    _toastNotification.AddSuccessToastMessage(ToasrMessages.AddSuccess);
                    if (sectionViewModel.submit != null)
                    {
                        return(RedirectToAction("Index", "DynamicSectionCard", new { id = newDynamicPageSectionVersion.Id, pageRouteVersionId = newDynamicPageSectionVersion.PageRouteVersionId }));
                    }

                    _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Add, "Dynamic Page > " + ViewBag.DynamicPageName + " > Sections > Add ", pageSectionVersion.EnTitle);

                    return(RedirectToAction("Index", new { pageRouteVersionId = newDynamicPageSectionVersion.PageRouteVersionId }));
                }
                else
                {
                    _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Warning, "Dynamic Page > " + ViewBag.DynamicPageName + " > Sections > Warning in Add", pageSectionVersion.EnTitle);
                    _toastNotification.AddErrorToastMessage(ToasrMessages.warning);

                    sectionTypes     = _dynamicPageSectionRepository.GetPageSectionTypes();
                    sectionViewModel = new PageSectionCreateViewModel(sectionTypes);

                    return(View(sectionViewModel));
                }
            }
            sectionTypes = _dynamicPageSectionRepository.GetPageSectionTypes();
            var pageRouteVer = sectionViewModel.pageRouteVersionId;

            sectionViewModel = new PageSectionCreateViewModel(sectionTypes);
            sectionViewModel.pageRouteVersionId = pageRouteVer;

            return(View(sectionViewModel));
        }