コード例 #1
0
        static void Main(string[] args)
        {
            ItemVenda item1 = new ItemVenda()
            {
                Descricao  = "Cabo USB 2.5m",
                Preco      = 35,
                Quantidade = 1
            };

            ItemVenda item2 = new ItemVenda()
            {
                Descricao  = "",
                Preco      = 0,
                Quantidade = 0
            };

            Venda venda = new Venda();

            venda.Data  = DateTime.Today;
            venda.Tipo  = TipoVenda.Brinde;
            venda.Total = 0;
            venda.Itens = new List <ItemVenda>(new[] { item1 });

            //Instância da classe de validação
            VendaValidator vendaValidator = new VendaValidator();

            //Método Validate retorna os resultados da validação e os mesmos são representados pela classe ValidationResult
            //ValidationResult resultado = vendaValidator.Validate(venda);

            try
            {
                //Vai gerar uma exceção
                vendaValidator.ValidateAndThrow(venda);
            }
            catch (ValidationException excecao) //EXCEÇÃO que o metodo acima gera
            {
                Console.WriteLine("Venda inválida.");
                excecao.Errors
                .ToList()
                .ForEach(e => Console.WriteLine($"{e.PropertyName} : {e.ErrorMessage}"));
            }

            Console.WriteLine("Venda validada com sucesso");


            //if (resultado.IsValid)
            //{
            //    Console.WriteLine("Venda validada com sucesso");
            //}
            //else
            //{
            //    Console.WriteLine("Venda inválida");
            //    resultado.Errors.ToList().ForEach(erro => Console.WriteLine($" {erro.PropertyName} : {erro.ErrorMessage}"));
            //}
        }
コード例 #2
0
        static void Main(string[] args)
        {
            ItemVenda itemUm = new ItemVenda()
            {
                Descricao  = "Cabo USB 2.5m",
                Preco      = 35,
                Quantidade = 1
            };

            ItemVenda itemDois = new ItemVenda()
            {
                Descricao  = "",
                Preco      = 0,
                Quantidade = 0
            };

            Venda venda = new Venda();

            venda.Data  = DateTime.Today.AddDays(10);
            venda.Tipo  = ETipoVenda.Padrao;
            venda.Total = 0;

            venda.Itens = new List <ItemVenda>();
            venda.Itens.Add(itemUm);

            VendaValidator validador = new VendaValidator();

            #region Lancar uma exception
            try
            {
                validador.ValidateAndThrow(venda);
            }
            catch (ValidationException ex)
            {
                ex.Errors.ToList().ForEach(e => Console.WriteLine($"{e.ErrorMessage}"));
            }

            #endregion

            #region Sem lancar uma exception
            ValidationResult resultado = validador.Validate(venda);
            if (resultado.IsValid)
            {
                Console.WriteLine("Venda efetuada com sucesso");
            }
            else
            {
                Console.WriteLine("Venda invalida");
                resultado.Errors.ToList().ForEach(e => Console.WriteLine($"{ e.ErrorMessage }"));
            }
            #endregion

            Console.ReadKey();
        }
コード例 #3
0
        static void Main(string[] args)
        {
            ItemVenda item1 = new ItemVenda()
            {
                Descricao  = "Cabo Usb 3.0",
                Preco      = 30,
                Quantidade = 1
            };

            ItemVenda item2 = new ItemVenda()
            {
                Descricao  = "",
                Preco      = 0,
                Quantidade = 0
            };

            //Instalar o FluentValidation
            Venda venda = new Venda();

            venda.Data  = DateTime.Today;
            venda.Tipo  = TipoVenda.Brinde;
            venda.Total = 0;
            venda.Itens = new List <ItemVenda>(new[] { item1 });

            //instanciar a classe de validação
            VendaValidator validator = new VendaValidator();

            try
            {
                //Realiza a validação
                validator.ValidateAndThrow(venda);
                Console.WriteLine("Venda validada com sucesso");
            }
            catch (ValidationException excecao)
            {
                //vai percorrer as mensagens de erro e imprimi-las no console
                Console.WriteLine("Venda inválida.");
                excecao.Errors
                .ToList()
                .ForEach(e => Console.WriteLine($"{e.PropertyName} : {e.ErrorMessage}"));
            }

            Console.ReadKey();
        }
コード例 #4
0
        static void Main(string[] args)
        {
            ItemVenda item1 = new ItemVenda()
            {
                Descricao  = "Cabo USB 2.5m",
                Preco      = 35,
                Quantidade = 1
            };

            ItemVenda item2 = new ItemVenda()
            {
                Descricao  = "Pendrive",
                Preco      = 20,
                Quantidade = 1
            };

            Venda venda = new Venda();

            venda.Data  = DateTime.Today.AddDays(0);
            venda.Tipo  = TipoVenda.Padrao;
            venda.Total = 55;
            venda.Itens = new List <ItemVenda>(new[] { item1, item2 });

            VendaValidator validador = new VendaValidator();

            //ValidationResult resultado = validador.Validate(venda);

            try
            {
                validador.ValidateAndThrow(venda);
            }
            catch (ValidationException excecao)
            {
                Console.WriteLine("Venda inválida.");
                excecao.Errors
                .ToList()
                .ForEach(e => Console.WriteLine($"{e.PropertyName} : {e.ErrorMessage}"));
            }

            Console.ReadKey();
        }