protected override void OnDeactivate(bool close) { base.OnDeactivate(close); if (close) { var cachedOrderIds = new List <int>(); foreach (var cachedOrder in _acceptedOrdersCache) { _waiterConnectionProvider.EndOrder(cachedOrder.Key, true, "Waiter has logged out."); cachedOrderIds.Add(cachedOrder.Key); } foreach (var orderId in cachedOrderIds) { UpdateAfterEndOrder(orderId); } _waiterConnectionProvider.Disconnect(); } }