using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; namespace Ant.ORM { #region 多表显示字段实体定义 /// /// 显示字段类 /// public class MakeShowFields { public Dictionary FieldList = new Dictionary(); 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; } } /// /// 设置显示字段所属表 /// /// public void SetTableName() { fieldcolumnlist = new FieldColumnsList(); fieldcolumnlist.TableName = typeof(T).Name; } #region IDictionary 成员 /// /// 向集合中添加元素 /// /// /// 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(); fieldcolumnlist.FieldList.Add(colum); if (!Contains(fieldcolumnlist.TableName)) FieldList.Add(fieldcolumnlist.TableName, fieldcolumnlist); else FieldList[fieldcolumnlist.TableName] = fieldcolumnlist; } /// /// 向集合中添加元素 /// /// /// 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(); fieldcolumnlist.FieldList.Add(colum); if (!Contains(fieldcolumnlist.TableName)) FieldList.Add(fieldcolumnlist.TableName, fieldcolumnlist); else { FieldList[fieldcolumnlist.TableName] = fieldcolumnlist; } } } #region 不用了 ///// ///// 向集合中添加元素 ///// ///// ///// //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(); // list.FieldList.Add(colum); // if (!Contains(list.TableName)) // FieldList.Add(list.TableName, list); // else // FieldList[list.TableName] = list; //} ///// ///// 向集合中添加元素 ///// ///// ///// //public void Add(string filed) //{ // FieldColumns colum = new FieldColumns(); // colum.FieldColumn = filed; // if (list.FieldList.IsNull()) // list.FieldList = new List(); // list.FieldList.Add(colum); // if (!Contains(list.TableName)) // { // FieldList.Add(list.TableName, list); // } // else // FieldList[list.TableName] = list; //} #endregion /// /// 移除集合中所有元素 /// public void Clear() { FieldList.Clear(); } /// /// 判断集合中是否有该元素 /// /// /// 有返true;没有返回false public bool Contains(string key) { return FieldList.ContainsKey(key); } public IDictionaryEnumerator GetEnumerator() { return FieldList.GetEnumerator(); } /// /// 表 /// // public string TableName { get; set; } public ICollection Keys { get { return FieldList.Keys; } } /// /// 移除集合中元素 /// /// public void Remove(string key) { FieldList.Remove(key); } /// /// 获取集合中值 /// public ICollection Values { get { return FieldList.Values; } } /// /// 获取key的值 /// /// /// 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 { /// /// 所有显示字段列表 /// public List FieldList { get; set; } /// /// 表 /// public string TableName { get; set; } } public class FieldColumns { /// /// 列名 /// public string FieldColumn { get; set; } /// /// 别名 /// public string FieldAsName { get; set; } } #endregion }