123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace Ant.ORM
- {
- #region 多表显示字段实体定义
- /// <summary>
- /// 显示字段类
- /// </summary>
- public class MakeShowFields
- {
-
- public Dictionary<string, FieldColumnsList> FieldList = new Dictionary<string, FieldColumnsList>();
- private FieldColumnsList fieldcolumnlist;
- private static object lockHelper = new object();
- private static volatile MakeShowFields instance = null;
-
- public MakeShowFields()
- {
- fieldcolumnlist = new FieldColumnsList();
- }
- public static MakeShowFields Instance
- {
- get
- {
- if (instance == null)
- {
- lock (lockHelper)
- {
- if (instance == null)
- {
- instance = new MakeShowFields();
- }
- }
- }
- return instance;
- }
- }
- /// <summary>
- /// 设置显示字段所属表
- /// </summary>
- /// <typeparam name="T"></typeparam>
- public void SetTableName<T>()
- {
- fieldcolumnlist = new FieldColumnsList();
- fieldcolumnlist.TableName = typeof(T).Name;
- }
- #region IDictionary 成员
- /// <summary>
- /// 向集合中添加元素
- /// </summary>
- /// <param name="key"></param>
- /// <param name="value"></param>
- public void Add(Enum filed, string asname)
- {
- FieldColumns colum = new FieldColumns();
- colum.FieldColumn = filed.ToString();
- colum.FieldAsName = asname;
- if (fieldcolumnlist.FieldList.IsNull())
- fieldcolumnlist.FieldList = new List<FieldColumns>();
- fieldcolumnlist.FieldList.Add(colum);
- if (!Contains(fieldcolumnlist.TableName))
- FieldList.Add(fieldcolumnlist.TableName, fieldcolumnlist);
- else
- FieldList[fieldcolumnlist.TableName] = fieldcolumnlist;
- }
- /// <summary>
- /// 向集合中添加元素
- /// </summary>
- /// <param name="key"></param>
- /// <param name="value"></param>
- public void Add(params Enum[] fileds)
- {
- foreach(var filed in fileds)
- {
- FieldColumns colum = new FieldColumns();
- colum.FieldColumn = filed.ToString();
- if (fieldcolumnlist.FieldList.IsNull())
- fieldcolumnlist.FieldList = new List<FieldColumns>();
- fieldcolumnlist.FieldList.Add(colum);
- if (!Contains(fieldcolumnlist.TableName))
- FieldList.Add(fieldcolumnlist.TableName, fieldcolumnlist);
- else
- {
- FieldList[fieldcolumnlist.TableName] = fieldcolumnlist;
- }
- }
-
- }
- #region 不用了
- ///// <summary>
- ///// 向集合中添加元素
- ///// </summary>
- ///// <param name="key"></param>
- ///// <param name="value"></param>
- //public void Add(string filed, string asname)
- //{
- // FieldColumns colum = new FieldColumns();
- // colum.FieldColumn = filed;
- // colum.FieldAsName = asname;
- // if (list.FieldList.IsNull())
- // list.FieldList = new List<FieldColumns>();
- // list.FieldList.Add(colum);
- // if (!Contains(list.TableName))
- // FieldList.Add(list.TableName, list);
- // else
- // FieldList[list.TableName] = list;
- //}
- ///// <summary>
- ///// 向集合中添加元素
- ///// </summary>
- ///// <param name="key"></param>
- ///// <param name="value"></param>
- //public void Add(string filed)
- //{
- // FieldColumns colum = new FieldColumns();
- // colum.FieldColumn = filed;
- // if (list.FieldList.IsNull())
- // list.FieldList = new List<FieldColumns>();
- // list.FieldList.Add(colum);
- // if (!Contains(list.TableName))
- // {
- // FieldList.Add(list.TableName, list);
- // }
- // else
- // FieldList[list.TableName] = list;
- //}
- #endregion
- /// <summary>
- /// 移除集合中所有元素
- /// </summary>
- public void Clear()
- {
- FieldList.Clear();
- }
- /// <summary>
- /// 判断集合中是否有该元素
- /// </summary>
- /// <param name="key"></param>
- /// <returns>有返true;没有返回false</returns>
- public bool Contains(string key)
- {
- return FieldList.ContainsKey(key);
- }
- public IDictionaryEnumerator GetEnumerator()
- {
- return FieldList.GetEnumerator();
- }
- /// <summary>
- /// 表
- /// </summary>
- // public string TableName { get; set; }
- public ICollection Keys
- {
- get { return FieldList.Keys; }
- }
- /// <summary>
- /// 移除集合中元素
- /// </summary>
- /// <param name="key"></param>
- public void Remove(string key)
- {
- FieldList.Remove(key);
- }
- /// <summary>
- /// 获取集合中值
- /// </summary>
- public ICollection Values
- {
- get { return FieldList.Values; }
- }
- /// <summary>
- /// 获取key的值
- /// </summary>
- /// <param name="key"></param>
- /// <returns></returns>
- public FieldColumnsList this[string key]
- {
- get
- {
- if (Contains(key))
- return FieldList[key];
- else
- return null;
- }
- set
- {
- if (Contains(key))
- FieldList[key] = value;
- else
- FieldList.Add(key, value);
- }
- }
- #endregion
- }
- public class FieldColumnsList
- {
- /// <summary>
- /// 所有显示字段列表
- /// </summary>
- public List<FieldColumns> FieldList
- {
- get;
- set;
- }
- /// <summary>
- /// 表
- /// </summary>
- public string TableName { get; set; }
- }
- public class FieldColumns
- {
- /// <summary>
- /// 列名
- /// </summary>
- public string FieldColumn
- {
- get;
- set;
- }
- /// <summary>
- /// 别名
- /// </summary>
- public string FieldAsName
- {
- get;
- set;
- }
- }
- #endregion
- }
|