public IndexModel(ILogger <IndexModel> logger, IHttpClientFactory factory, EventStore events) { _logger = logger; _events = events; _guests = _events.Project(GuestOrders.Empty, OrderViewModel.Projection); }
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)); }
public static GuestOrders Projection(GuestOrders state, Event @event) => @event switch {