Exemple #1
0
 public void OnGet(int guest, string warning)
 {
     Orders = _events
              .IncludeOnly(@event =>
                           @event switch
     {
         OrderPlaced order => order.Guest == guest,
         DeliveryReceived delivery => delivery.Guest == guest,
         BillPaid paid => paid.Guest == guest,
         _ => false
     }
 private static ImmutableDictionary <int, OrderViewModel> MarkItemsAsPaid(ImmutableDictionary <int, OrderViewModel> state, BillPaid paid)
 {
     foreach (var paidOrder in paid.PaidOrders)
     {
         var order = state[paidOrder.Order];
         foreach (var paidDrink in paidOrder.PaidDrinks)
         {
             var unpaidDrink = order.DrinkOrder.FirstOrDefault(x => x.PaidWith == null && x.Id == paidDrink);
             if (unpaidDrink != null)
             {
                 unpaidDrink.PaidWith = new OrderItem.Payment {
                     PaidOn = paid.On, Bill = paid.Bill
                 }
             }
             ;
         }
         foreach (var paidFood in paidOrder.PaidFood)
         {
             var unpaidFood = order.FoodOrder.FirstOrDefault(x => x.PaidWith == null && x.Id == paidFood);
             if (unpaidFood != null)
             {
                 unpaidFood.PaidWith = new OrderItem.Payment {
                     PaidOn = paid.On, Bill = paid.Bill
                 }
             }
             ;
         }
     }
     return(state);
 }
Exemple #3
0
 public virtual void RaiseBillPaymentEvent(PayBillEvent eventArgs)
 {
     BillPaid?.Invoke(this, eventArgs);
 }