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); }
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 })); } }
private void SaveDocument(ImagemDto documentoDto) { Local local = _localRepository.Get(documentoDto.localId); local.nomeImagem = documentoDto.fileName; _localRepository.Update(local); }
public static Imagem ToImagemModel(ImagemDto imagemDto, Imagem imagemModel) { imagemModel.Id = imagemDto.Id; imagemModel.IdProduto = imagemDto.IdProduto; imagemModel.Tipo = imagemDto.Tipo; return(imagemModel); }
public HttpResponseMessage AtualizarImagem([FromBody] ImagemDto imagem) { if (_imagemAppService.AtualizarImagem(imagem)) { return(new HttpResponseMessage(HttpStatusCode.OK)); } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); }
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); } }
public static Imagem ToImagemModel(ImagemDto imagemDto) { return(new Imagem { Id = imagemDto.Id, IdProduto = imagemDto.IdProduto, Tipo = imagemDto.Tipo }); }
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)); } }
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); }
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); }
public bool AdicionarImagem(ImagemDto imagemDto) { return(_imagemService.Create(ImagemAdapter.ToImagemModel(imagemDto))); }