public async Task <IHttpActionResult> PostMasterPageByUriAsync(string uri, [FromBody] string masterPageUri, CancellationToken cancellationToken) { var portal = await _portalManager.FindByUriAsync(uri, cancellationToken); await ApiSecurity.AuthorizeAsync(portal, AccessPermission.CanEdit, cancellationToken); ValidationResult validationResult; if (masterPageUri == null) { validationResult = await _portalManager.SetMasterPageAsync(portal, null, cancellationToken); } else { var masterPage = await _portalManager.GetPageByUriAsync(portal, masterPageUri, cancellationToken); if (masterPage == null) { return(BadRequest(string.Format(PortalApiResources.PageNotFound, uri))); } validationResult = await _portalManager.SetMasterPageAsync(portal, masterPage, cancellationToken); } if (!validationResult.Succeeded) { return(this.ValidationContent(validationResult)); } return(Ok()); }