private void Validate(Lancamento lancamento, LancamentoValidator validator) { if (lancamento == null) { throw new Exception("Lançamento não encontrado!"); } validator.ValidateAndThrow(lancamento); }
public Lancamento(TipoLancamento tipo, int contaId, decimal valor) { Tipo = tipo; ContaId = contaId; Valor = valor; Data = DateTime.Now; Transacao = new Transacao(); LancamentoValidator.ValidaValor(new Valor(valor)); }
public LancamentoAppService( IUnitOfWork unitOfWork, ILancamentoRepository lancamentoRepository, IUsuarioRepository usuarioRepository) { this.unitOfWork = unitOfWork; this.lancamentoRepository = lancamentoRepository; this.usuarioRepository = usuarioRepository; this.lancamentoValidator = new LancamentoValidator(); }
public void Excluir(LancamentoValidator validator) { LancamentoDTO dto = new LancamentoDTO { Id = this.Id, UsuarioId = this.UsuarioId }; validator.ValidarExclusao(dto); }
public async Task <Lancamento> UpdateLancamento(Lancamento lancamento) { var validation = new LancamentoValidator().Validate(lancamento); if (!validation.IsValid) { throw new TransacaoException(validation.Errors.Join(" ")); } return(await _lancamentoRepository.UpdateLancamento(lancamento)); }
public void Editar(LancamentoDTO dto, LancamentoValidator validator) { validator.ValidarEdicao(dto); this.Data = dto.Data; this.Valor = dto.Valor; this.Descricao = dto.Descricao; this.Tipo = dto.Tipo; this.CategoriaId = dto.CategoriaId; this.UsuarioId = dto.UsuarioId; }
public async Task <ActionResult> Post([FromBody] LancamentoViewModel model) { try { var validator = new LancamentoValidator(); var result = await validator.ValidateAsync(model); if (!result.IsValid) { return(BadRequest(new ApiBadRequestResponse(result.Errors))); } var lancamento = await _lancamentoAppService.Add(model.ToEntity()); return(Created("Lancamento efetuado com sucesso.", new ApiCreatedResponse(lancamento))); } catch (Exception ex) { throw ex; } }
public async Task <IActionResult> LancarAsync([FromServices] ILancamentoRepository repository, [FromServices] IContaRepository contaRepository, [FromBody] Lancamento request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var lancamento = new Lancamento { ContaCredito = new Conta { ContaCodigo = request.ContaCredito.ContaCodigo, ContaId = await contaRepository.ObtemContaId(request.ContaCredito.ContaCodigo), }, ContaDebito = new Conta { ContaCodigo = request.ContaDebito.ContaCodigo, ContaId = await contaRepository.ObtemContaId(request.ContaDebito.ContaCodigo), }, LancamentoValor = request.LancamentoValor }; var validator = new LancamentoValidator(repository); var validationResult = await validator.ValidateAsync(lancamento); if (!validationResult.IsValid) { foreach (var error in validationResult.Errors) { ModelState.AddModelError(error.PropertyName, error.ErrorMessage); } return(BadRequest(ModelState)); } await repository.SalvarLancamento(lancamento); return(Accepted()); }
public override bool EhValido() { ValidationResult = new LancamentoValidator(this).Validate(this); return(ValidationResult.IsValid); }
public static Lancamento Cadastrar(LancamentoDTO dto, LancamentoValidator validator) { validator.ValidarCadastro(dto); return(new Lancamento(dto)); }