Beispiel #1
0
        public static PeriodCreator PeriodCreator(Action <EventStack> events = null)
        {
            if (events == null)
            {
                return(new PeriodCreator(History.Empty));
            }

            var eventStack = new EventStack();

            events.Invoke(eventStack);
            return(new PeriodCreator(new History(eventStack.All())));
        }
Beispiel #2
0
        public static Period Period(Action <EventStack> events = null)
        {
            var periodName = PeriodName.From(3, 2019);

            if (events == null)
            {
                return(WalletMate.Domain.Periods.Period.Create(periodName));
            }

            var periodCreated = new PeriodCreated(periodName);

            var eventStack = new EventStack();

            events.Invoke(eventStack);

            var history = new History(new List <IDomainEvent> {
                periodCreated
            }.Concat(eventStack.All()).ToList());

            return(new Period(history));
        }