using Epost.Model; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Epost.DAL.Cache { public class ShowMesCacheDAL { private static object lockmsg= new object(); public static List MsgList = new List();// #region 获取计划任务列表 public List GetMsgList() { return MsgList; } #endregion #region 初始化任务列表 public void ClearJMsgList() { foreach (var planitem in MsgList.ToArray()) { MsgList.Remove(planitem); } } #endregion #region Job缓存处理方法 /// /// Job缓存处理方法 /// /// /// /// public bool UpdateMsgModelList(List JobParam, EmsgCommend CommendType) { lock (lockmsg) { if (CommendType.Equals(EmsgCommend.Create)) { ShowMesModel model = JobParam.FirstOrDefault(); List mglist= MsgList.FindAll(p => p.Matchid == model.Matchid && p.Sku == model.Sku && p.Block == model.Block && p.Area == model.Area); if (mglist.Any()) { MsgList.FirstOrDefault().Sku = JobParam.FirstOrDefault().Sku; MsgList.FirstOrDefault().Qty = JobParam.FirstOrDefault().Qty; } else { MsgList.AddRange(JobParam); } } else if (CommendType.Equals(EmsgCommend.Execute)) { //JobParam.ForEach(m => PlanJobDownList.Remove(m)); foreach (var planitem in JobParam.ToArray()) { MsgList.Remove(planitem); } } return true; } } #endregion } public enum EmsgCommend { /// /// 接收扫描任务 /// [Description("添加")] Create, /// /// 任务完成 /// [Description("删除")] Execute } }