// GET: /Permission/ public ActionResult Index(string sortOrder, String SearchField, String SearchCondition, String SearchText, String Export, int?PageSize, int?page, string command) { if (command == "Show All") { SearchField = null; SearchCondition = null; SearchText = null; Session["SearchField"] = null; Session["SearchCondition"] = null; Session["SearchText"] = null; } else if (command == "Add New Record") { return(RedirectToAction("Create")); } else if (command == "Export") { Session["Export"] = Export; } else if (command == "Search" | command == "Page Size") { if (!string.IsNullOrEmpty(SearchText)) { Session["SearchField"] = SearchField; Session["SearchCondition"] = SearchCondition; Session["SearchText"] = SearchText; } } if (command == "Page Size") { Session["PageSize"] = PageSize; } ViewData["SearchFields"] = GetFields((Session["SearchField"] == null ? "Permission I D" : Convert.ToString(Session["SearchField"]))); ViewData["SearchConditions"] = Library.GetConditions((Session["SearchCondition"] == null ? "Contains" : Convert.ToString(Session["SearchCondition"]))); ViewData["SearchText"] = Session["SearchText"]; ViewData["Exports"] = Library.GetExports((Session["Export"] == null ? "Pdf" : Convert.ToString(Session["Export"]))); ViewData["PageSizes"] = Library.GetPageSizes(); ViewData["CurrentSort"] = sortOrder; ViewData["PermissionIDSortParm"] = sortOrder == "PermissionID_asc" ? "PermissionID_desc" : "PermissionID_asc"; ViewData["PermissionNameSortParm"] = sortOrder == "PermissionName_asc" ? "PermissionName_desc" : "PermissionName_asc"; dtPermission = PermissionData.SelectAll(); try { if (!string.IsNullOrEmpty(Convert.ToString(Session["SearchField"])) & !string.IsNullOrEmpty(Convert.ToString(Session["SearchCondition"])) & !string.IsNullOrEmpty(Convert.ToString(Session["SearchText"]))) { dtPermission = PermissionData.Search(Convert.ToString(Session["SearchField"]), Convert.ToString(Session["SearchCondition"]), Convert.ToString(Session["SearchText"])); } } catch { } var Query = from rowPermission in dtPermission.AsEnumerable() select new Permission() { PermissionID = rowPermission.Field <Int32>("PermissionID") , PermissionName = rowPermission.Field <String>("PermissionName") }; switch (sortOrder) { case "PermissionID_desc": Query = Query.OrderByDescending(s => s.PermissionID); break; case "PermissionID_asc": Query = Query.OrderBy(s => s.PermissionID); break; case "PermissionName_desc": Query = Query.OrderByDescending(s => s.PermissionName); break; case "PermissionName_asc": Query = Query.OrderBy(s => s.PermissionName); break; default: // Name ascending Query = Query.OrderBy(s => s.PermissionID); break; } if (command == "Export") { GridView gv = new GridView(); DataTable dt = new DataTable(); dt.Columns.Add("Permission I D", typeof(string)); dt.Columns.Add("Permission Name", typeof(string)); foreach (var item in Query) { dt.Rows.Add( item.PermissionID , item.PermissionName ); } gv.DataSource = dt; gv.DataBind(); ExportData(Export, gv, dt); } int pageNumber = (page ?? 1); int?pageSZ = (Convert.ToInt32(Session["PageSize"]) == 0 ? 5 : Convert.ToInt32(Session["PageSize"])); return(View(Query.ToPagedList(pageNumber, (pageSZ ?? 5)))); }