public IActionResult Edit(int id, int pageRouteVersionId) { SectionViewModel sectionVm = _dynamicPageSectionVersionRepository.Get(id, pageRouteVersionId); List <PageSectionType> sectionTypes = _dynamicPageSectionRepository.GetPageSectionTypes(); PageSectionEditViewModel viewModel = new PageSectionEditViewModel(sectionTypes, sectionVm); viewModel.Id = id; 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)); }
/// <summary> /// Remove Tags From Description in edit method /// </summary> /// <param name="sectionViewModel">page section object data</param> /// <returns></returns> private PageSectionEditViewModel RemoveTagsFromDescription(PageSectionEditViewModel 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 IActionResult Edit(PageSectionEditViewModel sectionViewModel) { RemoveFieldsFromModelStateDependOnSectionType(ModelState, sectionViewModel.SectionTypeId.Value); sectionViewModel.Section.EnDescription.ValidateHtml("EnDescription", ModelState); sectionViewModel.Section.ArDescription.ValidateHtml("ArDescription", ModelState); if (ModelState.IsValid) { sectionViewModel = RemoveTagsFromDescription(sectionViewModel); PageSectionVersion pageSectionVersion = sectionViewModel.MapToPageSectionVersion(); string oldFilePath = null; var sectionType = _dynamicPageSectionRepository.GetPageSectionType(sectionViewModel.SectionTypeId.Value); if (sectionType.MediaType == SectionMediaType.Image.ToString() && sectionViewModel.Section.Photo != null) { oldFilePath = pageSectionVersion.Url; pageSectionVersion.Url = _fileService.UploadImageUrlNew(sectionViewModel.Section.Photo); } if (sectionType.MediaType == SectionMediaType.Video.ToString()) { pageSectionVersion.Url = sectionViewModel.Section.Url; } PageSectionVersion newPageSectionVersion = _dynamicPageSectionVersionRepository.Update(pageSectionVersion); if (newPageSectionVersion != null) { if (oldFilePath != null) { _fileService.RemoveImage(oldFilePath); } _toastNotification.AddSuccessToastMessage(ToasrMessages.EditSuccess); _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Update, "Dynamic Page > " + ViewBag.DynamicPageName + " > Sections > Edit", newPageSectionVersion.EnTitle); return(RedirectToAction("Index", new { pageRouteVersionId = newPageSectionVersion.PageRouteVersionId })); } _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Warning, "Dynamic Page > " + ViewBag.DynamicPageName + " > Sections > Warning in Edit", pageSectionVersion.EnTitle); _toastNotification.AddErrorToastMessage(ToasrMessages.warning); return(View(sectionViewModel)); } List <PageSectionType> sectionTypes = _dynamicPageSectionRepository.GetPageSectionTypes(); sectionViewModel.SectionTypes = sectionTypes; return(View(sectionViewModel)); }
public static PageSectionVersion MapToPageSectionVersion(this PageSectionEditViewModel dynamicPageSectionViewModel) { PageSectionVersion pageSectionVersion = new PageSectionVersion(); pageSectionVersion.Id = dynamicPageSectionViewModel.Id; 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.CreationDate = dynamicPageSectionViewModel.Section.CreationDate.Value; pageSectionVersion.CreatedById = dynamicPageSectionViewModel.Section.CreatedById; pageSectionVersion.PageSectionTypeId = dynamicPageSectionViewModel.SectionTypeId.Value; pageSectionVersion.PageRouteVersionId = dynamicPageSectionViewModel.pageRouteVersionId; return(pageSectionVersion); }
public virtual PartialViewResult UpdateSectionAjax(PageSectionEditViewModel viewModel) { this._logActionsAsPageViews = false; bool quietOnSave = false; if (viewModel.IsAutoPosted) { quietOnSave = true; } if (viewModel.Index == 0) { ModelState.AddModelError("Index", "Index cannot be 0"); } if (ModelState.IsValid) { PageSection pageSection = null; if (viewModel.PageSectionId.HasValue) { try { pageSection = GStoreDb.UpdatePageSection(viewModel, CurrentStoreFrontOrThrow, CurrentUserProfileOrThrow); if (!quietOnSave) { AddUserMessage("Section Changes Saved!", "Page Section saved successfully", AppHtmlHelpers.UserMessageType.Success); } viewModel = new PageSectionEditViewModel(pageSection.PageTemplateSection, pageSection.Page, pageSection, viewModel.Index, viewModel.AutoSubmit); return(PartialView("_SectionEditPartial", viewModel)); } catch (Exception ex) { string errorMessage = "An error occurred while saving your changes to page section '" + viewModel.PageSectionId.ToString() + " \nError: '" + ex.GetType().FullName + "'"; if (CurrentUserProfileOrThrow.AspNetIdentityUserIsInRoleSystemAdmin()) { errorMessage += " \nException.ToString(): '" + ex.ToString() + "'"; } AddUserMessage("Error Updating Page Section [" + viewModel.PageSectionId + "]!", errorMessage.ToHtmlLines(), AppHtmlHelpers.UserMessageType.Danger); ModelState.AddModelError("Ajax", errorMessage); } } else { try { pageSection = GStoreDb.CreatePageSection(viewModel, CurrentStoreFrontOrThrow, CurrentUserProfileOrThrow); if (!quietOnSave) { AddUserMessage("Section Changes Saved!", "Page Section '" + pageSection.PageTemplateSection.Name.ToHtml() + "' [" + pageSection.PageSectionId + "] created successfully", AppHtmlHelpers.UserMessageType.Success); } viewModel = new PageSectionEditViewModel(pageSection.PageTemplateSection, pageSection.Page, pageSection, viewModel.Index, viewModel.AutoSubmit); return(PartialView("_SectionEditPartial", viewModel)); } catch (Exception ex) { string errorMessage = "An error occurred while creating page section '" + viewModel.PageSectionId.ToString() + "' for Page Template Section [" + viewModel.PageTemplateSectionId + "] \nError: '" + ex.GetType().FullName + "'"; if (CurrentUserProfileOrThrow.AspNetIdentityUserIsInRoleSystemAdmin()) { errorMessage += " \nException.ToString(): '" + ex.ToString() + "'"; } AddUserMessage("Error Creating Page Section [" + viewModel.PageSectionId + "]!", errorMessage.ToHtmlLines(), AppHtmlHelpers.UserMessageType.Danger); ModelState.AddModelError("Ajax", errorMessage); } } } else { AddUserMessage("Section Update Error", "There was an error with your entry. Please correct it.", AppHtmlHelpers.UserMessageType.Danger); } return(PartialView("_SectionEditPartial", viewModel)); }