Beispiel #1
0
        public Task <Response <Guid> > CreatePageAsync(CreateCustomPageRequest request)
        {
            return(TryExecuteAsync <Guid>(async() =>
            {
                var uid = Guid.NewGuid();
                var customPage = new CustomPageEntity
                {
                    Id = uid,
                    Title = request.Title.Trim(),
                    RouteName = request.RouteName.ToLower().Trim(),
                    CreateOnUtc = DateTime.UtcNow,
                    HtmlContent = _htmlCodec.HtmlEncode(request.HtmlContent),
                    CssContent = request.CssContent,
                    HideSidebar = request.HideSidebar
                };

                await _customPageRepository.AddAsync(customPage);
                return new SuccessResponse <Guid>(uid);
            }));
        }
        public async Task <IActionResult> Create(CustomPageEditViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if (InvalidPageRouteNames.Contains(model.RouteName.ToLower()))
                    {
                        ModelState.AddModelError(nameof(model.RouteName), "Reserved Route Name.");
                        return(View("CreateOrEdit", model));
                    }

                    var req = new CreateCustomPageRequest
                    {
                        HtmlContent = model.RawHtmlContent,
                        CssContent  = model.CssContent,
                        HideSidebar = model.HideSidebar,
                        RouteName   = model.RouteName,
                        Title       = model.Title
                    };

                    var response = await _customPageService.CreatePageAsync(req);

                    if (response.IsSuccess)
                    {
                        return(RedirectToAction("Manage"));
                    }

                    ModelState.AddModelError(string.Empty, response.Message);
                    return(View("CreateOrEdit", model));
                }
                return(View("CreateOrEdit", model));
            }
            catch (Exception e)
            {
                Logger.LogError(e, "Error Creating CustomPage.");
                ModelState.AddModelError(string.Empty, e.Message);
                return(View("CreateOrEdit", model));
            }
        }
Beispiel #3
0
        public Task <Response <Guid> > CreatePageAsync(CreateCustomPageRequest request)
        {
            return(TryExecuteAsync <Guid>(async() =>
            {
                var uid = Guid.NewGuid();
                var customPage = new CustomPageEntity
                {
                    Id = uid,
                    Title = request.Title.Trim(),
                    RouteName = request.RouteName.ToLower().Trim(),
                    CreateOnUtc = DateTime.UtcNow,
                    HtmlContent = request.HtmlContent,
                    CssContent = request.CssContent,
                    HideSidebar = request.HideSidebar
                };

                await _customPageRepository.AddAsync(customPage);
                await _moongladeAudit.AddAuditEntry(EventType.Content, AuditEventId.PageCreated, $"Page '{customPage.Id}' created.");

                return new SuccessResponse <Guid>(uid);
            }));
        }
        public async Task <Guid> CreateAsync(CreateCustomPageRequest request)
        {
            var uid        = Guid.NewGuid();
            var customPage = new CustomPageEntity
            {
                Id              = uid,
                Title           = request.Title.Trim(),
                Slug            = request.Slug.ToLower().Trim(),
                MetaDescription = request.MetaDescription,
                CreateOnUtc     = DateTime.UtcNow,
                HtmlContent     = request.HtmlContent,
                CssContent      = request.CssContent,
                HideSidebar     = request.HideSidebar,
                IsPublished     = request.IsPublished
            };

            await _customPageRepository.AddAsync(customPage);

            await _blogAudit.AddAuditEntry(EventType.Content, AuditEventId.PageCreated, $"Page '{customPage.Id}' created.");

            return(uid);
        }