public ActionResult UserList(UserQueryParameter para) { para.IsPage = true; var data = _iUserBll.GetUserListbyParameter(para); return(View(data)); }
public ResourceWrapper GetUsers(UserQueryParameter queryParameter) { string orderBy = GetOrderBy(queryParameter); var totalRecords = new SqlParameter("@TotalRecords", System.Data.SqlDbType.Int); totalRecords.Direction = System.Data.ParameterDirection.Output; string sqlQuery = @"EXEC ADMIN.GET_USER_RIGHT @Query=@Query, @Start=@Start, @DarId=@DarId, @Limit=@Limit, @Order=@Order, @TotalRecords=@TotalRecords OUT"; var result = SqlQuery <UserRightDto>(sqlQuery, new object[] { new SqlParameter("@Query", queryParameter.query ?? string.Empty), new SqlParameter("@Start", queryParameter.start), new SqlParameter("@Limit", queryParameter.limit), new SqlParameter("@Order", orderBy), new SqlParameter("@DarId", queryParameter.DarId), totalRecords }); ResourceWrapper wrapper = new ResourceWrapper(); wrapper.Page = queryParameter.page; wrapper.Size = queryParameter.limit; wrapper.Records = result; wrapper.TotalRecords = (int)totalRecords.Value; return(wrapper); }
/// <summary> /// login /// </summary> /// <param name="user"></param> /// <returns></returns> public ReturnResponse <User> Login(User user) { var response = new ReturnResponse <User>(); var para = new UserQueryParameter() { UserName = user.UserName, UserPWD = user.UserPWD.Md5Compute32(), Take = 1, IsPage = false }; var res = GetUserListbyParameter(para); if (res.IsSuccess && res.Body.Items.Any()) { response.Body = res.Body.Items.FirstOrDefault(); if (response.Body != null && response.Body.DataStatus == 1) { response.ResponseCode = 403; response.Message = "user has been forbidden"; } else { response.ResponseCode = 1; response.Message = "login success"; } } else { response.ResponseCode = 400; response.Message = "user name or password error"; } return(response); }
/// <summary> /// 根据指定的查询参数查询用户句柄。 /// </summary> /// <param name="query">查询参数。</param> /// <returns>一个包含了所有满足查询条件的用户句柄的查询结果对象。</returns> /// <exception cref="ArgumentNullException"/> public ReadOnlyCollection <UserHandle> QueryUsers(UserQueryParameter query) { if (query == null) { throw new ArgumentNullException(nameof(query)); } if (query.QueryByOrganization && query.Organization == null) { throw new ArgumentNullException(nameof(query.Organization)); } bool hasQuery = query.QueryByOrganization || query.QueryByUsergroup; if (!hasQuery) { // 没有查询参数。返回空列表。 return(new ReadOnlyCollection <UserHandle>(new List <UserHandle>())); } else { return(m_factory.WithContext(context => { IQueryable <UserProfileEntity> profiles = context.GetAllUserProfiles(); if (query.QueryByOrganization) { profiles = UserDataContext.QueryUserProfileEntitiesByOrganization(profiles, query.Organization); } if (query.QueryBySex) { profiles = UserDataContext.QueryUserProfileEntitiesBySex(profiles, (NativeUserSex)query.Sex); } if (query.QueryByUsergroup) { profiles = UserDataContext.QueryUserProfileEntitiesByUsergroup(profiles, (NativeUserGroup)query.UserGroup); } // 对查询结果进行排序以准备随时分页。 profiles.OrderBy(item => item.Username); if (query.EnablePageQuery) { profiles = profiles.Page(query.PageQuery); } List <UserHandle> handles = new List <UserHandle>(); foreach (UserProfileEntity ent in profiles) { handles.Add(UserHandle.FromUserProfileEntity(ent)); } return new ReadOnlyCollection <UserHandle>(handles); })); } }
/// <summary> /// 获取查询结果 /// </summary> /// <param name="para"></param> /// <returns></returns> public Pager <User> QueryUsersByParameter(UserQueryParameter para) { var dataList = new Lazy <Pager <User> >(); var sqlText = new StringBuilder(); #region sql sqlText.Append( @"SELECT [Id] ,[UserName] ,[UserPWD] ,[Email] ,[CreateDateTime] ,[Mobile] FROM [USER] WHERE 1 = 1 "); var conditions = para.GenerateByOperate(GenerateOperate.Condition); //string.Empty.GenerateCondition(para); sqlText.Append(conditions); sqlText.Append(" ORDER BY Id DESC OFFSET "); sqlText.Append(((para.Skip) * para.Take).ToString()); sqlText.Append(" ROWS FETCH NEXT "); sqlText.Append(para.Take.ToString()); sqlText.Append(" ROWS ONLY;"); if (para.IsPage) { sqlText.Append(" SELECT COUNT(1) AS Total ,CEILING((COUNT(1)+0.0)/") .Append(para.Take.ToString()) .Append(") AS Pages FROM [USER] WHERE 1 =1 ") .Append(conditions + ";"); } #endregion using (IDbConnection conn = SqlServerDB.GetSqlConnection()) { var grid = conn.QueryMultiple(sqlText.ToString(), para); dataList.Value.Items = grid.Read <User>().ToArray(); if (para.IsPage) { var pageInfo = grid.Read().FirstOrDefault(); if (pageInfo == null) { return(dataList.Value); } dataList.Value.Total = (int)pageInfo.Total; dataList.Value.Pages = (int)pageInfo.Pages; } else { return(dataList.Value); } } return(dataList.Value); }
public async Task <IPaged <User> > PagedAsync(UserQueryParameter param, int pageIndex, int pageSize) { Expression <Func <User, bool> > query = null; if (param != null && !string.IsNullOrWhiteSpace(param.Key)) { query = e => e.Username.Contains(param.Key) || e.Email.Contains(param.Key) || e.Mobile.Contains(param.Key) || e.RealName.Contains(param.Key); } else { query = e => true; } var result = await base.PagedAsync(query, pageIndex, pageSize); return(result); }
public async Task <List <User> > SelectAsync(UserQueryParameter param) { Expression <Func <User, bool> > query = null; if (param != null && !string.IsNullOrWhiteSpace(param.Key)) { query = e => e.Username.Contains(param.Key) || e.Email.Contains(param.Key) || e.Mobile.Contains(param.Key) || e.RealName.Contains(param.Key); } else { query = e => true; } var list = (await base.SelectAsync(query)).ToList(); return(list); }
public string GetOrderBy(UserQueryParameter queryParameter) { string order = string.Empty; var sorts = queryParameter.GetSorts(); if (sorts == null || sorts.Count() == 0) { return(string.Empty); } sorts.Each((p) => { order += string.Format("{0} {1},", p.Property, p.Direction); }); if (order.Length > 0) { order = order.Substring(0, order.Length - 1); } return(string.Format("ORDER BY {0}", order)); }
public ReturnResponse <Pager <User> > GetUserListbyParameter(UserQueryParameter para) { para.Take = para.PageSize; return(new ReturnResponse <Pager <User> > { Body = _iUserDal.QueryUsersByParameter(para), ResponseCode = 1, Message = "Success" }); #region get from redis //if (para != null && !para.IsLogin) // using (var client = RedisManager.GetClient()) // { // var dataList = client.Get<Pager<User>>("UsersDataPager_" + para.PageIndex); // if (dataList != null && dataList.Items.Any()) // { // response.Body = dataList; // response.ResponseCode = 1; // response.Message = "Success"; // return response; // } // } #endregion //_IContainer.Resolve<IUserDAL>().QueryUsersByParameter(para); #region set redis //if (para != null && !para.IsLogin) // using (var redisClient = RedisManager.GetClient()) // { // redisClient.Set("UsersDataPager_" + para.PageIndex, data); // } #endregion }
public async void LoginAsync(User user) { Func <Task <ReturnResponse <User> > > taskFunc = () => { return(Task.Run(() => { var response = new ReturnResponse <User>(); var paras = new UserQueryParameter() { UserName = user.UserName, UserPWD = user.UserPWD.Md5Compute32() }; var res = GetUserListbyParameter(paras); if (res.IsSuccess && res.Body.Items.Any()) { response.Body = res.Body.Items.FirstOrDefault(); if (response.Body != null && response.Body.DataStatus == 1) { response.ResponseCode = 403; response.Message = "user has been forbidden"; } else { response.ResponseCode = 1; response.Message = "login success"; } } else { response.ResponseCode = 400; response.Message = "user name or password error"; } return response; })); }; await taskFunc(); }
public ResourceWrapper GetUsers(UserQueryParameter queryParameter) { return(_Repository.GetUsers(queryParameter)); }
public async void LoginAsync(User user) { Func<Task<ReturnResponse<User>>> taskFunc = () => { return Task.Run(() => { var response = new ReturnResponse<User>(); var paras = new UserQueryParameter() { UserName = user.UserName, UserPWD = user.UserPWD.Md5Compute32() }; var res = GetUserListbyParameter(paras); if (res.IsSuccess && res.Body.Items.Any()) { response.Body = res.Body.Items.FirstOrDefault(); if (response.Body != null && response.Body.DataStatus == 1) { response.ResponseCode = 403; response.Message = "user has been forbidden"; } else { response.ResponseCode = 1; response.Message = "login success"; } } else { response.ResponseCode = 400; response.Message = "user name or password error"; } return response; }); }; await taskFunc(); }
public IHttpActionResult GetUsers([FromUri] UserQueryParameter queryParameter) { return(Ok(_Service.GetUsers(queryParameter))); }
public ReturnResponse<Pager<User>> GetUserListbyParameter(UserQueryParameter para) { para.Take = para.PageSize; return new ReturnResponse<Pager<User>> { Body = _iUserDal.QueryUsersByParameter(para), ResponseCode = 1, Message = "Success" }; #region get from redis //if (para != null && !para.IsLogin) // using (var client = RedisManager.GetClient()) // { // var dataList = client.Get<Pager<User>>("UsersDataPager_" + para.PageIndex); // if (dataList != null && dataList.Items.Any()) // { // response.Body = dataList; // response.ResponseCode = 1; // response.Message = "Success"; // return response; // } // } #endregion //_IContainer.Resolve<IUserDAL>().QueryUsersByParameter(para); #region set redis //if (para != null && !para.IsLogin) // using (var redisClient = RedisManager.GetClient()) // { // redisClient.Set("UsersDataPager_" + para.PageIndex, data); // } #endregion }
/// <summary> /// 根据指定的查询参数查询用户句柄。 /// </summary> /// <param name="query">查询参数。</param> /// <returns>一个列表,列表中包含了所有满足查询条件的用户句柄。</returns> /// <exception cref="ArgumentNullException"/> public IList <UserHandle> QueryUsers(UserQueryParameter query) { if (query == null) { throw new ArgumentNullException(nameof(query)); } if (query.QueryByUsername && query.Username == null) { throw new ArgumentNullException(nameof(query.Username)); } if (query.QueryByOrganization && query.Organization == null) { throw new ArgumentNullException(nameof(query.Organization)); } if (query.QueryByUsername) { // 从用户名开始查找。 // 由于满足条件的实体对象至多一个,做特殊化处理。 UserProfileEntity profile = m_context.QueryUserProfileEntity(query.Username); if (profile == null) { // 未找到符合要求的实体对象。 return(new List <UserHandle>()); } else { // 检查其他条件是否满足。 if (query.QueryByOrganization && string.Compare(query.Organization, profile.Organization, false) != 0) { return(new List <UserHandle>()); } if (query.QueryByUsergroup && profile.UserGroup != (NativeUserGroup)query.UserGroup) { return(new List <UserHandle>()); } // 唯一的用户信息实体对象满足条件。 return(new List <UserHandle>() { UserHandle.FromUserProfileEntity(profile) }); } } else // query.QueryByUsername == false { bool hasQuery = query.QueryByOrganization || query.QueryByUsergroup; if (!hasQuery) { // 没有查询参数。返回空列表。 return(new List <UserHandle>()); } else { IQueryable <UserProfileEntity> profiles = m_context.GetAllUserProfiles(); if (query.QueryByOrganization) { profiles = UserDataContext.QueryUserProfileEntitiesByOrganization(profiles, query.Organization); } if (query.QueryByUsergroup) { profiles = UserDataContext.QueryUserProfileEntitiesByUsergroup(profiles, (NativeUserGroup)query.UserGroup); } List <UserHandle> handles = new List <UserHandle>(); foreach (UserProfileEntity entity in profiles) { handles.Add(UserHandle.FromUserProfileEntity(entity)); } return(handles); } } }
public FakeUser RetrieveAlone(UserQueryParameter param) { throw new NotImplementedException(); }
/// <summary> /// login /// </summary> /// <param name="user"></param> /// <returns></returns> public ReturnResponse<User> Login(User user) { var response = new ReturnResponse<User>(); var para = new UserQueryParameter() { UserName = user.UserName, UserPWD = user.UserPWD.Md5Compute32(), Take = 1, IsPage = false }; var res = GetUserListbyParameter(para); if (res.IsSuccess && res.Body.Items.Any()) { response.Body = res.Body.Items.FirstOrDefault(); if (response.Body != null && response.Body.DataStatus == 1) { response.ResponseCode = 403; response.Message = "user has been forbidden"; } else { response.ResponseCode = 1; response.Message = "login success"; } } else { response.ResponseCode = 400; response.Message = "user name or password error"; } return response; }