Example #1
0
        public async Task <IActionResult> Index(string sortOrder     = null,
                                                string currentFilter = null,
                                                string searchString  = null,
                                                int?page             = null)
        {
            ViewData["CurrentSort"]   = sortOrder;
            ViewData["SortName"]      = string.IsNullOrEmpty(sortOrder) ? "name_desc" : "";
            ViewData["SortIsoCode"]   = sortOrder == "code" ? "code_desc" : "code";
            ViewData["SortSymbol"]    = sortOrder == "symbol" ? "symbol_desc" : "symbol";
            ViewData["SortValidFrom"] = sortOrder == "validFrom" ? "validFrom_desc" : "validFrom";
            ViewData["SortValidTo"]   = sortOrder == "validTo" ? "validTo_desc" : "validTo";

            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 CurrencyViewModelsList(l)));
        }
Example #2
0
        public async Task <IActionResult> Index(string sortOrder, string currentFilter, string searchString, int?page)
        {
            ViewData["CurrentSort"]          = sortOrder;
            ViewData["NameSortParm"]         = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "";
            ViewData["ISOCurrencyParm"]      = String.IsNullOrEmpty(sortOrder) ? "isoCurrencyChar_desc" : "";
            ViewData["ISOThreeCharSortParm"] = String.IsNullOrEmpty(sortOrder) ? "isoThreeChar_desc" : "";
            ViewData["DateSortParm"]         = sortOrder == "date_asc" ? "date_desc" : "date_asc";

            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }
            ViewData["CurrentFilter"] = searchString;

            var l = await repository.GetObjectsList();

            if (!String.IsNullOrEmpty(searchString))
            {
                l = l.Where(s => s.DbRecord.Name.Contains(searchString));
            }
            switch (sortOrder)
            {
            case "name_desc":
                l = l.OrderByDescending(s => s.DbRecord.Name);
                break;

            case "isoCurrencyChar_desc":
                l = l.OrderByDescending(s => s.DbRecord.Code);
                break;

            case "isoThreeChar_desc":
                l = l.OrderByDescending(s => s.DbRecord.ID);
                break;

            case "date_desc":
                l = l.OrderByDescending(s => s.DbRecord.ValidFrom);
                break;

            case "date_asc":
                l = l.OrderBy(s => s.DbRecord.ValidFrom);
                break;

            default:
                l = l.OrderBy(s => s.DbRecord.Name);
                break;
            }
            //int pageSize = 3;
            //return View(await PaginatedList<CurrencyViewModel>.CreateAsync(new CurrencyViewModelsList(l), page ?? 1, pageSize));
            return(View(new CurrencyViewModelsList(l)));
        }