using BPA.Helper; using BPA.Message.Enum; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using Newtonsoft.Json; using BPA.Message; using System.Windows; namespace BPASmartClient.ScreenLib { public class ScreenMorksControlViewModel : NotifyBase { #region 变量 /// /// 广告地址 /// public Uri GgAdder { get { return _GgAdder; } set { _GgAdder = value; OnPropertyChanged(); } } private Uri _GgAdder = new Uri(System.Configuration.ConfigurationManager.AppSettings["GgAdder"].ToString()); /// /// 界面数据绑定 /// public ScreenModelMorkS ViewData { get { return _ViewData; } set { _ViewData = value; OnPropertyChanged(); } } private ScreenModelMorkS _ViewData = new ScreenModelMorkS(); /// /// 当前刷新数据类型 /// public ScreenDeviceType type = ScreenDeviceType.煮面机; /// /// 正在制作订单数据 /// public ObservableCollection OrderMakeList { get { return _OrderMakeList; } set { _OrderMakeList = value; OnPropertyChanged(); } } private ObservableCollection _OrderMakeList = new ObservableCollection(); /// /// 制作完成订单数据 /// public ObservableCollection OrderMakeListOver { get { return _OrderMakeListOver; } set { _OrderMakeListOver = value; OnPropertyChanged(); } } private ObservableCollection _OrderMakeListOver = new ObservableCollection(); #endregion public ScreenMorksControlViewModel() { TaskManage.GetInstance.StartLong(new Action(() => { System.Windows.Application.Current?.Dispatcher.Invoke((Action)(() => { if (Main.GetInstance.mqttDatasDic.ContainsKey(type)) { ScreenModelMorkS modelMaxWok = Main.GetInstance.mqttDatasDic[type] as ScreenModelMorkS; if (modelMaxWok != null && modelMaxWok.Alarm != null) modelMaxWok.Alarm = modelMaxWok.Alarm?.OrderByDescending(k => DateTime.Parse(k.AlarmTime)).ToList(); ViewData = modelMaxWok; OrderMakeList = JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(ViewData.MakeOrder)); OrderMakeListOver = JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(ViewData.MakeOrderOver)); } })); Thread.Sleep(100); }), $"{DateTime.Now},线程服务"); } } }