private void UpdatePayedOrderList(PayedOrder addingOrder) { this.CurentPayedOrders.Value.Add(addingOrder); var tempList = this.CurentPayedOrders.Value.Select(item => item.Clone(item)).ToList(); this.CurentPayedOrders.Value = tempList; }
public void OrderClick(PayedOrder order) { this.IsClikedOrderDialogOpen.Value = true; this.OpenOrderNumber.Value = order.Order.RowNumber.ToString(); this.ListCurentOrderProductItem.Value = order.Order.OrderedFood; }
private void _sellerOrderService_OnNewPayedOrder(object sender, PayedOrder addOrder) { _dialogService.Notification(new NotificaiosModel($"Заказ №{addOrder.Order.RowNumber} оплачен" , "Начинайте готовить")); MvxMainThreadDispatcher.Instance.RequestMainThreadAction(() => this.ListOrderItem.Add(addOrder)); }
private async Task InitActiveOrder() { var seller = await _sellerAuthService.GetProfile(); var token = await _sellerAuthService.GetToken(); var recivedActiveOrdrers = await Policy.Handle <Exception>(_ => true) .WaitAndRetryForeverAsync ( sleepDurationProvider: retry => TimeSpan.FromSeconds(10) ) .ExecuteAsync(async() => await _orderController.GetActiveOrders(seller.ID, token)); foreach (var item in recivedActiveOrdrers) { var activeOrder = new PayedOrder("", item, item.Timer, (orderInProcess) => { orderInProcess.CloseOrderTimer = new Timer(orderInProcess.OrderTime, (_) => { orderInProcess.CloseOrderTimer.WaitTime.Value -= new TimeSpan(0, 0, 1); if (orderInProcess.CloseOrderTimer.WaitTime.Value > TimeSpan.Zero) { return; } try { _dialogService.Notification( new NotificaiosModel($"Время приготовления заказа №{orderInProcess.Order.RowNumber} закончилось" , "") ); orderInProcess.CloseOrderTimer.WaitTime.Value = TimeSpan.Zero; orderInProcess.StopTimer(); orderInProcess.IsOrderFinished.Value = true; } catch (Exception exp) { var a = exp.Message; } }); }); activeOrder.StartTimer(); activeOrder.Order.OrderedFood.OrderBy(f => f.ProductInfo.Name).ToList(); this.AddActiveOrder(activeOrder); } }
private void AddActiveOrder(PayedOrder payedOrder) { var item = this._activeOrders.Count > 0 ? this._activeOrders.FirstOrDefault((o) => o.Order.ID == payedOrder.Order.ID) : null; if (item != null) { return; } _activeOrders.Add(payedOrder); ChangeExitText?.Invoke(null, "Остановить прием заказов"); }
public static ObservableCollection <PayedOrder> RemoveItem(this ObservableCollection <PayedOrder> list, PayedOrder deleteItem) { PayedOrder tempItem = null; foreach (var item in list) { if (item.Order.ID == deleteItem.Order.ID) { tempItem = item; } } list.Remove(tempItem); return(list); }
private void Init() { CurentStatus = ""; _orderController.OnGettingPurchasedOrders((customer, order) => { var deserializeOrder = JsonConvert.DeserializeObject <OrderItem>(order); var payedOrder = new PayedOrder(deserializeOrder.WhoSold, deserializeOrder, deserializeOrder.Timer, (orderInProcess) => { orderInProcess.CloseOrderTimer = new Timer(orderInProcess.OrderTime, (_) => { orderInProcess.CloseOrderTimer.WaitTime.Value -= new TimeSpan(0, 0, 1); if (orderInProcess.CloseOrderTimer.WaitTime.Value > TimeSpan.Zero) { return; } try { _dialogService.Notification(new NotificaiosModel($"Время приготовления заказа №{orderInProcess.Order.RowNumber} закончилось" , "") ); orderInProcess.CloseOrderTimer.WaitTime.Value = TimeSpan.Zero; orderInProcess.StopTimer(); orderInProcess.IsOrderFinished.Value = true; } catch (Exception exp) { var a = exp.Message; } }); }); payedOrder.StartTimer(); payedOrder.Order.OrderedFood = payedOrder.Order.OrderedFood.OrderBy(f => f.ProductInfo.Name).ToList(); this.AddActiveOrder(payedOrder); onNewPayedOrder?.Invoke(null, payedOrder); }); this._orderController.OnChangeStatusSeller((_, status) => { CurentStatus = status; }); }
private void _sellerOrderService_OnNewPayedOrder(object sender, PayedOrder e) { this.UpdatePayedOrderList(e); }