Пример #1
0
        /// <summary>
        /// 分页获取用户信息
        /// </summary>
        /// <param name="pageCurrent">当前页</param>
        /// <param name="pageSize">每页显示记录数</param>
        /// <param name="pageCount">总记录数</param>
        /// <param name="companyId">公司编号</param>
        /// <param name="search">搜索实体</param>
        /// <returns>用户信息集合</returns>
        public IList <MComUser> GetList(int pageCurrent, int pageSize, ref int pageCount,
                                        string companyId, MComUserSearch search)
        {
            IList <MComUser> list = null;

            if (!string.IsNullOrEmpty(companyId))
            {
                pageCurrent = pageCurrent < 1 ? 1 : pageCurrent;
                list        = dal.GetList(pageCurrent, pageSize, ref pageCount, companyId, search);
            }
            return(list);
        }
Пример #2
0
        /// <summary>
        /// 分页获取用户信息
        /// </summary>
        /// <param name="pageCurrent">当前页</param>
        /// <param name="pageSize">每页显示记录数</param>
        /// <param name="pageCount">总记录数</param>
        /// <param name="companyId">公司编号</param>
        /// <param name="search">搜索实体</param>
        /// <returns>用户信息集合</returns>
        public IList <MComUser> GetList(int pageCurrent, int pageSize, ref int pageCount,
                                        string companyId, MComUserSearch search)
        {
            string tableName  = "tbl_ComUser";
            string primaryKey = "UserId";
            string orderBy    = "IssueTime DESC";
            string fileds     = "UserId,CompanyId,RoleId,DeptId,IsAdmin,(select DepartName from tbl_ComDepartment where DepartId=tbl_ComUser.DeptId) DeptName,UserName,UserType,ContactName,ContactTel,ContactMobile,ContactFax,QQ,UserStatus,OnlineStatus";

            fileds += ",Arrears,(SELECT A.RoleName FROM tbl_ComRole AS A WHERE A.Id=tbl_ComUser.RoleId) AS RoleName";

            IList <MComUser> list  = new List <MComUser>();
            MComUser         item  = null;
            StringBuilder    query = new StringBuilder();

            query.AppendFormat(" CompanyId = '{0}' and IsDelete='0' and  UserType in({1},{2}) ", companyId, (int)UserType.内部员工, (int)UserType.导游);
            if (search != null)
            {
                if (!string.IsNullOrEmpty(search.UserName))
                {
                    query.AppendFormat(" AND UserName like '%{0}%'", Utils.ToSqlLike(search.UserName));
                }
                if (!string.IsNullOrEmpty(search.ContactName))
                {
                    query.AppendFormat(" AND ContactName like '%{0}%'", Utils.ToSqlLike(search.ContactName));
                }
                if (search.DeptId != 0)
                {
                    query.AppendFormat(" AND DeptId = {0}", search.DeptId);
                }
                else
                {
                    if (!string.IsNullOrEmpty(search.DeptName))
                    {
                        query.AppendFormat(" AND exists(select 1 from tbl_ComDepartment where DepartId=tbl_ComUser.DeptId and DepartName like '%{0}%')", Utils.ToSqlLike(search.DeptName));
                    }
                }
                if (search.UserStatus.HasValue)
                {
                    query.AppendFormat(" AND UserStatus = {0}", (int)search.UserStatus.Value);
                }
                if (search.RoleId.HasValue)
                {
                    query.AppendFormat(" AND RoleId = {0}", search.RoleId.Value);
                }
            }

            using (IDataReader reader = DbHelper.ExecuteReader(this._db, pageSize, pageCurrent, ref pageCount,
                                                               tableName, primaryKey, fileds, query.ToString(), orderBy))
            {
                while (reader.Read())
                {
                    list.Add(item = new MComUser()
                    {
                        UserId        = reader["UserId"].ToString(),
                        CompanyId     = reader["CompanyId"].ToString(),
                        UserName      = reader["UserName"].ToString(),
                        RoleId        = (int)reader["RoleId"],
                        UserType      = (UserType)Enum.Parse(typeof(UserType), reader["UserType"].ToString()),
                        ContactName   = reader["ContactName"].ToString(),
                        ContactTel    = reader.IsDBNull(reader.GetOrdinal("ContactTel")) ? string.Empty : reader["ContactTel"].ToString(),
                        ContactFax    = reader.IsDBNull(reader.GetOrdinal("ContactFax")) ? string.Empty : reader["ContactFax"].ToString(),
                        ContactMobile = reader.IsDBNull(reader.GetOrdinal("ContactMobile")) ? string.Empty : reader["ContactMobile"].ToString(),
                        QQ            = reader.IsDBNull(reader.GetOrdinal("QQ")) ? string.Empty : reader["QQ"].ToString(),
                        DeptName      = reader.IsDBNull(reader.GetOrdinal("DeptName")) ? string.Empty : reader["DeptName"].ToString(),
                        UserStatus    = (EyouSoft.Model.EnumType.ComStructure.UserStatus)reader.GetByte(reader.GetOrdinal("UserStatus")),
                        DeptId        = reader.IsDBNull(reader.GetOrdinal("DeptId")) ? 0 : reader.GetInt32(reader.GetOrdinal("DeptId")),
                        IsAdmin       = reader["IsAdmin"].ToString() == "1" ? true : false,
                        OnlineStatus  = (UserOnlineStatus)reader.GetByte(reader.GetOrdinal("OnlineStatus")),
                        Arrears       = reader.GetDecimal(reader.GetOrdinal("Arrears")),
                        RoleName      = reader["RoleName"].ToString()
                    });
                }
            }
            return(list);
        }