public async Task <Page> AddPageAsync(Page page) { VerifyManagementPermission(); var currentPage = await _pageRepository.GetByHeaderAndLanguageAsync(page.PageHeaderId, page.LanguageId); if (currentPage != null) { throw new GraException("Page already exists for header and language."); } page.FooterText = page.FooterText?.Trim(); page.MetaDescription = page.MetaDescription?.Trim(); page.NavText = page.NavText?.Trim(); page.Title = page.Title?.Trim(); return(await _pageRepository.AddSaveAsync(GetClaimId(ClaimType.UserId), page)); }
public async Task <Page> AddPageAsync(Page page) { if (HasPermission(Permission.AddPages)) { var siteId = GetClaimId(ClaimType.SiteId); var existingPage = await _pageRepository.GetByStubAsync(siteId, page.Stub); if (existingPage != null) { throw new GraException("The stub already exists, please enter a different one."); } page.SiteId = siteId; page.Stub = page.Stub.ToLower(); return(await _pageRepository.AddSaveAsync(GetClaimId(ClaimType.UserId), page)); } else { int userId = GetClaimId(ClaimType.UserId); _logger.LogError($"User {userId} doesn't have permission to add pages."); throw new GraException("Permission denied."); } }