示例#1
0
        public async Task <Guid> CreateAsync(UpdatePageRequest request)
        {
            var uid  = Guid.NewGuid();
            var page = new PageEntity
            {
                Id              = uid,
                Title           = request.Title.Trim(),
                Slug            = request.Slug.ToLower().Trim(),
                MetaDescription = request.MetaDescription,
                CreateTimeUtc   = DateTime.UtcNow,
                HtmlContent     = request.HtmlContent,
                CssContent      = request.CssContent,
                HideSidebar     = request.HideSidebar,
                IsPublished     = request.IsPublished
            };

            await _pageRepo.AddAsync(page);

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

            return(uid);
        }
示例#2
0
        public async Task <Guid> UpdateAsync(Guid id, UpdatePageRequest request)
        {
            var page = await _pageRepo.GetAsync(id);

            if (page is null)
            {
                throw new InvalidOperationException($"PageEntity with Id '{id}' not found.");
            }

            page.Title           = request.Title.Trim();
            page.Slug            = request.Slug.ToLower().Trim();
            page.MetaDescription = request.MetaDescription;
            page.HtmlContent     = request.HtmlContent;
            page.CssContent      = request.CssContent;
            page.HideSidebar     = request.HideSidebar;
            page.UpdateTimeUtc   = DateTime.UtcNow;
            page.IsPublished     = request.IsPublished;

            await _pageRepo.UpdateAsync(page);

            await _audit.AddAuditEntry(EventType.Content, AuditEventId.PageUpdated, $"Page '{id}' updated.");

            return(page.Id);
        }