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}"));
            //}
        }
Beispiel #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();
        }
Beispiel #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();
        }
        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();
        }
Beispiel #5
0
        static void Main()
        {
            var itemVenda = new ItemVenda
            {
                Descricao  = "No",
                Preco      = 0,
                Quantidade = 0
            };

            var venda = new Venda
            {
                Data  = DateTime.Today,
                Tipo  = TipoVenda.Padrao,
                Total = 10,
                Itens = new List <ItemVenda> {
                    itemVenda
                }
            };

            var validator = new VendaValidator();
            var result    = validator.Validate(venda);

            if (result.IsValid)
            {
                Console.WriteLine("Venda validada com sucesso.");
            }
            else
            {
                Console.WriteLine("Venda inválida.");

                foreach (var error in result.Errors.ToList())
                {
                    Console.WriteLine($"{error.PropertyName}: {error.ErrorMessage}");
                }
            }

            Console.ReadKey(true);
        }
Beispiel #6
0
        static void Main(string[] args)
        {
            var venda = new Venda()
            {
                Data = DateTime.Today,
                Tipo = TipoVenda.Brinde
            };

            var validator = new VendaValidator();

            ValidationResult result = validator.Validate(venda);

            if (result.IsValid)
            {
                Console.WriteLine("Sucesso!");
            }
            else
            {
                result.Errors.ToList().ForEach(e => Console.WriteLine($"{e.PropertyName} : {e.ErrorMessage}"));
            }

            Console.ReadKey();
        }
Beispiel #7
0
 public VendaController()
 {
     ItemVendaValidator = new ItemVendaValidator();
     VendaValidator     = new VendaValidator();
 }
Beispiel #8
0
 public VendaController(IVendaAppService appService, VendaValidator validator)
 {
     this.appService = appService;
     this.validator  = validator;
 }