|
- using System;
- using System.Collections.ObjectModel;
- using System.Linq;
- using System.Threading;
- using BPA.Message;
- using BPA.Message.Enum;
- using BPASmartClient.Helper;
- using BPASmartClient.Model;
- using Microsoft.Toolkit.Mvvm.ComponentModel;
- using Microsoft.Toolkit.Mvvm.Input;
- using Microsoft.Toolkit.Mvvm.Messaging;
-
- namespace BPASmartClient.ViewModel
- {
- public class OrderListDialogViewModel : ObservableObject
- {
- public static bool IsAutoClose = false;
- public OrderListDialogViewModel()
- {
- Init();
- }
-
- private void Init()
- {
- CloseButton();
- CancelButton();
- ConfirmButton();
- if (Json<KeepDataBase>.Data.orderLists.Count > 0)
- {
- Message.MessageLog.GetInstance.Show($"重启软件前订单剩余{Json<KeepDataBase>.Data.orderLists.Count}个");
- ThreadManage.GetInstance().Start(new Action(() =>
- {
- Thread.Sleep(10000);
- if (!IsAutoClose) WeakReferenceMessenger.Default.Send("false", "Close");
- }), "延时退出");
- }
- }
-
- /// <summary>
- /// 关闭按钮
- /// </summary>
- private void CloseButton()
- {
- CloseCommand = new RelayCommand(() =>
- {
- Json<KeepDataBase>.Data.orderLists.Clear();
- WeakReferenceMessenger.Default.Send("false", "Close");
- Json<KeepDataBase>.Save();
- });
- }
-
- /// <summary>
- /// 取消按钮
- /// </summary>
- private void CancelButton()
- {
- CancelCommand = new RelayCommand(() =>
- {
- Json<KeepDataBase>.Data.orderLists.Clear();
- WeakReferenceMessenger.Default.Send("false", "Close");
- Json<KeepDataBase>.Save();
- });
- }
-
- /// <summary>
- /// 确定按钮
- /// </summary>
- private void ConfirmButton()
- {
- ConfirmCommand = new RelayCommand(() =>
- {
- Json<KeepDataBase>.Data.orderLists.Clear();
- //var res = orderStatusLists.Where(p => p.IsSelected == true).ToList();
- var res = orderStatusLists.Where(p => p.morkOrderPushes.Where(s => s.IsSelected == true).ToList().Count > 0).ToList();
-
- if (res != null)
- {
- Json<KeepDataBase>.Data.orderLists.Clear();
- foreach (var item in orderStatusLists)
- {
- ObservableCollection<MorkOrder> morkOrders = new ObservableCollection<MorkOrder>();
- foreach (var mork in item.morkOrderPushes)
- {
- if (mork.IsSelected) morkOrders.Add(mork);
- }
- Json<KeepDataBase>.Data.orderLists.Add(new OrderData()
- {
- DeviceId = item.DeviceId,
- IsAllSelect = item.IsAllSelect,
- morkOrderPushes = morkOrders,
- });
- /*
- foreach (var mo in morkOrders)
- {
- DoOrderEvent de = new DoOrderEvent();
- de.DeviceId = int.Parse(item.DeviceId);
- de.MorkOrder = mo.OrderPush;
- EventBus.EventBus.GetInstance().Publish(de);
- }*/
- }
- }
- WeakReferenceMessenger.Default.Send("true", "Close");
- });
- }
-
- public RelayCommand CloseCommand { get; set; }
-
- public RelayCommand CancelCommand { get; set; }
-
- public RelayCommand ConfirmCommand { get; set; }
-
- public ObservableCollection<OrderData> orderStatusLists
- {
- get { return Json<KeepDataBase>.Data.orderLists; }
- set { Json<KeepDataBase>.Data.orderLists = value; }
- }
- }
- }
|