public async Task Handler(AtualizarLancamentoCommand request) { var lancamentoTupla = EntidadeExistente(request.Id, request.MessageType); if (!lancamentoTupla.exist) { return; } var lancamentoAtual = (Lancamento)lancamentoTupla.entity; var lancamentoParaAtualizar = new Lancamento(lancamentoAtual.Id, request.Data, request.Valor, request.Descricao, request.Conta, request.Tipo); if (!EntidadeValida(lancamentoParaAtualizar)) { return; } await _lancamentoRepository.Atualizar(lancamentoParaAtualizar).ConfigureAwait(false); if (Commit()) { await _mediator.PublicarEvento(new LancamentoAtualizadoEvent(lancamentoParaAtualizar.Id, lancamentoParaAtualizar.Data, lancamentoParaAtualizar.Valor, lancamentoParaAtualizar.Descricao, lancamentoParaAtualizar.Conta, lancamentoParaAtualizar.Tipo)).ConfigureAwait(false); } }
public void Saida(Lancamento model) { if (string.IsNullOrEmpty(model.Atividade)) { throw new Exception("Atividade não foi informada"); } var lancamento = _repository.ConsultarUltimoLancamento(model.ContratoID, model.ProfissionalID); //Todo lancamento por padrao não requer análise prévai //Desta forma o mesmo, não pode ser marcado como pendente lancamento.Pendente = false; if (!PermitirEntrada(lancamento)) { if (model.HorarioSaida.HasValue) //lancamento retroativo { //Quando for um lançamento retroativo, marcar como pendente, para que possa ser avaliado lancamento.Pendente = true; if (model.HorarioSaida.Value < lancamento.HorarioEntrada) { throw new Exception("Horário de entrada não pode ser menor que o horário de entrada"); } else if (model.HorarioSaida.Value >= DateTime.Now) { throw new Exception("Horário de saída não pode ser maior do que o horário atual"); } else { lancamento.HorarioSaida = model.HorarioSaida.Value; } } else { lancamento.HorarioSaida = DateTime.Now; } lancamento.Atividade = model.Atividade; lancamento.Observacao = model.Observacao; _repository.Atualizar(lancamento); } else { throw new Exception("Saída não permitida"); } }
public void Atualizar(Lancamento entity) { _lancamentoRepository.Atualizar(entity); }
public void Atualizar(Lancamento lancamento) { repository.Atualizar(lancamento); }