Exemplo n.º 1
0
        public async Task <UserGridDetail[]> GetUserByStatus(FilterUsersInput input)
        {
            try
            {
                List <UserPoco> result = new List <UserPoco>();
                switch (input.Filter)
                {
                case UserFilter.LockedOut:
                    result = await _context.Users.Where(x => x.LockoutEnd < DateTime.UtcNow).ToListAsync();

                    break;

                case UserFilter.LoggedIn:
                    result = await _context.Users.Where(x => x.LastLoggedIn > DateTime.Now.AddHours(-1)).ToListAsync();

                    break;

                case UserFilter.LoggedInLastMonth:
                    result = await _context.Users.Where(x => x.LastLoggedIn > DateTime.Now.AddMonths(-1)).ToListAsync();

                    break;

                case UserFilter.NeverLoggedIn:
                    result = await _context.Users.Where(x => x.LastLoggedIn < DateTime.Now.AddMonths(-1)).ToListAsync();

                    break;
                }
                return(result.Select(x => new UserGridDetail
                {
                    DateRegistered = x.DateRegistered.ToLongDateString(),
                    Email = x.Email,
                    FirstName = x.FirstName,
                    Group = _context.UserGroups.Where(s => s.Id == x.GroupId).FirstOrDefault().Title,
                    Id = x.Id,
                    LastName = x.LastName
                }).ToArray());
            }
            catch
            {
                return(new List <UserGridDetail>().ToArray());
            }
        }
Exemplo n.º 2
0
        public async Task <JsonResult> GetUserByStatus([FromBody] FilterUsersInput input)
        {
            var result = await _user.GetUserByStatus(input);

            return(await GenerateResult(result, _userSettings));
        }