public IHttpActionResult GetDocumentsFooter([FromUri] Guid document_id)
        {
            if (IsTokenValid() && authenticationService.IsAllowedToGetDocument(GetTokenUserEmail(), document_id))
            {
                try
                {
                    return(Ok(BaseFooter.ToModel(footerManagementService.GetByDocument(document_id))));
                }
                catch (MissingDocumentException e)
                {
                    return(BadRequest(e.Message));
                }
                catch (Exceptions e)
                {
                    return(BadRequest(e.Message));
                }
            }

            return(Unauthorized());
        }
        public IHttpActionResult AddFooterToDocument([FromUri] Guid document_id, [FromBody] AddFooter footer)
        {
            if (IsTokenValid() && authenticationService.IsAllowedToUpdateDocument(GetTokenUserEmail(), document_id))
            {
                try
                {
                    Footer     newFooter      = footerManagementService.Add(document_id, AddFooter.ToEntity(footer));
                    BaseFooter modelNewFooter = BaseFooter.ToModel(newFooter);
                    documentLogger.LogModificationToDocument(document_id);

                    return(CreatedAtRoute("AddFooter", new { documentid = document_id, footerid = modelNewFooter.Id }, modelNewFooter));
                }
                catch (MissingDocumentException e)
                {
                    return(BadRequest(e.Message));
                }
                catch (Exceptions e)
                {
                    return(BadRequest(e.Message));
                }
            }

            return(Unauthorized());
        }