protected override void When(object @event) { switch (@event) { case Events.ExpenditureAdded e: ParentId = new DailyBudgetId(e.DailyBudgetId); Id = new OutgoId(e.ExpenditureId); Amount = Amount.FromDecimal(e.Amount); break; case Events.ExpenditureAmountChanged e: Amount = Amount.FromDecimal(e.Amount); break; case Events.ExpenditureDescriptionChanged e: Description = e.Description; break; } }
protected override void When(object @event) { switch (@event) { case Events.OutgoAddedToDailyBudget e: ParentId = new DailyBudgetId(e.DailyBudgetId); Id = new OutgoId(e.OutgoId); Amount = Amount.FromDecimal(e.Amount); Description = new Description(e.Description); break; case Events.OutgoAmountChanged e: Amount = Amount.FromDecimal(e.Amount); break; case Events.OutgoDescriptionChanged e: Description = new Description(e.Description); break; } }
protected override void When(object @event) { switch (@event) { case Events.DailyBudgetCreated e: ParentId = new DailyBudgetId(e.Id); Id = new SnapshotId(Guid.NewGuid()); Daily = DailyAmount.FromDecimal(0m); Available = Available.FromDecimal(0m); break; case Events.PeriodAddedToDailyBudget e: period = Period.Create(e.Start, e.End); SetPeriod(e.EntryDate); break; case Events.PeriodStartChanged e: period = Period.Create(e.Start, period.ToB); SetPeriod(e.EntryDate); break; case Events.PeriodEndChanged e: period = Period.Create(period.FromA, e.End); SetPeriod(e.EntryDate); break; case Events.IncomeAddedToDailyBudget e: SetTotalIncome(Amount.FromDecimal(e.TotalIncome), e.EntryDate); break; case Events.IncomeRemoved e: SetTotalIncome(Amount.FromDecimal(e.TotalIncome), e.EntryDate); break; case Events.IncomeAmountChanged e: SetTotalIncome(Amount.FromDecimal(e.TotalIncome), e.EntryDate); break; case Events.OutgoAddedToDailyBudget e: SetTotalOutgo(Amount.FromDecimal(e.TotalOutgo), e.EntryDate); break; case Events.OutgoRemoved e: SetTotalOutgo(Amount.FromDecimal(e.TotalOutgo), e.EntryDate); break; case Events.OutgoAmountChanged e: SetTotalOutgo(Amount.FromDecimal(e.TotalOutgo), e.EntryDate); break; case Events.ExpenditureAdded e: SetTotalExpenditures(Amount.FromDecimal(e.TotalExpenditure), e.EntryDate); break; case Events.ExpenditureAmountChanged e: SetTotalExpenditures(Amount.FromDecimal(e.TotalExpenditure), e.EntryDate); break; case Events.SnapshotChanged e: Daily = DailyAmount.FromDecimal(e.Daily); Available = Available.FromDecimal(e.Available); break; } }