日期:2014-05-17 浏览次数:21052 次
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient; using System.Collections; using BLL; namespace Model { /// <summary> /// 其他模板类的基类 /// 通过GUID实例化 将调用DAL 会进行数据库访问 从何获取一个DATATABLE赋值 /// 通过DATAROW实例化无需数据库访问 会循环以列名 值 的格式存入HashTable(Ht) /// 无参数实例化 /// 索引器接收STRING类型参数 作为HT的KEY 取值 /// /// 创建时间:2011年8月29日10:31:03 /// </summary> public class ObjectData : Object { #region 变量属性 string guid = string.Empty; //GUID public string Guid { get { return guid; } set { guid = value; } } string name = string.Empty; //Name public string Name { get { return name; } set { name = value; } } int dataState = 0; //数据状态 public int DataState { get { return dataState; } set { dataState = value; } } Hashtable ht = new Hashtable(); //字段集合 public Hashtable Ht { get { return ht; } set { ht = value; } } DateTime _CreateTime; //数据创建时间 public DateTime CreateTime { get { return _CreateTime; } } #endregion #region 构造函数和索引器 //索引器 public virtual object this[string Key] { get { return ht[Key]; } } //无参数实例化 public ObjectData() : base() { } //GUID 表名实例化 /// <summary> /// 基本所有数据都有GUID 所以 接收一个GUID 一个TABLENAME /// </summary> /// <param name="guid"></param> /// <param name="TableName"></param> public ObjectData(string guid, string TableName) : base() { } //数据行实例化 /// <summary> /// 根据DataRow生成 /// </summary> /// <param name="dr"></param> public ObjectData(DataRow dr) { FillData(dr); } #endregion #region 方法 public override string ToString() { return name; } //判断是否相等 /// <summary> /// 检查是否相等 /// </summary> /// <param name="guid">传入了一个guid</param> /// <returns>返回结果</returns> public virtual bool Equals(string guid) { if (this.guid == guid) return true; return false; } public virtual bool Equals(ObjectData obj) { if (this.guid == obj.guid) return true; return false; } //存入数据 /// <summary> /// 填充数据用 /// </summary> /// <param name="dt"></param> public virtual void FillData(DataRow dt) { foreach (DataColumn dc in dt.Table.Columns) { switch (dc.ColumnName.ToLower()) { case "name": this.Name = dt[dc.ColumnName].ToString(); break; case "guid": this.Guid = dt[dc.ColumnName].ToString(); break; case "createtime": this._CreateTime = DateTime.Parse(dt[dc.ColumnName].ToString()); break; } ht.Add(dc.ColumnName, dt[dc.ColumnName].ToString()); } } //实例化Item实例 public virtual void FillItem(DataTable dt) { throw new Exception(&q