/// <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); }
/// <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); }