Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }