示例#1
0
        public IndexModel(ILogger <IndexModel> logger, IHttpClientFactory factory, EventStore events)
        {
            _logger = logger;
            _events = events;

            _guests = _events.Project(GuestOrders.Empty, OrderViewModel.Projection);
        }
示例#2
0
        private static GuestOrders AppendOrder(GuestOrders state, OrderPlaced order)
        {
            var orders = state
                         .GetValueOrDefault(order.Guest, ImmutableDictionary <int, OrderViewModel> .Empty)
                         .Add(
                order.Confirmation.Order,
                new OrderViewModel(
                    order.Guest,
                    order.On,
                    order.FoodOrder.Select(OrderViewModel.OrderItem.Create).ToList(),
                    order.DrinkOrder.Select(OrderViewModel.OrderItem.Create).ToList(),
                    order.Confirmation
                    )
                );

            return(state.SetItem(order.Guest, orders));
        }
示例#3
0
 public static GuestOrders Projection(GuestOrders state, Event @event) => @event switch
 {