Exemple #1
0
        public ActionResult Index(string OrderBy, string SearchBy, int?currentPage, int?pageSize)
        {
            Dictionary <string, string> headerTextAndIDs = new Dictionary <string, string>();

            headerTextAndIDs.Add("CustomerID", "Customer ID");
            headerTextAndIDs.Add("EmployeeID", "Employee ID");
            headerTextAndIDs.Add("ShipName", "Ship Name");
            headerTextAndIDs.Add("ShipAddress", "Ship Address");

            NORTHWNDEntities context      = new NORTHWNDEntities();
            List <Order>     customerList = null;
            int   totalRecords            = 0;
            Pager pagerSettings           = null;

            customerList  = context.Orders.ToList();
            totalRecords  = customerList.Count();
            pagerSettings = new Pager().GetPager(totalRecords, currentPage, pageSize);
            customerList  = customerList.Skip(pagerSettings.startIndex).Take(pagerSettings.pageSize).ToList();

            StringBuilder htmlBuilder = new StringBuilder();

            htmlBuilder = Pager.CreateHtmlFilterSearchBlock(htmlBuilder, SearchBy, pagerSettings.pageSize);

            htmlBuilder = Pager.CreateHtmlTableStartBlock(htmlBuilder);

            htmlBuilder = Pager.CreateHtmlTableHeaderBlock(htmlBuilder, headerTextAndIDs, OrderBy);

            htmlBuilder = Pager.CreateHtmlTableBodyFromList(htmlBuilder, customerList.ToList <object>(), headerTextAndIDs, true);

            htmlBuilder = Pager.CreateHtmlTableEndBlock(htmlBuilder);

            htmlBuilder = Pager.CreateHtmlPagerLinksBlock(htmlBuilder, pagerSettings);

            ViewBag.HtmlStr = htmlBuilder.ToString();

            return(View());
        }
Exemple #2
0
        public JsonResult getTable(string OrderBy, string SearchBy, int?currentPage, int?pageSize)
        {
            Dictionary <string, string> headerTextAndIDs = new Dictionary <string, string>();

            headerTextAndIDs.Add("CustomerID", "Customer ID");
            headerTextAndIDs.Add("EmployeeID", "Employee ID");
            headerTextAndIDs.Add("ShipName", "Ship Name");
            headerTextAndIDs.Add("ShipAddress", "Ship Address");

            NORTHWNDEntities context          = new NORTHWNDEntities();
            int   totalRecords                = 0;
            Pager pagerSettings               = null;
            bool  IsOrderByAppliedOnAnyColumn = false;


            var customerList = (from customer in context.Orders
                                select customer).ToList();

            if (!string.IsNullOrEmpty(SearchBy))
            {
                customerList = customerList.Where(Cust => Cust.CustomerID.Contains(SearchBy) || Cust.ShipName.Contains(SearchBy) || Cust.ShipAddress.Contains(SearchBy)).ToList();
            }


            if (!string.IsNullOrEmpty(OrderBy))
            {
                IsOrderByAppliedOnAnyColumn = true;

                switch (OrderBy)
                {
                case "CustomerID_Asc":
                    customerList = customerList.OrderBy(O => O.CustomerID).ToList();
                    break;

                case "CustomerID_Desc":
                    customerList = customerList.OrderByDescending(O => O.CustomerID).ToList();
                    break;

                case "EmployeeID_Asc":
                    customerList = customerList.OrderBy(O => O.EmployeeID).ToList();
                    break;

                case "EmployeeID_Desc":
                    customerList = customerList.OrderByDescending(O => O.EmployeeID).ToList();
                    break;

                case "ShipName_Asc":
                    customerList = customerList.OrderBy(O => O.ShipName).ToList();
                    break;

                case "ShipName_Desc":
                    customerList = customerList.OrderByDescending(O => O.ShipName).ToList();
                    break;

                case "ShipAddress_Asc":
                    customerList = customerList.OrderBy(O => O.ShipAddress).ToList();
                    break;

                case "ShipAddress_Desc":
                    customerList = customerList.OrderByDescending(O => O.ShipAddress).ToList();
                    break;
                }
            }


            totalRecords  = customerList.Count();
            pagerSettings = new Pager().GetPager(totalRecords, currentPage, pageSize);
            if (IsOrderByAppliedOnAnyColumn == false)
            {
                customerList = customerList.Skip(pagerSettings.startIndex).Take(pagerSettings.pageSize).ToList();
            }
            else
            {
                customerList = customerList.Skip(pagerSettings.startIndex).Take(pagerSettings.pageSize).ToList();
            }

            StringBuilder htmlBuilder = new StringBuilder();

            htmlBuilder = Pager.CreateHtmlFilterSearchBlock(htmlBuilder, SearchBy, pagerSettings.pageSize);

            htmlBuilder = Pager.CreateHtmlTableStartBlock(htmlBuilder);

            htmlBuilder = Pager.CreateHtmlTableHeaderBlock(htmlBuilder, headerTextAndIDs, OrderBy);

            htmlBuilder = Pager.CreateHtmlTableBodyFromList(htmlBuilder, customerList.ToList <object>(), headerTextAndIDs, true);

            htmlBuilder = Pager.CreateHtmlTableEndBlock(htmlBuilder);

            htmlBuilder = Pager.CreateHtmlPagerLinksBlock(htmlBuilder, pagerSettings);


            return(Json(new { data = htmlBuilder.ToString() }, JsonRequestBehavior.AllowGet));
        }