public bool Insert(ProdutoImagemDTO imagem)
        {
            bool result = _repository.Update(Mapper.Map <Produto_Imagens>(imagem));

            if (!result)
            {
                throw new Exception("Nao foi possivel atualizar este Produto.");
            }

            return(result);
        }
        public async Task <ActionResult <ProdutoDTO> > AdicionarAlternativo(ProdutoImagemDTO produtoImagemDTO)
        {
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            var imgPrefixo = Guid.NewGuid() + "_";

            if (!await UploadArquivoAlternativo(produtoImagemDTO.ImagemUpload, imgPrefixo))
            {
                return(CustomResponse(ModelState));
            }

            produtoImagemDTO.Imagem = imgPrefixo + produtoImagemDTO.ImagemUpload.FileName;
            await _produtoService.Adicionar(_mapper.Map <Produto>(produtoImagemDTO));

            return(CustomResponse(produtoImagemDTO));
        }
Example #3
0
        public async Task <IHttpActionResult> Upload(int produtoId)
        {
            string uploadPath = "";
            var    retorno    = new ProdutoImagemDTO();

            try
            {
                List <ProdutoImagemDTO> imagens = new List <ProdutoImagemDTO>();
                var provider = new CustomMultipartFormDataStreamProvider(DirectoryHelper.GetDirectory($@"C:\Produtos\Produto_{produtoId}\"));

                await Task.Run(async() => await Request.Content.ReadAsMultipartAsync(provider));

                foreach (var file in provider.FileData)
                {
                    var fileInfo = new FileInfo(file.LocalFileName);
                    var filePath = $@"Produto_{produtoId}\{fileInfo.Name}";

                    uploadPath = $@"C:\Produtos\{filePath}";

                    imagens.Add(new ProdutoImagemDTO()
                    {
                        ProdutoId = produtoId,
                        Imagem    = uploadPath
                    });

                    retorno.ProdutoId = produtoId;
                    retorno.Imagem    = filePath;

                    _business.UploadImagemPrincipal(produtoId, filePath);
                }
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }

            return(Ok(retorno));
        }
        public bool Delete(int produtoId, string imagem)
        {
            ProdutoImagemDTO produto = GetByProdutoIdAndName(produtoId, imagem);

            return(_repository.Delete(Mapper.Map <Produto_Imagens>(produto)));
        }