Пример #1
0
        public ActionResult GetUsers(string filter, int page = 1)
        {
            FilterViewModel obj = FilterViewModel.ToObject(filter);

            var neededSkills = obj.Skills.Where(x => x.Level > 0).Select(x => new BllUserSkill {
                Skill = x.Skill, Level = x.Level
            });
            IEnumerable <BllUser> users;

            if (neededSkills.Count() < 1)
            {
                users = userService.UsersInRole(roleService.Find(programmerRole).Id);
            }
            else
            {
                users = userService.Get(neededSkills);
            }

            var usersForPage = users.Skip((page - 1) * usersPerPage).Take(usersPerPage).Cast <BllProgrammer>();

            BrowseViewModel browseModel = new BrowseViewModel
            {
                Filter    = obj,
                Users     = usersForPage.ToList(),
                Page      = page,
                PageCount = (int)Math.Ceiling((double)users.Count() / usersPerPage)
            };

            return(PartialView("_UsersPartial", browseModel));
        }