Exemplo n.º 1
0
 private void Validate(Lancamento lancamento, LancamentoValidator validator)
 {
     if (lancamento == null)
     {
         throw new Exception("Lançamento não encontrado!");
     }
     validator.ValidateAndThrow(lancamento);
 }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
 public LancamentoAppService(
     IUnitOfWork unitOfWork,
     ILancamentoRepository lancamentoRepository,
     IUsuarioRepository usuarioRepository)
 {
     this.unitOfWork           = unitOfWork;
     this.lancamentoRepository = lancamentoRepository;
     this.usuarioRepository    = usuarioRepository;
     this.lancamentoValidator  = new LancamentoValidator();
 }
Exemplo n.º 4
0
        public void Excluir(LancamentoValidator validator)
        {
            LancamentoDTO dto = new LancamentoDTO
            {
                Id        = this.Id,
                UsuarioId = this.UsuarioId
            };

            validator.ValidarExclusao(dto);
        }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 6
0
        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;
            }
        }
Exemplo n.º 8
0
        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);
 }
Exemplo n.º 10
0
 public static Lancamento Cadastrar(LancamentoDTO dto, LancamentoValidator validator)
 {
     validator.ValidarCadastro(dto);
     return(new Lancamento(dto));
 }