예제 #1
0
        public ActionResult SalvarImagemExtras(string idProduto, string descricao)
        {
            string retorno = "OK";
            var    produtoImagemViewModel = new ProdutoImagemViewModel();

            produtoImagemViewModel.IdProdutoImagem   = Guid.NewGuid();
            produtoImagemViewModel.IdProduto         = Guid.Parse(idProduto);
            produtoImagemViewModel.NomeArquivo       = descricao;
            produtoImagemViewModel.Descricao         = descricao;
            produtoImagemViewModel.Ordem             = 1;
            produtoImagemViewModel.CaminhoFisico     = "~/Uploads/Produtos/" + descricao;
            produtoImagemViewModel.FotoPrincipal     = true;
            produtoImagemViewModel.DtCadastro        = DateTime.Now;
            produtoImagemViewModel.IdUsuarioCadastro = Guid.NewGuid();

            var result = _produtoImagemApp.Add(produtoImagemViewModel);

            if (!result.IsValid)
            {
                retorno = "NOK";
                foreach (var validationAppError in result.Erros)
                {
                    ModelState.AddModelError(string.Empty, validationAppError.Message);
                }
            }

            return(new JsonResult()
            {
                Data = retorno
            });
        }
예제 #2
0
        public void Remove(ProdutoImagemViewModel modelViewModel)
        {
            var model = Mapper.Map <ProdutoImagemViewModel, ProdutoImagem>(modelViewModel);

            BeginTransaction();
            _modelService.Remove(model);
            Commit();
        }
 public static ProdutoViewModel ObterInstanciaPorTransformacao(ProdutoImagemViewModel produtoImagemVM)
 {
     return(new ProdutoViewModel
     {
         Id = produtoImagemVM.Id,
         Ativo = produtoImagemVM.Ativo,
         DataCadastro = produtoImagemVM.DataCadastro,
         Descricao = produtoImagemVM.Descricao,
         FornecedorId = produtoImagemVM.FornecedorId,
         Imagem = produtoImagemVM.Imagem,
         ImagemUpload = string.Empty,
         Nome = produtoImagemVM.Nome,
         NomeFornecedor = produtoImagemVM.NomeFornecedor,
         Valor = produtoImagemVM.Valor,
     });
 }
예제 #4
0
        public ValidationAppResult Add(ProdutoImagemViewModel modelViewModel)
        {
            var model = Mapper.Map <ProdutoImagemViewModel, ProdutoImagem>(modelViewModel);

            BeginTransaction();

            var result = _modelService.AdicionarProdutoImagem(model);

            if (!result.IsValid)
            {
                return(DomainToApplicationResult(result));
            }

            Commit();

            return(DomainToApplicationResult(result));
        }
