示例#1
0
        public OrdersViewModel(IViewModelResolver viewModelResolver, IWaiterAppSubscriber waiterApp, IWaiterConnectionProvider waiterConnectionProvider) : base(viewModelResolver)
        {
            _waiterConnectionProvider = waiterConnectionProvider;

            AwaitingOrders = new BindableCollection <OrderModel>();
            AcceptedOrders = new BindableCollection <OrderModel>();
            SelectedAcceptedOrderMenuItems = new BindableCollection <AcceptedOrderMenuItemQuantity>();
            TablesRequiringAssistance      = new BindableCollection <String>();

            _acceptedOrdersCache = new Dictionary <int, IEnumerable <AcceptedOrderMenuItemQuantity> >();

            waiterApp.NewOrderHandler += WaiterApp_NotifyNewOrderHandler;
            waiterApp.AcceptedOrderInfoUpdatedHandler += WaiterApp_AcceptedOrderInfoUpdatedHandler;
            waiterApp.OrderWasAcceptedHandler         += WaiterApp_OrderWasAcceptedHandler;
            waiterApp.CallWaiterHandler     += WaiterApp_CallWaiterHandler;
            waiterApp.OrdersAwaitingHandler += WaiterApp_OrdersAwaitingHandler;

            _waiterConnectionProvider.UpdateAfterLogin();
        }