Ejemplo n.º 1
0
        public void ProdutoAdapter_ConverterParaModel_DeveRetornarModelImagem()
        {
            //Arrange
            var produtoId = Guid.NewGuid();
            var imagemId  = Guid.NewGuid();

            var imagemEsperada = new Imagem
            {
                Id        = imagemId,
                IdProduto = produtoId,
                Tipo      = "png"
            };

            var imagemDto = new ImagemDto
            {
                Id        = imagemId,
                IdProduto = produtoId,
                Tipo      = "png"
            };


            //Act
            var modelRetorno = ImagemAdapter.ToImagemModel(imagemDto);

            //Assert
            Assert.Equal(imagemEsperada.Id.ToString(), modelRetorno.Id.ToString());
            Assert.Equal(imagemEsperada.IdProduto, modelRetorno.IdProduto);
            Assert.Equal(imagemEsperada.Tipo, modelRetorno.Tipo);
        }
Ejemplo n.º 2
0
        public IActionResult UploadImage()
        {
            try
            {
                var    file       = Request.Form.Files[0];
                string localId    = Request.Form["localId"].ToString();
                int    fileLength = Convert.ToInt32(file.Length);

                Stream stream = file.OpenReadStream();
                byte[] buffer = TransformationUtils.ConvertStreamToByteArray(stream, fileLength);

                ImagemDto imagem = new ImagemDto()
                {
                    file     = buffer,
                    fileName = file.Name,
                    localId  = localId
                };

                _localService.UploadImagem(imagem, file.Name, file.FileName, fileLength);

                return(Ok());
            }
            catch (Exception e)
            {
                return(BadRequest(new ErrorResponse()
                {
                    Status = 400,
                    Message = e.Message
                }));
            }
        }
Ejemplo n.º 3
0
        private void SaveDocument(ImagemDto documentoDto)
        {
            Local local = _localRepository.Get(documentoDto.localId);

            local.nomeImagem = documentoDto.fileName;

            _localRepository.Update(local);
        }
Ejemplo n.º 4
0
        public static Imagem ToImagemModel(ImagemDto imagemDto, Imagem imagemModel)
        {
            imagemModel.Id        = imagemDto.Id;
            imagemModel.IdProduto = imagemDto.IdProduto;
            imagemModel.Tipo      = imagemDto.Tipo;

            return(imagemModel);
        }
Ejemplo n.º 5
0
        public HttpResponseMessage AtualizarImagem([FromBody] ImagemDto imagem)
        {
            if (_imagemAppService.AtualizarImagem(imagem))
            {
                return(new HttpResponseMessage(HttpStatusCode.OK));
            }

            return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
        }
Ejemplo n.º 6
0
        public void UploadImagem(ImagemDto documentoDto, string tipoDocumento, string nomeArquivoOrigem, int tamanhoArquivo)
        {
            // Limite 5MB
            if (tamanhoArquivo > 5242880)
            {
                throw new Exception("O arquivo não pode ser maior do que 5MB");
            }

            string        diretorio        = string.Empty;
            List <string> extensionsAccept = new List <string>()
            {
                ".jpg", ".jpeg", ".png"
            };

            try
            {
                FileInfo fileInfo = new FileInfo(nomeArquivoOrigem);

                string extension = fileInfo.Extension.ToLower();

                if (!extensionsAccept.Contains(extension))
                {
                    throw new Exception($"Não é permitido carregar imagens com extensão '{extension}'");
                }

                string fileName = string.Format("{0}{1}", tipoDocumento, extension);

                //var ddiretorio = Path.Combine(Directory.GetCurrentDirectory(), $"{ProjectConfig.resources}", documentoDto.localId);
                diretorio = Path.Combine(Directory.GetCurrentDirectory(), "Resources", documentoDto.localId);

                documentoDto.fileName = fileName;

                SaveFile(documentoDto, diretorio);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }

            try
            {
                SaveDocument(documentoDto);
            }
            catch (Exception e)
            {
                diretorio = Path.Combine(diretorio, documentoDto.fileName);
                // DELETAR ARQUIVO DA PASTA
                FileInfo fi = new FileInfo(diretorio);

                if (fi.Exists)
                {
                    fi.Delete();
                }

                throw new Exception(e.Message);
            }
        }
Ejemplo n.º 7
0
 public static Imagem ToImagemModel(ImagemDto imagemDto)
 {
     return(new Imagem
     {
         Id = imagemDto.Id,
         IdProduto = imagemDto.IdProduto,
         Tipo = imagemDto.Tipo
     });
 }
Ejemplo n.º 8
0
        public HttpResponseMessage AdicionarImagem([FromBody] ImagemDto imagem)
        {
            if (ModelState.IsValid)
            {
                if (_imagemAppService.AdicionarImagem(imagem))
                {
                    return(new HttpResponseMessage(HttpStatusCode.OK));
                }

                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Erro ao adicionar o produto. Verifique se o produto já está cadastrado ou se um subproduto possui um produto"));
            }
            else
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }
        }
Ejemplo n.º 9
0
        private void SaveFile(ImagemDto documentoDto, string diretorio)
        {
            if (!Directory.Exists(diretorio))
            {
                Directory.CreateDirectory(diretorio);
            }


            DeleteOldFiles(diretorio, documentoDto.fileName.Substring(0, documentoDto.fileName.IndexOf(".")));


            diretorio = Path.Combine(diretorio, documentoDto.fileName);

            // copiar o buffer no arquivo
            File.WriteAllBytes(diretorio, documentoDto.file);
        }
Ejemplo n.º 10
0
        public bool AtualizarImagem(ImagemDto imagemDto)
        {
            var imagem = _imagemService.FindByPK(imagemDto.Id);

            if (imagem == null)
            {
                return(false);
            }

            //Verifica se a imagem pertence ao produto
            if (imagem.Id != imagemDto.Id)
            {
                return(false);
            }

            _imagemService.Update(ImagemAdapter.ToImagemModel(imagemDto, imagem));
            return(true);
        }
Ejemplo n.º 11
0
 public bool AdicionarImagem(ImagemDto imagemDto)
 {
     return(_imagemService.Create(ImagemAdapter.ToImagemModel(imagemDto)));
 }