You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

444 lines
12 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Collections;
using BP.DA;
using BP.En;
namespace BP.Sys
{
/// <summary>
/// 全局变量
/// </summary>
public class GloVarAttr : EntityNoNameAttr
{
/// <summary>
/// Val
/// </summary>
public const string Val = "Val";
/// <summary>
/// Note
/// </summary>
public const string Note = "Note";
/// <summary>
/// GroupKey
/// </summary>
public const string GroupKey = "GroupKey";
/// <summary>
/// 顺序号
/// </summary>
public const string Idx = "Idx";
}
/// <summary>
/// 全局变量
/// </summary>
public class GloVar : EntityNoName
{
#region 属性
public object ValOfObject
{
get
{
return this.GetValByKey(GloVarAttr.Val);
}
set
{
this.SetValByKey(GloVarAttr.Val, value);
}
}
public string Val
{
get
{
return this.GetValStringByKey(GloVarAttr.Val);
}
set
{
this.SetValByKey(GloVarAttr.Val, value);
}
}
public float ValOfFloat
{
get
{
try
{
return this.GetValFloatByKey(GloVarAttr.Val);
}
catch
{
return 0;
throw new Exception("@" + this.Name + ", 没有设置默认值." + this.Val);
}
}
set
{
this.SetValByKey(GloVarAttr.Val, value);
}
}
public int ValOfInt
{
get
{
try
{
return this.GetValIntByKey(GloVarAttr.Val);
}
catch (Exception ex)
{
return 0;
throw new Exception("@" + this.Name + ", 没有设置默认值." + this.Val);
}
}
set
{
this.SetValByKey(GloVarAttr.Val, value);
}
}
public decimal ValOfDecimal
{
get
{
try
{
return this.GetValDecimalByKey(GloVarAttr.Val);
}
catch
{
return 0;
throw new Exception("@" + this.Name + ", 没有设置默认值." + this.Val);
}
}
set
{
this.SetValByKey(GloVarAttr.Val, value);
}
}
public bool ValOfBoolen
{
get
{
return this.GetValBooleanByKey(GloVarAttr.Val);
}
set
{
this.SetValByKey(GloVarAttr.Val, value);
}
}
/// <summary>
/// note
/// </summary>
public string Note
{
get
{
return this.GetValStringByKey(GloVarAttr.Note);
}
set
{
this.SetValByKey(GloVarAttr.Note, value);
}
}
public int Idx
{
get
{
return this.GetValIntByKey(GloVarAttr.Idx);
}
set
{
this.SetValByKey(GloVarAttr.Idx, value);
}
}
/// <summary>
/// 分组值
/// </summary>
public string GroupKey
{
get
{
return this.GetValStringByKey(GloVarAttr.GroupKey);
}
set
{
this.SetValByKey(GloVarAttr.GroupKey, value);
}
}
#endregion
#region 构造方法
/// <summary>
/// 全局变量
/// </summary>
public GloVar()
{
}
/// <summary>
/// 全局变量
/// </summary>
/// <param name="no"></param>
public GloVar(string no)
{
this.No = no;
this.Retrieve();
}
/// <summary>
/// 键值
/// </summary>
/// <param name="key">key</param>
/// <param name="isNullAsVal"></param>
public GloVar(string key, object isNullAsVal)
{
try
{
this.No = key;
this.Retrieve();
}
catch
{
if (this.RetrieveFromDBSources() == 0)
{
this.Val = isNullAsVal.ToString();
this.Insert();
}
}
}
/// <summary>
/// EnMap
/// </summary>
public override Map EnMap
{
get
{
if (this._enMap != null)
return this._enMap;
Map map = new Map("Sys_GloVar", "全局变量");
map.AddTBStringPK(GloVarAttr.No, null, "键", true, false, 1, 50, 20);
map.AddTBString(GloVarAttr.Name, null, "名称", true, false, 0, 120, 20);
map.AddTBString(GloVarAttr.Val, null, "值", true, false, 0, 4000, 20, true);
map.AddTBString(GloVarAttr.GroupKey, null, "分组值", true, false, 0, 120, 20, true);
map.AddTBStringDoc(GloVarAttr.Note, null, "说明", true, false, true);
map.AddTBInt(GloVarAttr.Idx, 0, "顺序号", true, true);
this._enMap = map;
return this._enMap;
}
}
#endregion
#region 公共属性.
/// <summary>
/// 公共假期
/// </summary>
private static string _Holidays = null;
/// <summary>
/// 一个月份的假期.
/// </summary>
public static string Holidays
{
get
{
if (_Holidays != null)
return _Holidays;
GloVar en = new GloVar();
en.No = "Holiday";
int i = en.RetrieveFromDBSources();
if (i == 0)
_Holidays = "";
else
_Holidays = en.Val;
return _Holidays;
}
set
{
_Holidays = value;
}
}
#endregion
}
/// <summary>
/// 全局变量s
/// </summary>
public class GloVars : EntitiesNoName
{
#region get value by key
/// <summary>
/// 设置配置文件
/// </summary>
/// <param name="key">key</param>
/// <param name="val">val</param>
public static int SetValByKey(string key, object val)
{
GloVar en = new GloVar(key, val);
en.ValOfObject = val;
return en.Update();
}
/// <summary>
/// 获取html数据
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static string GetValByKeyHtml(string key)
{
return DataType.ParseText2Html(GloVars.GetValByKey(key));
}
public static string GetValByKey(string key)
{
foreach (GloVar cfg in GloVars.MyGloVars)
{
if (cfg.No == key)
return cfg.Val;
}
throw new Exception("error key=" + key);
}
/// <summary>
/// 得到一个key.
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static string GetValByKey(string key, string isNullAs)
{
foreach (GloVar cfg in GloVars.MyGloVars)
{
if (cfg.No == key)
return cfg.Val;
}
GloVar en = new GloVar(key, isNullAs);
//GloVar en = new GloVar(key);
return en.Val;
}
public static int GetValByKeyInt(string key, int isNullAs)
{
foreach (GloVar cfg in GloVars.MyGloVars)
{
if (cfg.No == key)
return cfg.ValOfInt;
}
GloVar en = new GloVar(key, isNullAs);
//GloVar en = new GloVar(key);
return en.ValOfInt;
}
public static int GetValByKeyDecimal(string key, int isNullAs)
{
foreach (GloVar cfg in GloVars.MyGloVars)
{
if (cfg.No == key)
return cfg.ValOfInt;
}
GloVar en = new GloVar(key, isNullAs);
//GloVar en = new GloVar(key);
return en.ValOfInt;
}
public static bool GetValByKeyBoolen(string key, bool isNullAs)
{
foreach (GloVar cfg in GloVars.MyGloVars)
{
if (cfg.No == key)
return cfg.ValOfBoolen;
}
int val = 0;
if (isNullAs)
val = 1;
GloVar en = new GloVar(key, val);
return en.ValOfBoolen;
}
public static float GetValByKeyFloat(string key, float isNullAs)
{
foreach (GloVar cfg in GloVars.MyGloVars)
{
if (cfg.No == key)
return cfg.ValOfFloat;
}
GloVar en = new GloVar(key, isNullAs);
return en.ValOfFloat;
}
private static GloVars _MyGloVars = null;
public static GloVars MyGloVars
{
get
{
if (_MyGloVars == null)
{
_MyGloVars = new GloVars();
_MyGloVars.RetrieveAll();
}
return _MyGloVars;
}
}
public static void ReSetVal()
{
_MyGloVars = null;
}
#endregion
#region 风格处理.
#endregion
#region 构造
/// <summary>
/// 全局变量s
/// </summary>
public GloVars()
{
}
/// <summary>
/// 全局变量s
/// </summary>
/// <param name="fk_mapdata">s</param>
public GloVars(string fk_mapdata)
{
if (BP.Difference.SystemConfig.isDebug)
this.Retrieve(MapAttrAttr.FK_MapData, fk_mapdata);
else
this.RetrieveFromCache(MapAttrAttr.FK_MapData, (object)fk_mapdata);
}
/// <summary>
/// 得到它的 Entity
/// </summary>
public override Entity GetNewEntity
{
get
{
return new GloVar();
}
}
#endregion
#region 为了适应自动翻译成java的需要,把实体转换成List.
/// <summary>
/// 转化成 java list,C#不能调用.
/// </summary>
/// <returns>List</returns>
public System.Collections.Generic.IList<GloVar> ToJavaList()
{
return (System.Collections.Generic.IList<GloVar>)this;
}
/// <summary>
/// 转化成list
/// </summary>
/// <returns>List</returns>
public System.Collections.Generic.List<GloVar> Tolist()
{
System.Collections.Generic.List<GloVar> list = new System.Collections.Generic.List<GloVar>();
for (int i = 0; i < this.Count; i++)
{
list.Add((GloVar)this[i]);
}
return list;
}
#endregion 为了适应自动翻译成java的需要,把实体转换成List.
}
}