using FineUIPro.iWareWms.PrintWcfService;
using iWareCommon.Common.Entity;
using iWareDataCore.DEV.Entity;
using iWareDataCore.DEV.Service;
using iWareExcel.EXCEL.Entity;
using iWareExcel.EXCEL.Service;
using System.Collections.Generic;
namespace FineUIPro.iWareWms.Code.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 object printWcfServiceClientLock = new object();
private static PrintWcfServiceClient printWcfServiceClient = null;
public static PrintWcfServiceClient PrintWcfServiceClient
{
get
{
if (printWcfServiceClient == null)
{
lock (printWcfServiceClientLock)
{
if (printWcfServiceClient == null)
{
printWcfServiceClient = new PrintWcfServiceClient();
}
}
}
return CacheEntity.printWcfServiceClient;
}
set { CacheEntity.printWcfServiceClient = 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; }
}
//private static ControlCenterWcfServiceClient controlCenterWcfServiceClient = null;
//public static ControlCenterWcfServiceClient ControlCenterWcfServiceClient
//{
// get
// {
// if (controlCenterWcfServiceClient == null)
// {
// lock (ControlCenterWcfServiceLock)
// {
// if (controlCenterWcfServiceClient == null)
// {
// controlCenterWcfServiceClient = new ControlCenterWcfServiceClient();
// }
// }
// }
// return CacheEntity.controlCenterWcfServiceClient;
// }
// set { CacheEntity.controlCenterWcfServiceClient = value; }
//}
}
}