Exemplo n.º 1
0
 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);
     }
 }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 4
0
        /// <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));
        }
Exemplo n.º 5
0
        /// <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()));
        }