using System; using System.Data; using System.ServiceModel; using SSWMS.Common; namespace SSWMS.Server { [ServiceBehavior(IncludeExceptionDetailInFaults = true, InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Multiple, MaxItemsInObjectGraph = int.MaxValue, UseSynchronizationContext = false)] public class S_BaseService : I_BaseService { #region Instance //public static volatile P_Base_ERP _P_Base_ERP = new P_Base_ERP(); public static volatile P_Base_ERP _P_Base_ERP = null; public static volatile P_Base_House _P_Base_House = new P_Base_House(); public static volatile P_GOODS_MAIN _P_GOODS_MAIN = new P_GOODS_MAIN(); public static volatile P_IO_CONTROL _P_IO_CONTROL = new P_IO_CONTROL(); public static volatile P_IO_CONTROL_APPLY _P_IO_CONTROL_APPLY = new P_IO_CONTROL_APPLY(); public static volatile P_IO_CONTROL_MODEL _P_IO_CONTROL_MODEL = new P_IO_CONTROL_MODEL(); public static volatile P_IO_CONTROL_ROUTE _P_IO_CONTROL_ROUTE = new P_IO_CONTROL_ROUTE(); public static volatile P_MANAGE_LIST _P_MANAGE_LIST = new P_MANAGE_LIST(); public static volatile P_MANAGE_MAIN _P_MANAGE_MAIN = new P_MANAGE_MAIN(); public static volatile P_PLAN_LIST _P_PLAN_LIST = new P_PLAN_LIST(); public static volatile P_PLAN_MAIN _P_PLAN_MAIN = new P_PLAN_MAIN(); public static volatile P_RECORD_LIST _P_RECORD_LIST = new P_RECORD_LIST(); public static volatile P_RECORD_MAIN _P_RECORD_MAIN = new P_RECORD_MAIN(); public static volatile P_STORAGE_LIST _P_STORAGE_LIST = new P_STORAGE_LIST(); public static volatile P_STORAGE_MAIN _P_STORAGE_MAIN = new P_STORAGE_MAIN(); public static volatile P_SYS_CONFIG _P_SYS_CONFIG = new P_SYS_CONFIG(); public static volatile P_SYS_FLOW _P_SYS_FLOW = new P_SYS_FLOW(); public static volatile P_SYS_LOG _P_SYS_LOG = new P_SYS_LOG(); public static volatile P_SYS_MENU _P_SYS_MENU = new P_SYS_MENU(); public static volatile P_SYS_RELATION _P_SYS_RELATION = new P_SYS_RELATION(); public static volatile P_SYS_ROLE _P_SYS_ROLE = new P_SYS_ROLE(); public static volatile P_SYS_USER _P_SYS_USER = new P_SYS_USER(); public static volatile P_WH_CELL _P_WH_CELL = new P_WH_CELL(); public static volatile S_BaseService _S_BaseService = new S_BaseService(); public static volatile S_CellService _S_CellService = new S_CellService(); public static volatile S_ControlService _S_ControlService = new S_ControlService(); public static volatile S_DeviceService _S_DeviceService = new S_DeviceService(); public static volatile S_ERPService _S_ERPService = new S_ERPService(); public static volatile S_ManageService _S_ManageService = new S_ManageService(); public static volatile S_PlanService _S_PlanService = new S_PlanService(); public static volatile S_StorageService _S_StorageService = new S_StorageService(); public static volatile S_SystemService _S_SystemService = new S_SystemService(); #endregion public DataTable GetDataTable(string sql, int database = SystemCode.ConstCode.DatabaseWarehouse) { if (database == SystemCode.ConstCode.DatabaseERP) { return _P_Base_ERP.GetDataTable(sql); } else { return _P_Base_House.GetDataTable(sql); } } public int UpdateDataTable(DataTable dt, string sTableName, out string sResult, int database = SystemCode.ConstCode.DatabaseWarehouse) { int iResult = 0; sResult = string.Empty; if (database == SystemCode.ConstCode.DatabaseERP) { try { _P_Base_ERP.BeginTransaction(); iResult = _P_Base_ERP.UpdateDataTable(dt, sTableName, out sResult); _P_Base_ERP.CommitTransaction(); } catch (Exception ex) { _P_Base_ERP.RollBackTransaction(); sResult = ex.Message; return 0; } } else { try { _P_Base_House.BeginTransaction(); iResult = _P_Base_House.UpdateDataTable(dt, sTableName, out sResult); _P_Base_House.CommitTransaction(); } catch (Exception ex) { _P_Base_House.RollBackTransaction(); sResult = ex.Message; return 0; } } return iResult; } public int ExecuteNonQuery(string sql, int database = SystemCode.ConstCode.DatabaseWarehouse) { int iResult = 0; if (database == SystemCode.ConstCode.DatabaseERP) { try { _P_Base_ERP.BeginTransaction(); iResult = _P_Base_ERP.ExecuteNonQuery(sql); _P_Base_ERP.CommitTransaction(); } catch { _P_Base_ERP.RollBackTransaction(); return 0; } } else { try { _P_Base_House.BeginTransaction(); iResult = _P_Base_House.ExecuteNonQuery(sql); _P_Base_House.CommitTransaction(); } catch { _P_Base_House.RollBackTransaction(); return 0; } } return iResult; } } }