Exemplo n.º 1
0
        public async Task <ActionResult <Produto> > PostProduto(ProdutoDTO produtoDTO)
        {
            decimal precoResult = 0;
            var     listaErros  = new List <RetornoErrosDTO>();

            produtoDTO.Preco = produtoDTO.Preco.Replace(",", "").Replace(".", "");
            try
            {
                if ((Convert.ToDecimal(produtoDTO.Preco) / 100) > 0)
                {
                    precoResult = decimal.Parse(string.Format("{0:#.00}", Convert.ToDecimal(produtoDTO.Preco) / 100));
                }
            }
            catch (InvalidCastException)
            {
                listaErros.Add(new RetornoErrosDTO()
                {
                    Key = "preco", Value = "Preço inválido!"
                });
                return(BadRequest(JsonConvert.SerializeObject(listaErros)));
            }


            var produto = new Produto()
            {
                Nome       = produtoDTO.Nome,
                Descricao  = produtoDTO.Descricao,
                Preco      = precoResult,
                Quantidade = produtoDTO.Quantidade
            };
            var categoria = await _context.Categoria.FindAsync(produtoDTO.IdCategoria);

            if (categoria != null)
            {
                produto.Categoria = categoria;
            }
            else
            {
                return(NotFound());
            }

            var validator = new ProdutoValidator();
            var isValid   = validator.Validate(produto);

            if (!isValid.IsValid)
            {
                isValid.Errors.ToList().ForEach(erro => listaErros.Add(new RetornoErrosDTO()
                {
                    Key = erro.PropertyName.ToLower(), Value = erro.ErrorMessage.Replace("\"", "'")
                }));
                return(BadRequest(JsonConvert.SerializeObject(listaErros)));
            }

            _repo.Add(produto);
            await _repo.SaveAsync(produto);

            return(CreatedAtAction("GetProduto", new { id = produto.Id }, produto));
        }
Exemplo n.º 2
0
 public ProdutoService(IServiceCache serviceCache,
                       IProdutoRepository repository,
                       IGeradorGuidService geradorGuidService,
                       ProdutoValidator produtoValidator)
 {
     _serviceCache       = serviceCache;
     _repository         = repository;
     _validator          = produtoValidator;
     _geradorGuidService = geradorGuidService;
 }
Exemplo n.º 3
0
        public bool IsValid(Produto produto)
        {
            var validation = new ProdutoValidator();

            validation.ValidarMarca();
            validation.ValidarNome();
            validation.ValidarPreco();

            ValidationResult = validation.Validate(produto);

            return(ValidationResult.IsValid);
        }
Exemplo n.º 4
0
        public ActionResult Adicionar(Produto produto)
        {
            ProdutoValidator validator = new ProdutoValidator();
            var result = validator.Validate(produto);

            if (!result.IsValid)
            {
                var errors = new Dictionary <string, string>();
                foreach (var error in result.Errors)
                {
                    string message  = error.ErrorMessage;
                    string property = error.PropertyName;
                    errors.Add(property, message);
                }
                return(BadRequest(Json(errors)));
            }

            return(Json(new { id = repository.Add(produto) }));
        }
Exemplo n.º 5
0
        private List <ErroValidacao> ObterErrosArquivo(IEnumerable <ArquivoExcel> dados)
        {
            var erros       = new List <ErroValidacao>();
            var cdLinhaErro = 2;

            dados.ToList().ForEach(d =>
            {
                var validator = new ProdutoValidator().Validate(d);
                if (!validator.IsValid)
                {
                    erros.Add(new ErroValidacao
                    {
                        Linha   = cdLinhaErro,
                        Colunas = validator.Errors.Select(x => x.ErrorMessage).ToList()
                    });
                }
                cdLinhaErro++;
            });
            return(erros);
        }
