public IHttpActionResult AddHeaderToDocument([FromUri] Guid document_id, [FromBody] AddHeader header) { if (IsTokenValid() && authenticationService.IsAllowedToUpdateDocument(GetTokenUserEmail(), document_id)) { try { Header newHeader = headerManagementService.Add(document_id, AddHeader.ToEntity(header)); BaseHeader modelNewHeader = BaseHeader.ToModel(newHeader); documentLogger.LogModificationToDocument(document_id); return(CreatedAtRoute("AddHeader", new { documentid = document_id, headerid = modelNewHeader.Id }, modelNewHeader)); } catch (MissingDocumentException e) { return(BadRequest(e.Message)); } catch (ExistingHeaderException e) { return(BadRequest(e.Message)); } } return(Unauthorized()); }