예제 #5
0
        public async Task <ActionResult <ProdutoViewModel> > AdicionarAlternativo(ProdutoImagemViewModel produtoViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

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

            if (!await UploadArquivoAlternativo(produtoViewModel.ImagemUpload, imgPrefixo))
            {
                return(CustomResponse(ModelState));
            }
            produtoViewModel.Imagem = imgPrefixo + produtoViewModel.ImagemUpload.FileName;
            await _produtoService.Adicionar(_mapper.Map <Produto>(produtoViewModel));

            return(CustomResponse(produtoViewModel));
        }
        private HttpContent CriarFormDataRequest(ProdutoImagemViewModel produtoVM, Stream imageStream)
        {
            var content = new MultipartFormDataContent
            {
                // file
                { new StreamContent(imageStream), nameof(produtoVM.ImagemUpload), produtoVM.Imagem },

                // payload
                { new StringContent(produtoVM.Id.ToString()), nameof(produtoVM.Id) },
                { new StringContent(produtoVM.FornecedorId.ToString()), nameof(produtoVM.FornecedorId) },
                { new StringContent(produtoVM.Nome), nameof(produtoVM.Nome) },
                { new StringContent(produtoVM.Descricao), nameof(produtoVM.Descricao) },
                { new StringContent(produtoVM.Valor.ToString(new CultureInfo("pt-BR"))), nameof(produtoVM.Valor) },
                { new StringContent(produtoVM.Ativo.ToString().ToLower()), nameof(produtoVM.Ativo) }
            };

            return(content);
        }
        public async Task <ActionResult <ProdutoViewModel> > AdicionarAlternativo(ProdutoImagemViewModel produtoViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            var imgPrefixo = Guid.NewGuid() + "_"; // cria novo padrão para nome da imagem

            if (!await UploadAlternativo(produtoViewModel.ImagemUpload, imgPrefixo))
            {
                return(CustomResponse(produtoViewModel));
            }

            produtoViewModel.Imagem = imgPrefixo + produtoViewModel.ImagemUpload.FileName; //atualiza nome da imagem antes de salvar
            await _produtoService.Adicionar(_mapper.Map <Produto>(produtoViewModel));

            return(CustomResponse(produtoViewModel));
        }
        public async Task <ActionResult <ProdutoViewModel> > AdicionarAlternativo(ProdutoImagemViewModel produtoViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            var imgPrefixo = Guid.NewGuid() + "_"; //no IFormFile eu já recebo o nome da imagem

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

            //atribui o novo nome da imagem concatenado com o new guid
            produtoViewModel.Imagem = imgPrefixo + produtoViewModel.ImagemUpload.FileName;

            var produto = _mapper.Map <Produto>(produtoViewModel);
            await _produtoService.Adicionar(produto);

            return(CustomResponse(produtoViewModel));
        }
        public async Task <ActionResult <ProdutoImagemViewModel> > AdicionarAlternativo(IFormFile imagem, ProdutoImagemViewModel produtoImagemViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            var imgPrefix = $"{Guid.NewGuid()}_";

            if (!await UploadArquivoAlternativo(produtoImagemViewModel.ImagemUpload, imgPrefix))
            {
                return(CustomResponse(produtoImagemViewModel));
            }

            produtoImagemViewModel.Imagem = imgPrefix + produtoImagemViewModel.ImagemUpload.FileName;

            await _produtoRepository.Adicionar(produtoImagemViewModel.Adapt <Produto>());

            return(CustomResponse(produtoImagemViewModel));
        }
 public void Update(ProdutoImagemViewModel produtoImagemViewModel)
 {
     _produtoImagemService.Update(Mapper.Map <ProdutoImagemViewModel, ProdutoImagem>(produtoImagemViewModel));
 }
 public void Add(ProdutoImagemViewModel produtoImagemViewModel)
 {
     _produtoImagemService.Add(Mapper.Map <ProdutoImagemViewModel, ProdutoImagem>(produtoImagemViewModel));
 }
        public async Task <ActionResult <ProdutoViewModel> > AdicionarComImagemGrande([FromForm] ProdutoImagemViewModel produtoVM)
        {
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            string imagemPrefixo = $"{Guid.NewGuid()}_";

            if (!await UploadImagem(produtoVM.ImagemUpload, imagemPrefixo))
            {
                return(CustomResponse(ModelState));
            }

            var produto = _mapper.Map <Produto>(produtoVM);

            produto.Imagem = imagemPrefixo + produtoVM.ImagemUpload.FileName;

            await _produtoService.Adicionar(produto);

            return(CustomResponse(_mapper.Map <ProdutoViewModel>(produto)));
        }
        public async Task <ActionResult <ProdutoViewModel> > AtualizarComImagemGrande([FromRoute] Guid id, [FromForm] ProdutoImagemViewModel produtoVM)
        {
            if (id != produtoVM.Id)
            {
                return(CustomErrorResponse("O ID informado não é o mesmo que foi passado na rota!"));
            }

            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            var produto = await _produtoRepository.Buscar(p => p.Id == id);

            if (produto == null)
            {
                return(NotFound("O produto não foi encontrado."));
            }

            if (produtoVM.ImagemUpload != null)
            {
                if (!await DeletarImagem(produto.Imagem))
                {
                    return(CustomResponse(ModelState));
                }

                string imagemPrefixo = $"{Guid.NewGuid()}_";
                if (!await UploadImagem(produtoVM.ImagemUpload, imagemPrefixo))
                {
                    return(CustomResponse(ModelState));
                }

                produtoVM.Imagem = imagemPrefixo + produtoVM.ImagemUpload.FileName;
            }

            var produtoAtualizar = _mapper.Map <Produto>(produtoVM);

            await _produtoService.Atualizar(produtoAtualizar);

            return(CustomResponse(produtoVM));
        }