Ejemplo n.º 1
0
        private HtmlContentWidget GetHtmlContentWidgetFromRequest(EditHtmlContentWidgetViewModel request, bool treatNullsAsLists, bool isNew)
        {
            HtmlContentWidget content = new HtmlContentWidget();

            content.Id = request.Id;

            if (request.CategoryId.HasValue && !request.CategoryId.Value.HasDefaultValue())
            {
                content.Category = repository.AsProxy <CategoryEntity>(request.CategoryId.Value);
            }
            else
            {
                content.Category = null;
            }

            SetWidgetOptions(request, content, treatNullsAsLists, isNew);

            content.Name             = request.Name;
            content.Html             = request.PageContent ?? string.Empty;
            content.UseHtml          = request.EnableCustomHtml;
            content.UseCustomCss     = request.EnableCustomCSS;
            content.CustomCss        = request.CustomCSS;
            content.UseCustomJs      = request.EnableCustomJS;
            content.CustomJs         = request.CustomJS;
            content.Version          = request.Version;
            content.EditInSourceMode = request.EditInSourceMode;

            return(content);
        }
Ejemplo n.º 2
0
        public static EditHtmlContentWidgetViewModel ToServiceModel(this SaveHtmlContentWidgetModel model)
        {
            var serviceModel = new EditHtmlContentWidgetViewModel();

            serviceModel.Version         = model.Version;
            serviceModel.Name            = model.Name;
            serviceModel.DesirableStatus = model.IsPublished ? ContentStatus.Published : ContentStatus.Draft;
            serviceModel.PublishedOn     = model.PublishedOn;
            serviceModel.PublishedByUser = model.PublishedByUser;
            serviceModel.Categories      = model.Categories != null?model.Categories.Select(c => new LookupKeyValue()
            {
                Key = c.ToString(),
            }).ToList() : new List <LookupKeyValue>();

            serviceModel.CustomCSS        = model.CustomCss;
            serviceModel.EnableCustomCSS  = model.UseCustomCss;
            serviceModel.PageContent      = model.Html;
            serviceModel.EnableCustomHtml = model.UseHtml;
            serviceModel.CustomJS         = model.CustomJavaScript;
            serviceModel.EnableCustomJS   = model.UseCustomJavaScript;

            if (model.Options != null)
            {
                serviceModel.Options = model.Options.ToServiceModel();
            }

            return(serviceModel);
        }
Ejemplo n.º 3
0
        public void SaveHtmlContentWidget(EditHtmlContentWidgetViewModel model, IList <ContentOptionValuesViewModel> childContentOptionValues,
                                          out HtmlContentWidget widget, out HtmlContentWidget originalWidget,
                                          bool treatNullsAsLists = true, bool createIfNotExists = false)
        {
            if (model.Options != null)
            {
                optionService.ValidateOptionKeysUniqueness(model.Options);
            }

            unitOfWork.BeginTransaction();

            bool isCreatingNew;

            var widgetContent = GetHtmlContentWidgetFromRequest(model, treatNullsAsLists, !model.Id.HasDefaultValue());

            widget = GetWidgetForSave(widgetContent, model, createIfNotExists, out isCreatingNew);

            optionService.SaveChildContentOptions(widget, childContentOptionValues, model.DesirableStatus);

            repository.Save(widget);
            unitOfWork.Commit();

            // Notify
            if (widget.Status != ContentStatus.Preview)
            {
                if (isCreatingNew)
                {
                    Events.PageEvents.Instance.OnWidgetCreated(widget);
                }
                else
                {
                    Events.PageEvents.Instance.OnWidgetUpdated(widget);
                }
            }

            originalWidget = widget;
            if (model.DesirableStatus == ContentStatus.Draft && widget.History != null)
            {
                var draft = widget.History.FirstOrDefault(h => h is HtmlContentWidget && !h.IsDeleted && h.Status == ContentStatus.Draft) as HtmlContentWidget;
                if (draft != null)
                {
                    widget = draft;
                }
            }
        }
Ejemplo n.º 4
0
        private HtmlContentWidget GetHtmlContentWidgetFromRequest(EditHtmlContentWidgetViewModel request, bool treatNullsAsLists, bool isNew)
        {
            HtmlContentWidget content = new HtmlContentWidget();

            content.Id = request.Id;

            SetWidgetCategories(request, content, treatNullsAsLists, isNew);
            SetWidgetOptions(request, content, treatNullsAsLists, isNew);

            content.Name             = request.Name;
            content.Html             = request.PageContent ?? string.Empty;
            content.UseHtml          = request.EnableCustomHtml;
            content.UseCustomCss     = request.EnableCustomCSS;
            content.CustomCss        = request.CustomCSS;
            content.UseCustomJs      = request.EnableCustomJS;
            content.CustomJs         = request.CustomJS;
            content.Version          = request.Version;
            content.EditInSourceMode = request.EditInSourceMode;

            return(content);
        }
Ejemplo n.º 5
0
        public ActionResult EditHtmlContentWidget(EditHtmlContentWidgetViewModel model)
        {
            if (ModelState.IsValid)
            {
                var response = GetCommand <SaveHtmlContentWidgetCommand>().ExecuteCommand(model);
                if (response != null)
                {
                    if (model.Id.HasDefaultValue())
                    {
                        Messages.AddSuccess(PagesGlobalization.SaveWidget_CreatedSuccessfully_Message);
                    }

                    return(Json(new WireJson {
                        Success = true, Data = response
                    }));
                }
            }

            return(Json(new WireJson {
                Success = false
            }));
        }
        public static EditHtmlContentWidgetViewModel ToServiceModel(this SaveHtmlContentWidgetModel model)
        {
            var serviceModel = new EditHtmlContentWidgetViewModel();

            serviceModel.Version          = model.Version;
            serviceModel.Name             = model.Name;
            serviceModel.DesirableStatus  = model.IsPublished ? ContentStatus.Published : ContentStatus.Draft;
            serviceModel.PublishedOn      = model.PublishedOn;
            serviceModel.PublishedByUser  = model.PublishedByUser;
            serviceModel.CategoryId       = model.CategoryId;
            serviceModel.CustomCSS        = model.CustomCss;
            serviceModel.EnableCustomCSS  = model.UseCustomCss;
            serviceModel.PageContent      = model.Html;
            serviceModel.EnableCustomHtml = model.UseHtml;
            serviceModel.CustomJS         = model.CustomJavaScript;
            serviceModel.EnableCustomJS   = model.UseCustomJavaScript;

            if (model.Options != null)
            {
                serviceModel.Options = model.Options.ToServiceModel();
            }

            return(serviceModel);
        }