public Resultado Alterar(Produto produto)
        {
            var resultado = new Resultado(false);

            try
            {
                resultado = ProdutoValidation.Validate(produto, ProdutoOperation.Alterar);
                if (resultado.Sucesso)
                {
                    var resultadoConsultar = ProdutoRepository.SelecionarPorId(produto);
                    if (resultadoConsultar.Sucesso)
                    {
                        var produtoAlterar = resultadoConsultar.Retorno;
                        produtoAlterar.Nome       = produto.Nome;
                        produtoAlterar.PesoMaximo = produto.PesoMaximo;
                        produtoAlterar.PesoMedio  = produto.PesoMedio;
                        produtoAlterar.PesoMinimo = produto.PesoMinimo;
                        resultado = ProdutoRepository.Atualizar(produtoAlterar);
                    }
                }
            }
            catch (Exception ex)
            {
                resultado = new Resultado(ex);
            }
            return(resultado);
        }
示例#2
0
        public ActionResult <Produto> AdicionarProduto(ProdutoAdicionarViewModel produtoVM)
        {
            var prd = _mapper.Map <Produto>(produtoVM);

            /*
             * Produto produto = new Produto();
             * produto.Descricao = produtoVM.Descricao;
             * produto.Valor = produtoVM.Valor;
             */

            ValidationResult resultadoValidacao = new ProdutoValidation().Validate(prd);

            if (!resultadoValidacao.IsValid)
            {
                return(BadRequest(new
                {
                    erro = resultadoValidacao.Errors.Select(a => a.ErrorMessage)
                }));
            }
            else
            {
                _produtoRepository.Adicionar(prd);
                return(Created(nameof(AdicionarProduto), new { IdCadastrado = prd.Id }));
            }
        }
示例#3
0
        /// <summary>
        /// Teste de Documentação de API.net
        /// Espero que funcione
        /// </summary>
        /// <returns>Objeto contendo valores de um produto.</returns>
        ///
        public ActionResult Inserir(ProdutoInserirViewModel produtoVM)
        {
            Produto produto = _mapper.Map <Produto>(produtoVM);

            ProdutoValidation produtoValidation = new ProdutoValidation();

            ValidationResult resultadoValidacao = produtoValidation.Validate(produto);

            if (!resultadoValidacao.IsValid)
            {
                return(BadRequest(new {
                    sucesso = false,
                    erros = resultadoValidacao.Errors
                            .Select(y => y.ErrorMessage)
                }));
            }
            else
            {
                _produtoRepository.Inserir(produto);
                return(Created(nameof(Inserir), new
                {
                    sucesso = true,
                    id_produto = produto.Id
                }
                               ));
            }
        }
        public override bool IsValid()
        {
            var validation = new ProdutoValidation();

            validation.ValidarNome();
            validation.ValidarValor();
            validation.ValidarDataCriacao();

            ValidationResult = validation.Validate(this);
            return(ValidationResult.IsValid);
        }
示例#5
0
        public async Task Atualizar(Produto produto)
        {
            var validator = new ProdutoValidation();

            if (!ExecutarValidacao(validator, produto))
            {
                return;
            }
            await _produtoRepository.Atualizar(produto);

            return;
        }
        public ActionResult <Produto> AdicionarProduto(ProdutoAdicionarViewModel produtoVM)
        {
            var prd = _mapper.Map <Produto>(produtoVM);

            ValidationResult resultadoValidacao = new ProdutoValidation().Validate(prd);

            if (resultadoValidacao.IsValid == false)
            {
                return(BadRequest(new
                {
                    erro = resultadoValidacao.Errors.Select(a => a.ErrorMessage)
                }));
            }

            _produtoRepository.Adicionar(_mapper.Map <Produto>(produtoVM));

            return(Created(nameof(AdicionarProduto), new { IdCadastrado = prd.Id }));
        }
        public Resultado Incluir(Produto produto)
        {
            var resultado = new Resultado(false);

            try
            {
                resultado = ProdutoValidation.Validate(produto, ProdutoOperation.Incluir);
                if (resultado.Sucesso)
                {
                    resultado = ProdutoRepository.Inserir(produto);
                }
            }
            catch (Exception ex)
            {
                resultado = new Resultado(ex);
            }
            return(resultado);
        }
        public Resultado <Produto> ConsultarPorId(Produto produtoFiltro)
        {
            var resultado = new Resultado <Produto>(true);

            try
            {
                var resultadoValidar = ProdutoValidation.Validate(produtoFiltro, ProdutoOperation.Consultar);
                resultado += resultadoValidar;
                if (resultado.Sucesso)
                {
                    resultado = ProdutoRepository.SelecionarPorId(produtoFiltro);
                }
            }
            catch (Exception ex)
            {
                resultado = new Resultado <Produto>(ex);
            }
            return(resultado);
        }
示例#9
0
        public async Task <Unit> Handle(UpdateProdutoCommand request, CancellationToken cancellationToken)
        {
            var produto = mapper.Map <Produto>(request);

            var validation = new ProdutoValidation().Validate(produto);

            if (!validation.IsValid)
            {
                throw new ValidationException(validation.Errors);
            }

            produtoDomainService.Update(produto);

            await mediator.Publish(new ProdutoNotification
            {
                Produto = produto,
                Action  = ActionNotification.Atualizar
            });

            return(Unit.Value);
        }
        public Resultado Excluir(Produto produto)
        {
            var resultado = new Resultado(false);

            try
            {
                resultado = ProdutoValidation.Validate(produto, ProdutoOperation.Excluir);
                if (resultado.Sucesso)
                {
                    var resultadoConsultar = ProdutoRepository.SelecionarPorId(produto);
                    if (resultadoConsultar.Sucesso)
                    {
                        var produtoExcluir = resultadoConsultar.Retorno;
                        resultado = ProdutoRepository.Remover(produtoExcluir);
                    }
                }
            }
            catch (Exception ex)
            {
                resultado = new Resultado(ex);
            }
            return(resultado);
        }
示例#11
0
 public ProdutoValidationTests()
 {
     _sut = new ProdutoValidation();
 }
 public ProdutoController(LOJAContext context)
 {
     produtoServico    = new ProdutoServico(context);
     produtoValidation = new ProdutoValidation();
 }
示例#13
0
 public override bool EstaValido()
 {
     ValidationResult = new ProdutoValidation().Validate(this);
     return(ValidationResult.IsValid);
 }