public static List <RefUserProViewModel> Get(int projectId, UsersSearchViewModel search) { using (var db = new ShlekenEntities3()) { var users = db.Projects.ToList().FirstOrDefault(i => i.Id == projectId).RefUserPro.ToList(); if (!string.IsNullOrEmpty(search.Name)) { users = users.Where(n => n.Users.Name.Contains(search.Name)).ToList(); } if (!string.IsNullOrEmpty(search.Role)) { users = users.Where(r => r.ProjecrId == projectId && r.Roles.Name == search.Role).ToList(); } var u = users.ToList().Map <RefUserPro, RefUserProViewModel>(); for (int i = 0; i < users.Count; i++) { u[i].ProjectId = users[i].ProjecrId; u[i].ProjectName = users[i].Projects.Name; u[i].Email = users[i].Users.Email; u[i].Name = users[i].Users.Name; u[i].IsOwner = db.Projects.ToList().FirstOrDefault(j => j.Id == projectId).RefUserPro.Min(o => o.Id) == users[i].Users.Id; u[i].Password = users[i].Users.Password; u[i].Task = db.TasksRoles.ToList().FirstOrDefault(g => g.RoleId == users[i].RoleId); } return(u); } }
public IActionResult Search(UsersSearchViewModel vm) { if (string.IsNullOrEmpty(vm.UserQuery)) { return(RedirectToAction("Index")); } List <ApplicationUser> Users = _userServices.GetAllPublicUsers(User).Where(u => u.UserName.ToLower().Contains(vm.UserQuery.ToLower())).OrderBy(u => u.UserName).ToList(); vm.Users = Users; return(View(vm)); }
public async Task <IActionResult> Index(UsersSearchViewModel searchModel) { var model = await _userRepository.LoadAsyncCount( this.CurrentPage, this.PageSize, searchModel); this.TotalNumber = model.Item1; ViewBag.SearchModel = searchModel; return(View(model.Item2)); }
/// <summary> /// Método utilizado para atualizar a lista /// de utilizadores a mostrar consoante o que vem por parametro /// </summary> /// <param name="Username">Nome do utilizador</param> /// <returns>retorna uma PartialView com a lista de utilizadores certa</returns> public async Task <IActionResult> IndexFilter([Bind("Username,Page")] UsersSearchViewModel search) { var users = _context.Users.Select(u => u); int skipNum = (search.Page - 1) * _usersPP; if (!String.IsNullOrEmpty(search.Username)) { users = users.Where(u => u.UserName.Contains(search.Username)); } var response = await PrepareIndexResponse(users.ToList()); response.LastPage = (response.Users.Skip(skipNum).Count() <= _usersPP); response.Users = response.Users.Skip(skipNum).Take(_usersPP).ToList(); response.FirstPage = (search.Page == 1); response.PageNum = search.Page; return(PartialView("PartialViews/_IndexUsers", response)); }
/// <summary> /// لود اطلاعات برای نمایش در گیرید /// </summary> /// <param name="skip"></param> /// <param name="take"></param> /// <param name="model"></param> /// <returns></returns> public async Task <Tuple <int, List <UsersManageDTO> > > LoadAsyncCount( int skip = -1, int take = -1, UsersSearchViewModel model = null) { var query = Entities.ProjectTo <UsersManageDTO>(); // نام کاربری if (!string.IsNullOrEmpty(model.UserName)) { query = query.Where(x => x.UserName.Contains(model.UserName)); } // ایمیل if (!string.IsNullOrEmpty(model.Email)) { query = query.Where(x => x.Email.Contains(model.Email)); } // شماره موبایل if (!string.IsNullOrEmpty(model.PhoneNumber)) { query = query.Where(x => x.PhoneNumber.Contains(model.PhoneNumber)); } // نام if (!string.IsNullOrEmpty(model.FirstName)) { query = query.Where(x => x.FirstName.Contains(model.FirstName)); } // نام خانوادگی if (!string.IsNullOrEmpty(model.LastName)) { query = query.Where(x => x.LastName.Contains(model.LastName)); } // فعال / غیرفعال if (model.IsActive != null) { query = query.Where(x => x.IsActive == model.IsActive); } if (model.IsModerator != null) { query = query.Where(x => x.IsModerator == model.IsModerator); } int Count = query.Count(); query = query.OrderByDescending(x => x.Id); if (skip != -1) { query = query.Skip((skip - 1) * take); } if (take != -1) { query = query.Take(take); } return(new Tuple <int, List <UsersManageDTO> >(Count, await query.ToListAsync())); }