コード例 #1
0
        public async Task <IActionResult> Index(string sortOrder     = null,
                                                string currentFilter = null,
                                                string searchString  = null,
                                                int?page             = null)
        {
            ViewData["CurrentSort"]    = sortOrder;
            ViewData["SortID"]         = sortOrder == "id" ? "id_desc" : "id";
            ViewData["SortValidFrom"]  = sortOrder == "validFrom" ? "validFrom_desc" : "validFrom";
            ViewData["SortValidTo"]    = sortOrder == "validTo" ? "validTo_desc" : "validTo";
            ViewData["SortCurrencyID"] = sortOrder == "currencyID" ? "currencyID_desc" : "currencyID";
            ViewData["SortRate"]       = string.IsNullOrEmpty(sortOrder) ? "rate_desc" : "";
            ViewData["SortRateTypeID"] = sortOrder == "ratetypeID" ? "ratetypeID_desc" : "ratetypeID";
            repository.SortOrder       = sortOrder != null && sortOrder.EndsWith("_desc")
                ? SortOrder.Descending
                : SortOrder.Ascending;
            repository.SortFunction = getSortFunction(sortOrder);
            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }
            ViewData["CurrentFilter"] = searchString;
            repository.SearchString   = searchString;
            repository.PageIndex      = page ?? 1;
            var l = await repository.GetObjectsList();

            return(View(new RateViewsList(l)));
        }