public ActionResult Index(RolesIndexVM model) { if (AuthenticationManager.LoggedUser == null) { return(RedirectToAction("Login", "Home")); } model.Pager = model.Pager ?? new PagerVM(); model.Pager.Page = model.Pager.Page <= 0 ? 1 : model.Pager.Page; model.Pager.ItemsPerPage = model.Pager.ItemsPerPage <= 0 ? 10 : model.Pager.ItemsPerPage; model.FilterVm = model.FilterVm ?? new RolesFilterVM(); bool emptyName = string.IsNullOrWhiteSpace(model.FilterVm.Name); OvmDbContext context = new OvmDbContext(); IQueryable <Role> query = context.Roles.Where(r => emptyName || r.Name.Contains(model.FilterVm.Name)); model.Pager.PagesCount = (int)Math.Ceiling(query.Count() / (double)model.Pager.ItemsPerPage); query = query.OrderBy(r => r.Id).Skip((model.Pager.Page - 1) * model.Pager.ItemsPerPage).Take(model.Pager.ItemsPerPage); model.Items = query.Select(r => new RolesVM { Id = r.Id, Name = r.Name, AssignedUsersCount = r.Users.Count }).ToList(); context.Dispose(); return(View(model)); }
public ActionResult Index() { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); RolesRepository rolesRepository = new RolesRepository(context); RolesIndexVM model = new RolesIndexVM(); this.TryUpdateModel(model); model.RolesPager = model.RolesPager ?? new GenericPagerVM(); model.RolesPager.CurrentPage = model.RolesPager.CurrentPage == 0 ? 1 : model.RolesPager.CurrentPage; model.RolesPager.PagesCount = this.GetPagesCount(); model.RolesList = rolesRepository.GetAll(model.RolesPager.CurrentPage, ApplicationConfiguration.ItemsPerPage); model.RolesPager.Prefix = "RolesPager"; model.RolesPager.Action = "Index"; model.RolesPager.Controller = "Roles"; model.RolesPager.CurrentParameters = new Dictionary <string, object>() { { "RolesPager.CurrentPage", model.RolesPager.CurrentPage } }; return(View(model)); }