using iWareCommon.Common.Entity;
using iWareDataCore.DEV.Entity;
using iWareDataCore.DEV.Service;
using iWareDataCore.RBAC.Entity;
using iWareDataCore.RBAC.Service;
using iWareExcel.EXCEL.Entity;
using iWareExcel.EXCEL.Service;
using System.Collections.Generic;
namespace iWareWms.Code.Common.Entity
{
///
/// 系统缓存类
///
public class CacheEntity
{
private static object FactoryLock = new object();
private static object WorkShopLock = new object();
private static object WorkCenterLock = new object();
private static object CellLock = new object();
private static object UnitLock = new object();
private static object OpcWcfServiceLock = new object();
private static object RedisWcfServiceLock = new object();
private static object ContentLock = new object();
private static object ShiftLock = new object();
private static object ProcessRoutingLock = new object();
private static object WorkBookLock = new object();
private static object EquipmentLock = new object();
private static object ControlCenterWcfServiceLock = new object();
///
/// 菜单
///
private static Dictionary contentDict = null;
public static Dictionary ContentDict
{
get
{
if (contentDict == null)
{
lock (ContentLock)
{
if (contentDict == null)
{
string msg;
contentDict = ContentService.GetInstance().ToDictionary(new QueryParam(), out msg);
}
}
}
return contentDict;
}
set { CacheEntity.contentDict = value; }
}
///
/// 以工作簿的名称为键,工作簿为值的字典
///
private static Dictionary workBookDict = null;
public static Dictionary WorkBookDict
{
get
{
if (workBookDict == null)
{
lock (WorkBookLock)
{
if (workBookDict == null)
{
string msg;
var workBooks = WorkBookService.GetInstance().QueryByParam(new QueryParam(), out msg);
workBookDict = new Dictionary();
workBooks.ForEach(x => workBookDict.Add(x.Name, x));
}
}
}
return CacheEntity.workBookDict;
}
set { CacheEntity.workBookDict = value; }
}
///
/// 设备
///
private static Dictionary equipmentDict = null;
public static Dictionary EquipmentDict
{
get
{
if (equipmentDict == null)
{
lock (EquipmentLock)
{
if (equipmentDict == null)
{
string msg;
equipmentDict = EquipmentService.GetInstance().ToDictionary(new QueryParam(), out msg);
}
}
}
return equipmentDict;
}
set { CacheEntity.equipmentDict = value; }
}
}
}