Files
T-DAS/Epost.DAL/Cache/ShowMesCacheDAL.cs
2023-01-13 15:30:20 +08:00

107 lines
2.5 KiB
C#

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<ShowMesModel> MsgList = new List<ShowMesModel>();//
#region
public List<ShowMesModel> GetMsgList()
{
return MsgList;
}
#endregion
#region
public void ClearJMsgList()
{
foreach (var planitem in MsgList.ToArray())
{
MsgList.Remove(planitem);
}
}
#endregion
#region Job缓存处理方法
/// <summary>
/// Job缓存处理方法
/// </summary>
/// <param name="JobParam"></param>
/// <param name="EdownCommend"></param>
/// <returns></returns>
public bool UpdateMsgModelList(List<ShowMesModel> JobParam, EmsgCommend CommendType)
{
lock (lockmsg)
{
if (CommendType.Equals(EmsgCommend.Create))
{
ShowMesModel model = JobParam.FirstOrDefault();
List<ShowMesModel> 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
{
/// <summary>
/// 接收扫描任务
/// </summary>
[Description("添加")]
Create,
/// <summary>
/// 任务完成
/// </summary>
[Description("删除")]
Execute
}
}