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));
        }
Ejemplo n.º 4
0
 public DespesaRemovida(Guid aggregateId, Despesa despesa)
 {
     AggregateId = aggregateId;
     Despesa     = despesa;
     DataCriacao = DateTime.Now;
 }