コード例 #1
0
        /// <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));
            }
        }
コード例 #2
0
        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);
            }
        }