Exemplo n.º 6
0
        private void btnSave_Click(object sender, System.EventArgs e)
        {
            try
            {
                if (ValidacoesTela() > 0)
                {
                    return;
                }

                if (_produto == null)
                {
                    _produto = new Product();
                }

                DirtyFields(this, _produto);
                DirtyFields02();

                ProdutoValidator.ValidarProduto(_produto);
                if (ValidacoesEntidade() > 0)
                {
                    return;
                }

                if (_produto.Id == 0)
                {
                    ProductRepository.Save(_produto);
                }
                else
                {
                    ProductRepository.Update02(_produto);
                }

                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private static Resultado DadosValidos(CadastroProduto produto)
        {
            var resultado = new Resultado();

            if (produto == null)
            {
                resultado.Inconsistencias.Add(
                    "Preencha os Dados do Produto");
            }
            else
            {
                var validator = new ProdutoValidator().Validate(produto);
                if (!validator.IsValid)
                {
                    foreach (var errors in validator.Errors)
                    {
                        resultado.Inconsistencias.Add(errors.ErrorMessage);
                    }
                }
            }

            return(resultado);
        }
Exemplo n.º 8
0
        static void Main(string[] args)
        {
            var soma = ProvadersResolve <ISoma> .gercontainer();

            var resultadosoma = soma.Somar(500, 200);


            Container container = new Container();

            container.Register <ISoma, Soma>();
            container.Register <ISubtracao, Subtracao>();

            var subtracao         = container.Resolve <ISubtracao>();
            var resultadoSubtrair = subtracao.Subtrair(500, 200);


            var somar          = container.Resolve <ISoma>();
            var resultadoSomar = somar.Somar(500, 200);


            //var container = ContainerRegister.getContainer();
            //
            var validadorDefout = ProvadersValidator <Produto> .GetValidators(container);

            // buscar a validador especifico por propriedade
            var validadorPropriedade = ProvadersValidator <Cliente> .GetValidators(container, (validadores) =>
            {
                var validadorEncontrado = validadores.FirstOrDefault(x => x.CreateDescriptor().GetRulesForMember("Observacao").Any());
                return(validadorEncontrado ?? validadores.First());
            });

            var validadorRule = ProvadersValidator <Cliente> .GetValidators(container, (validadores) =>
            {
                var validadorEncontrado = validadores.FirstOrDefault(x => x.CreateDescriptor().GetValidatorsForMember("ClienteValidatorRuleSet").Any());
                return(validadorEncontrado ?? validadores.First());
            });


            Console.WriteLine("cliente1");
            Cliente cliente = new Cliente();

            cliente.Nome       = "Marconcilio";
            cliente.SobreNome  = "Souza";
            cliente.Observacao = "teste";
            cliente.Email      = "*****@*****.**";
            cliente.Idade      = 32;
            cliente.DtInclusao = DateTime.Now;
            cliente.Ativo      = true;
            cliente.Senha      = "";

            var resultad = validadorPropriedade.Validate(cliente);

            foreach (var item in resultad.Errors)
            {
                Console.WriteLine(item.ErrorMessage);
            }

            // validadorRule2.Validate(cliente, ruleSet: "Names");

            //var resultad1 = validador.Validate(cliente);

            //foreach (var item in resultad1.Errors)
            //{
            //    Console.WriteLine(item.ErrorMessage);
            //}

            //Console.WriteLine("cliente2");

            //Cliente cliente2 = new Cliente();
            //cliente2.Nome = "Marconcilio";
            //cliente2.SobreNome = "Souza";
            //cliente2.Observacao = "teste";
            //cliente2.Email = "*****@*****.**";
            //cliente2.Idade = 32;
            //cliente2.DtInclusao = DateTime.Now;
            //cliente2.Ativo = true;
            //cliente2.Senha = "12345";

            //resultad = validador.Validate(cliente2);

            //foreach (var item in resultad.Errors)
            //{
            //    Console.WriteLine(item.ErrorMessage);
            //}

            Console.WriteLine("produto");

            Produto produto = new Produto();

            produto.Nome = "teste";

            resultad = validadorDefout.Validate(produto);

            foreach (var item in resultad.Errors)
            {
                Console.WriteLine(item.ErrorMessage);
            }

            Console.WriteLine("produto1");

            ProdutoItens produtoiten = new ProdutoItens();

            produtoiten.NomeItem  = "";
            produtoiten.Descricao = "";

            try
            {
                var validadorprodutoitem = ProvadersValidator <ProdutoItens> .GetValidators(container);

                var teste = new ProdutoValidator();

                teste.Validate(produto, ruleSet: "");

                resultad = validadorprodutoitem.Validate(produtoiten);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }


            foreach (var item in resultad.Errors)
            {
                Console.WriteLine(item.ErrorMessage);
            }

            Console.ReadKey();
        }
Exemplo n.º 9
0
 public ProdutoService(IProdutoRepository repository) : base(repository)
 {
     _validator = new ProdutoValidator(repository);
 }
Exemplo n.º 10
0
        public async Task <IActionResult> PutProduto(int id, ProdutoDTO produtoDTO)
        {
            if (id != produtoDTO.Id)
            {
                return(BadRequest());
            }

            var produto = await _context.Produto.FindAsync(id);

            var categoria = await _context.Categoria.FindAsync(produtoDTO.IdCategoria);

            var listaErros = new List <RetornoErrosDTO>();

            if (produto == null || categoria == null)
            {
                return(BadRequest());
            }

            produtoDTO.Categoria = categoria;

            try
            {
                produtoDTO.Preco = produtoDTO.Preco.Replace(",", "").Replace(".", "");
                if ((Convert.ToDecimal(produtoDTO.Preco) / 100) > 0)
                {
                    produtoDTO.Preco = decimal.Parse(string.Format("{0:#.00}", Convert.ToDecimal(produtoDTO.Preco) / 100)).ToString();
                }
            }
            catch (InvalidCastException)
            {
                listaErros.Add(new RetornoErrosDTO()
                {
                    Key = "preco", Value = "Preço inválido!"
                });
                return(BadRequest(JsonConvert.SerializeObject(listaErros)));
            }

            var validator = new ProdutoValidator();
            var isValid   = validator.Validate(produto);

            if (!isValid.IsValid)
            {
                isValid.Errors.ToList().ForEach(erro => listaErros.Add(new RetornoErrosDTO()
                {
                    Key = erro.PropertyName.ToLower(), Value = erro.ErrorMessage.Replace("\"", "'")
                }));
                return(BadRequest(JsonConvert.SerializeObject(listaErros)));
            }

            produto = ParseToProduct(produtoDTO, ref produto);
            _context.Entry(produto).State = EntityState.Modified;
            try
            {
                _repo.Update(produto);
                await _repo.SaveAsync(produto);
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ProdutoExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Exemplo n.º 11
0
 public ProdutoController()
 {
     validator = new ProdutoValidator();
 }