/// <summary> /// Action to load groups list /// </summary> /// <param name="sortBy"></param> /// <param name="filterBy"></param> /// <param name="page"></param> /// <returns></returns> public ActionResult GroupList(string filterBy = "All", int page = 0) { var groups = groupService.GetGroupsByPage(User.Identity.GetUserId(), filterBy, 8, page).ToList(); var groupsViewModel = Mapper.Map<IEnumerable<Group>, IEnumerable<GroupsItemViewModel>>(groups).ToList(); foreach (var item in groupsViewModel) { var groupAdminId = groupUserService.GetAdminId(item.GroupId); var groupUserAdmin = userService.GetUser(groupAdminId); item.UserId = groupUserAdmin.Id; item.UserName = groupUserAdmin.UserName; } var groupsList = new GroupsPageViewModel(filterBy); groupsList.GroupList = groupsViewModel; if (Request.IsAjaxRequest()) { return Json(groupsViewModel, JsonRequestBehavior.AllowGet); } return View("ListOfGroups", groupsList); }
/// <summary> /// Action to load groups list /// </summary> /// <param name="filter"></param> /// <param name="page"></param> /// <returns></returns> public ActionResult GroupList(GroupFilter filter = GroupFilter.All, int page = 1) { // Get a paged list of groups var groups = groupService.GetGroups(User.Identity.GetUserId(), filter, new Page(page,8)); // map it to a paged list of models. var groupsViewModel = Mapper.Map<IPagedList<Group>, IPagedList<GroupsItemViewModel>>(groups); foreach (var item in groupsViewModel) { var groupAdminId = groupUserService.GetAdminId(item.GroupId); var groupUserAdmin = userService.GetUser(groupAdminId); item.UserId = groupUserAdmin.Id; item.UserName = groupUserAdmin.UserName; } var groupsList = new GroupsPageViewModel {GroupList = groupsViewModel, Filter = filter}; // If its an ajax request, just return the table if (Request.IsAjaxRequest()) { return PartialView("_GroupsTable", groupsList); } return View("ListOfGroups", groupsList); }