public async Task <ICollection <User> > GetSubscribedUsers() { var helper = new IdentitySearchHelper(_context, _userManager); return(await helper .Subscribed() .Get()); }
public async Task <ICollection <User> > SearchTopBoughtUsers(int top) { var helper = new IdentitySearchHelper(_context, _userManager); var list = await helper .IncludeOrders() .Get(); return(list.OrderByDescending(u => u.TotalPaid).Where(u => u.TotalPaid > 0).Take(top).ToList()); }
public async Task <int> CountUsers(string phrase, string role) { var helper = new IdentitySearchHelper(_context, _userManager); var col = await helper .Like(phrase) .Get(); if (!string.IsNullOrWhiteSpace(role)) { ICollection <User> newCol = new List <User>(); col.ForEach(async u => { if (await _userManager.IsInRoleAsync(u, role)) { newCol.Add(u); } }); col = newCol; } return(col.Count); }
public async Task <ICollection <User> > SearchUsers(string phrase, string role, int sortType, int page, int pageSize) { var helper = new IdentitySearchHelper(_context, _userManager); var col = await helper .Like(phrase) .SortBy((Consts.SortType)sortType) .Get(); if (!string.IsNullOrWhiteSpace(role)) { ICollection <User> newCol = new List <User>(); col.ForEach(async u => { if (await _userManager.IsInRoleAsync(u, role)) { newCol.Add(u); } }); col = newCol; } foreach (var u in col) { u.Roles = await _userManager.GetRolesAsync(u); } if (sortType == (int)Consts.SortType.Role) { col = col.OrderBy(u => RolePriority.Priority(u.MainRole)).ToList(); } if (page > -1 && pageSize > -1) { col = col.Skip((page - 1) * pageSize).Take(pageSize).ToList(); } return(col); }