public async Task <ReturnModel> CreateInstitution(InstitutionRequest request) { var institutionValidator = new InstitutionValidator().Validate(request); if (!institutionValidator.IsValid) { return new ReturnModel { Errors = institutionValidator.Errors } } ; var institution = await _institutionRepository.GetByCnpj(request.Cnpj); if (institution != null) { return new ReturnModel { Errors = "CNPJ já utilizado por outra Instituição" } } ; institution = _mapper.Map <Institution>(request); institution.RegisteredAt = DateTime.Now; institution.IsActive = true; var result = await _institutionRepository.Insert(institution); return(new ReturnModel { Data = _mapper.Map <InstitutionModel>(result) }); }
public async Task <ReturnModel> UpdateInstitution(InstitutionRequest request) { var institutionValidator = new InstitutionValidator().Validate(request); if (!institutionValidator.IsValid) { return new ReturnModel { Errors = institutionValidator.Errors } } ; var institution = await _institutionRepository.GetByCnpj(request.Cnpj); if (institution == null) { return new ReturnModel { Errors = "Instituição Inválida" } } ; institution.Name = request.Name; var result = await _institutionRepository.Update(institution); return(new ReturnModel { Data = _mapper.Map <InstitutionModel>(result) }); }
public override IEnumerable<ValidationResult> Validate(ValidationContext validationContext) { var validator = new InstitutionValidator(); var result = validator.Validate(this); return result.Errors.Select(item => new ValidationResult(item.ErrorMessage, new[] { item.PropertyName })); }