public HttpResponseMessage UploadDocument(DocumentContractModel document)
        {
            UserContractModel user = GetUser();

            if (!string.IsNullOrEmpty(user.Username) && user.Admin)
            {
                try
                {
                    if (!ModelState.IsValid)
                    {
                        return(Request.CreateResponse(HttpStatusCode.BadRequest));
                    }
                    document.Username = user.Username;
                    business.UploadDocument(document);

                    return(Request.CreateResponse(HttpStatusCode.OK));
                }
                catch (BusinessException ex)
                {
                    logger.Error(ex.Message);
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, ex));
                }
                catch (Exception ex)
                {
                    logger.Error(ex.Message);
                    return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex));
                }
            }
            return(Request.CreateResponse(HttpStatusCode.Unauthorized));
        }
Exemplo n.º 2
0
 private void ValidarModel(DocumentContractModel documentContractModel)
 {
     if (documentContractModel == null || string.IsNullOrEmpty(documentContractModel.Data))
     {
         throw new BusinessException("O arquivo escolhido não pode ser carregado.");
     }
 }
Exemplo n.º 3
0
        public void UploadDocument(DocumentContractModel documentContractModel)
        {
            ValidarModel(documentContractModel);
            Document doc = new Document()
            {
                Name       = documentContractModel.Name,
                Type       = documentContractModel.Type,
                Size       = documentContractModel.Size,
                Data       = Convert.FromBase64String(documentContractModel.Data),
                Username   = documentContractModel.Username,
                UploadDate = DateTime.Now
            };

            repo.SaveDocument(doc);
        }
Exemplo n.º 4
0
        public DocumentContractModel DownloadFile(int documentId)
        {
            Document document = repo.GetDocument(documentId);

            ValidarDocumentoParaDownload(document);
            document.LastDownloadDate = DateTime.Now;
            repo.UpdateDocument(document);

            DocumentContractModel docContractModel = new DocumentContractModel
            {
                Name          = document.Name,
                DataByteArray = document.Data
            };

            return(docContractModel);
        }
Exemplo n.º 5
0
 public void UploadDocument_ValidDocumentUpload_Success()
 {
     try
     {
         DocumentContractModel documentContractModel = new DocumentContractModel
         {
             Name     = "Teste.doc",
             Type     = "teste",
             Size     = 123456,
             Data     = "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz",
             Username = "******"
         };
         _business.Setup(m => m.UploadDocument(documentContractModel));
         Assert.IsTrue(true);
     }
     catch (Exception)
     {
         Assert.IsTrue(false);
     }
 }
        public HttpResponseMessage DownloadFile(int documentId)
        {
            HttpResponseMessage result = null;

            try
            {
                DocumentContractModel document = business.DownloadFile(documentId);
                result         = Request.CreateResponse(HttpStatusCode.OK);
                result.Content = new ByteArrayContent(document.DataByteArray);
                result.Content.Headers.ContentDisposition          = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment");
                result.Content.Headers.ContentDisposition.FileName = document.Name;
                return(result);
            }
            catch (BusinessException ex)
            {
                logger.Error(ex.Message);
                return(Request.CreateResponse(HttpStatusCode.BadRequest, ex));
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex));
            }
        }
Exemplo n.º 7
0
        public void UploadDocument_InvalidDocumentUpload_Error()
        {
            DocumentContractModel documentContractModel = null;

            _business.Setup(m => m.UploadDocument(documentContractModel)).Throws(new BusinessException("O arquivo escolhido não pode ser carregado."));
        }