Exemplo n.º 1
0
        public async Task <ICollection <User> > GetSubscribedUsers()
        {
            var helper = new IdentitySearchHelper(_context, _userManager);

            return(await helper
                   .Subscribed()
                   .Get());
        }
Exemplo n.º 2
0
        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());
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }