public ActionResult Index(RoleViewhelper item)
 {
     if (Session.getCurrentUser() == null)
         return Redirect("/admin/account/logon");
     if (!SercurityServices.HasPermission((int)TypeModule.MODULE_HETHONG, Session.getCurrentUser().username, TypeAudit.ChucVu))
     {
         return Redirect("/admin/error/error403");
     }
     saveDataRole(item);
     return View();
 }
 public List<gov_role> setSearchFilter(List<gov_role> lstRole, RoleViewhelper roleViewhelper)
 {
     Expression<Func<gov_role, bool>> predicate = PredicateBuilder.False<gov_role>();
     if (!String.IsNullOrWhiteSpace(roleViewhelper.KeySearch))
     {
         predicate = predicate.Or(d => d.role_name != null && d.role_name.ToUpper().Contains(roleViewhelper.KeySearch.ToUpper()));
         lstRole = lstRole.Where(predicate.Compile()).ToList();
     }
     return lstRole;
 }
        public RoleViewhelper saveDataRole(RoleViewhelper roleViewhelper)
        {
            List<gov_role> lstRole = _cnttDB.gov_role.ToList();
            lstRole = setSearchFilter(lstRole, roleViewhelper);
            int totalCount = lstRole.Count;
            roleViewhelper.TotalCount = totalCount;

            if (roleViewhelper.TotalCount > 0)
            {
                int totalPage = pageCalculation(totalCount, Constant.limit);
                roleViewhelper.TotalPage = totalPage;
                roleViewhelper.Page = pageTransition(roleViewhelper.Direction, roleViewhelper.Page, totalPage);
                roleViewhelper.FirstPage = fistPageCalculation(Constant.maxPageLine, totalPage, roleViewhelper.Page);
                roleViewhelper.LastPage = lastPageCalculation(Constant.maxPageLine, totalPage, roleViewhelper.Page, roleViewhelper.FirstPage);
                int take = Constant.limit;
                int skip = (roleViewhelper.Page - 1) * take;
                roleViewhelper.LstRole = lstRole.OrderBy(u => u.role_name).Skip(skip).Take(take).ToList();
            }
            ViewData["roleViewhelper"] = roleViewhelper;
            return roleViewhelper;
        }