public GenericResult <Beneficiario> Create(Beneficiario beneficiario) { var result = new GenericResult <Beneficiario>(); var validatorResult = validator.Validate(beneficiario); if (validatorResult.IsValid) { try { result.Result = this.repository.Create(beneficiario); result.Success = true; } catch (Exception ex) { result.Errors = new string[] { ex.Message }; } } else { result.Errors = validatorResult.GetErrors(); } return(result); }
public ActionResult Create(BeneficiarioModel beneficiario) { try { if (!this.ModelState.IsValid) { List <string> erros = (from item in ModelState.Values from error in item.Errors select error.ErrorMessage).ToList(); Response.StatusCode = 400; return(Json(string.Join(Environment.NewLine, erros))); } var objToAdd = new Beneficiario(beneficiario.Cpf, beneficiario.Nome, beneficiario.IDCliente); var validador = beneficiarioValidator.Validate(objToAdd); if (!validador.IsValid) { return(Json(string.Join(Environment.NewLine, validador.Errors))); } if (beneficiarioRepo.ValidateIfExists(beneficiario.Cpf, beneficiario.IDCliente)) { Response.StatusCode = 400; return(Json($"Este CPF de beneficiário já está cadastrado para este cliente!")); } if (!beneficiarioRepo.AddBeneficiario(objToAdd)) { return(Json($"Não foi possível realizar o cadastro, erro interno")); } return(Json($"Cadastro do beneficiário {beneficiario.Nome} efetuado com sucesso!")); } catch (Exception ex) { return(Json($"ERRO: {ex.Message}")); } }