public void RemoverDespesa(Despesa despesa) { var despesaRemover = Lancamentos.OfType <Despesa>().SingleOrDefault(x => x.EntityId == despesa.EntityId); TotalContasAPagar -= despesaRemover; Saldo -= despesaRemover; Lancamentos.Remove(despesa); DomainEvents.Raise(new DespesaRemovida(EntityId, despesa)); }
public void AlterarDespesa(Despesa despesa) { var despesaAlterar = Lancamentos.OfType <Despesa>().SingleOrDefault(x => x.EntityId == despesa.EntityId); TotalContasAPagar -= despesaAlterar; Saldo -= despesaAlterar; TotalContasAPagar += despesa; Saldo += despesa; despesaAlterar = despesa; DomainEvents.Raise(new DespesaAlterada(EntityId, despesa)); }
public void AdicionarDespesa(Despesa despesa) { var existeDespesa = Lancamentos.OfType <Despesa>().Any(x => x.EntityId == despesa.EntityId); if (existeDespesa) { throw new DespesaJaAdicionadaException(); } TotalContasAPagar += despesa; Saldo += despesa; Lancamentos.Add(despesa); DomainEvents.Raise(new DespesaAdicionada(EntityId, despesa)); }
public DespesaRemovida(Guid aggregateId, Despesa despesa) { AggregateId = aggregateId; Despesa = despesa; DataCriacao = DateTime.Now; }