public override ICommandResult Handle(GravarFornecedorCommand command) { //Fail Fast Validations if (!command.Validador()) { return(new CommandResult(false, "Mensagem inválida", command.Mensagem)); } //Validar VOs DescricaoEnderecoValicado validadorEndereco = new DescricaoEnderecoValicado(); var resultado = validadorEndereco.Validate(command.Endereco); if (!resultado.IsValid) { var erros = retornoMensagemErro(resultado.Errors); return(new CommandResult(false, erros, command.Mensagem)); } //Gerar Fornecedor var fornecedor = new Fornecedor(command.CodigoFornecedor, command.DescricaoFornecedor, command.Cnpj, command.Endereco); fornecedor.Email = command.Email; //Validar Fornecedor FornecedorValidacao validadorFornecedor = new FornecedorValidacao(); resultado = validadorFornecedor.Validate(fornecedor); if (resultado.IsValid) { var erros = retornoMensagemErro(resultado.Errors); return(new CommandResult(false, erros, command.Mensagem)); } //Salvar informações try { _fornecedorRepositorio.InseririOuAtualizar(fornecedor); return(new CommandResult(true, "Mensagem persistida com sucesso")); } catch { return(new CommandResult(false, "Ocorreu um erro interno no sistema", command.Mensagem)); } }
public IActionResult CadastroFornecedores([FromBody] Fornecedor fornecedor) { Fornecedor fornecedo = new Fornecedor(); fornecedo.Nome = fornecedor.Nome; fornecedo.Cnpj = fornecedor.Cnpj; var validator = new FornecedorValidacao(); var result = validator.Validate(fornecedor); if (!result.IsValid) { return(BadRequest(result.Errors)); } database.Add(fornecedo); database.SaveChanges(); return(Ok("Fornecedor registrado com sucesso!")); }