public ActionResult GetUserTable([FromBody] UserTableFilters filter)//проблема з виводом { int count_users = 10; UserTableModels userTableModels = new UserTableModels(); userTableModels.Users = new List <UserTableModel>(); var query = _context.UserProfile .AsQueryable(); query = query .Where(a => a.DateOfRegister.Year == filter.Year && a.DateOfRegister.Month == filter.Month && 0 == _context.UserAccessLocks.Where(b => b.Id == a.Id).Count()); if (filter.NickName != "") { query = query.Select(a => a).Where(a => a.NickName.Contains(filter.NickName)); } userTableModels.TotalCount = query.Count(); query = query.Skip((filter.CurrentPage - 1) * count_users) .Take(count_users); foreach (var item in query) { var temp = _context.UserAccessLocks.Select(a => a).Where(a => item.Id == a.Id).AsQueryable(); if (temp.Count() != 0)//проверка чи є бан { userTableModels.TotalCount = userTableModels.TotalCount--; continue; } UserTableModel userTableModel = new UserTableModel(); userTableModel.Id = item.Id; userTableModel.Nickname = item.NickName; userTableModel.Mail = _context.Users.Select(a => a).Where(a => a.Id == item.Id).FirstOrDefault().UserName; userTableModel.Registrdate = item.DateOfRegister.ToString("dd.MM.yyyy"); string city = _context.City.FirstOrDefault(a => a.Id == item.CityId).Name; userTableModel.City = city; userTableModel.Status = "Не забанений"; userTableModels.Users.Add(userTableModel); } return(Ok(userTableModels)); }
public ActionResult GetBanTable([FromBody] UserTableFilters filter) { int count_users = 10; BanTableModels banTableModels = new BanTableModels(); banTableModels.Bans = new List <BanTableModel>(); var query = _context.UserAccessLocks.AsQueryable(); query = query .Where(a => a.LockDate.Year == filter.Year && a.LockDate.Month == filter.Month); if (filter.NickName != "") { query = query .Select(a => a) .Where(a => _context.UserProfile.FirstOrDefault(b => b.Id == a.Id).NickName.Contains(filter.NickName)); } banTableModels.TotalCount = query.Count(); query = query .Skip((filter.CurrentPage - 1) * count_users) .Take(count_users); foreach (var item in query) { BanTableModel banTableModel = new BanTableModel(); banTableModel.Id = item.Id; banTableModel.Nickname = _context.UserProfile.FirstOrDefault(a => a.Id == item.Id).NickName; banTableModel.Bandate = item.LockDate.ToString("dd.MM.yyyy"); banTableModel.Description = item.Reason; banTableModel.Status = "Забанений"; banTableModels.Bans.Add(banTableModel); } return(Ok(banTableModels)); }