コード例 #1
0
        public ViewResult List(string sortOrder, string currentFilter, string searchString, int?page, string PgeSize)
        {
            try     // handle exogenous exceptions
            {
                try // log all exceptions
                {
                    ViewBag.CurrentSort         = sortOrder;
                    ViewBag.CompanyNameSortParm = String.IsNullOrEmpty(sortOrder) ? "CompanyName_desc" : "";

                    BusinessLayer.Validation pge      = new BusinessLayer.Validation();
                    List <SelectListItem>    PgeSizes = pge.PageSize();

                    //Assigning generic list to ViewBag
                    ViewBag.PgeSizeList = PgeSizes;

                    if (searchString != null)
                    {
                        page = 1;
                    }
                    else
                    {
                        searchString = currentFilter;
                    }

                    ViewBag.CurrentFilter = searchString;

                    ShippersBusinessModelLayers          shippersBusinessModelLayers = new ShippersBusinessModelLayers();
                    List <BusinessModelLayer.Vwshippers> vwshipperss = shippersBusinessModelLayers.GetAllVwshipperss();

                    if (!String.IsNullOrEmpty(searchString))
                    {
                        vwshipperss = vwshipperss.Where(s => s.CompanyName.ToString().ToLower().Contains(searchString.ToLower())).ToList();
                    }

                    switch (sortOrder)
                    {
                    case "CompanyName_desc":
                        vwshipperss = vwshipperss.OrderByDescending(s => s.CompanyName).ToList();
                        break;

                    //case "!!!":
                    //	vwshipperss = vwshipperss.OrderBy(s => s.!!!).ToList();
                    //	break;
                    //case "!!!_desc":
                    //	vwshipperss = vwshipperss.OrderByDescending(s => s.!!!).ToList();
                    //	break;
                    default:      // CompanyName ascending
                        vwshipperss = vwshipperss.OrderBy(s => s.CompanyName).ToList();
                        break;
                    }

                    int pageSize = 10;
                    if (PgeSize != null)
                    {
                        Int32.TryParse(PgeSize, out pageSize);
                    }
                    ViewBag.PgeSize = pageSize;
                    int pageNumber = (page ?? 1);
                    return(View(vwshipperss.ToPagedList(pageNumber, pageSize)));
                }
                catch (Exception ex)
                {
                    BusinessLayer.ExceptionLogging exlog = new BusinessLayer.ExceptionLogging();
                    exlog.SendExcepToDB(ex);
                    throw;
                }
            }
            catch (Exception)
            {
                throw;
            }
        }