/// <summary> /// 获得dt时间点的组织架构,有树形结构 /// </summary> /// <param name="dt"></param> /// <returns></returns> public List <Department> GetDepartmentTreeStructByDateTime(DateTime dt) { SqlCommand cmd = new SqlCommand(); cmd.Parameters.Add(_OperationTime, SqlDbType.DateTime).Value = dt; using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetDepartmentByDateTime", cmd)) { List <DBDept> sdrList = new List <DBDept>(); while (sdr.Read()) { DBDept dbDept; try { dbDept = new DBDept(sdr.GetInt32(sdr.GetOrdinal(_DbDepartmentID)), sdr.GetString(sdr.GetOrdinal(_DbDepartmentName)), sdr.GetInt32(sdr.GetOrdinal(_DbLeaderID)), sdr.GetInt32(sdr.GetOrdinal(_DbParentID)), sdr.GetString(sdr.GetOrdinal(_DbLeaderName))); if (sdr[_DbAddress] != DBNull.Value) { dbDept.Address = sdr.GetString(sdr.GetOrdinal(_DbAddress)); } if (sdr[_DbPhone] != DBNull.Value) { dbDept.Phone = sdr.GetString(sdr.GetOrdinal(_DbPhone)); } if (sdr[_DbFax] != DBNull.Value) { dbDept.Fax = sdr.GetString(sdr.GetOrdinal(_DbFax)); } if (sdr[_DbOthers] != DBNull.Value) { dbDept.Others = sdr.GetString(sdr.GetOrdinal(_DbOthers)); } if (sdr[_DbDescription] != DBNull.Value) { dbDept.Description = sdr.GetString(sdr.GetOrdinal(_DbDescription)); } if (sdr[_DbFoundationTime] != DBNull.Value) { dbDept.FoundationTime = sdr.GetDateTime(sdr.GetOrdinal(_DbFoundationTime)); } } catch { throw new DataException("department data error!"); } sdrList.Add(dbDept); } return(CreateDeptTree(sdrList)); } }
public List <Department> GetDepartmentTree() { if (_DeptTree != null) { return(_DeptTree); } SqlCommand cmd = new SqlCommand(); using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetDepartment", cmd)) { List <DBDept> sdrList = new List <DBDept>(); while (sdr.Read()) { DBDept dbDept = null; try { dbDept = new DBDept(sdr.GetInt32(sdr.GetOrdinal(_DbDepartmentID)), sdr.GetString(sdr.GetOrdinal(_DbDepartmentName)), sdr.GetInt32(sdr.GetOrdinal(_DbDepartmentLeaderId)), sdr.GetInt32(sdr.GetOrdinal(_DbDepartmentParentId))); if (sdr[_DbAddress] != DBNull.Value) { dbDept.Address = sdr.GetString(sdr.GetOrdinal(_DbAddress)); } if (sdr[_DbPhone] != DBNull.Value) { dbDept.Phone = sdr.GetString(sdr.GetOrdinal(_DbPhone)); } if (sdr[_DbFax] != DBNull.Value) { dbDept.Fax = sdr.GetString(sdr.GetOrdinal(_DbFax)); } if (sdr[_DbOthers] != DBNull.Value) { dbDept.Others = sdr.GetString(sdr.GetOrdinal(_DbOthers)); } if (sdr[_DbDescription] != DBNull.Value) { dbDept.Description = sdr.GetString(sdr.GetOrdinal(_DbDescription)); } if (sdr[_DbFoundationTime] != DBNull.Value) { dbDept.FoundationTime = sdr.GetDateTime(sdr.GetOrdinal(_DbFoundationTime)); } } catch { throw new DataException("department data error!"); } sdrList.Add(dbDept); } _DeptTree = CreateDeptTree(sdrList); return(_DeptTree); } }