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}")); //} }
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(); }
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(); }