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 LocationCacheDAL { private static object lockobj = new object(); public static List LocationList = new List();// #region 获取计划任务列表 public List GetLocationList() { return LocationList; } #endregion #region 初始化任务列表 public void ClearScanList() { foreach (var planitem in LocationList.ToArray()) { LocationList.Remove(planitem); } } #endregion #region Job缓存处理方法 /// /// Job缓存处理方法 /// /// /// /// public bool UpdateLocModelList(List JobParam, ELCommend CommendType) { lock (lockobj) { if (CommendType.Equals(ELCommend.Create)) { LocationList.AddRange(JobParam); } else if (CommendType.Equals(ELCommend.Update)) { List ls = LocationList.FindAll(m => m.State == 2); ls.ForEach(m => m.State =3); JobParam.ForEach(m => m.State = 2); } else if (CommendType.Equals(ELCommend.Complete)) { JobParam.ForEach(m => m.State = 3); } else if (CommendType.Equals(ELCommend.Execute)) { JobParam.ForEach(m => LocationList.Remove(m)); } return true; } } #endregion } public enum ELCommend { /// ///货位下订单创建 /// [Description("货位信息添加")] Create, /// /// 货位订单处理 /// [Description("货位订单处理")] Update, /// /// 货位订单完成 /// [Description("货位订单完成")] Complete, /// /// 货位订单删除 /// [Description("货位订单删除")] Execute } }