// GET: Person
        public async Task <IActionResult> Index(string sortOrder, string currentFilter, string searchString, int?page)
        {
            var user = User.Identity.Name;

            if (user == null)
            {
                return(RedirectToAction(nameof(Index), "Home"));
            }
            var username = _userManager.FindByNameAsync(user).Result;
            var temp     = username.PhoneNumber;

            if (user == null || (temp != "kcct" && temp != "qnop"))
            {
                return(RedirectToAction(nameof(Index), "Home"));
            }
            ViewData["CurrentSort"]           = sortOrder;
            ViewData["DepartmentIDSortParam"] = sortOrder == "Date" ? "date_dec" : "Date";
            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }
            ViewData["CurrentFilter"] = searchString;
            var persons = from p in _context.Persons
                          select p;

            if (!String.IsNullOrEmpty(searchString))
            {
                persons = persons.Where(p => p.PersonName.Contains(searchString));
            }
            switch (sortOrder)
            {
            case "Date":
                persons = persons.OrderBy(p => p.DepartmentId);
                break;

            case "date_dec":
                persons = persons.OrderByDescending(p => p.DepartmentId);
                break;

            default:
                persons = persons.OrderBy(p => p.DepartmentId);
                break;
            }
            int pageSize = 5;

            if (page < 1)
            {
                page = 1;
            }
            return(View(await SelectList <Person> .CreateAsync(persons.AsNoTracking(), page ?? 1, pageSize)));
            //return View(await persons.AsNoTracking().ToListAsync());
            //return View(await _context.Persons.ToListAsync());
        }
Example #2
0
        // GET: Names

        /*
         * sortOrder:排序的方法:name_des、date_des、Date
         * searchString:搜索字符
         * page:页码
         * currentFilter:中间值作用,刷新时重新还原到对话框中
         */
        public async Task <IActionResult> Index(string sortOrder, string currentFilter, string searchString, int?page)
        {
            var user = User.Identity.Name;

            if (user == null)
            {
                return(RedirectToAction(nameof(Index), "Home"));
            }
            var username = _userManager.FindByNameAsync(user).Result;
            var temp     = username.PhoneNumber;

            if (username == null || (temp != "kcct" && temp != "qnop" && temp != "itfu"))
            {
                return(RedirectToAction(nameof(Index), "Home"));
            }
            ViewData["CurrentSort"]  = sortOrder;
            ViewData["NameSortParm"] = String.IsNullOrEmpty(sortOrder) ? "name_des" : " ";
            ViewData["DataSortParm"] = sortOrder == "Date" ? "date_des" : "Date";
            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }

            ViewData["CurrentFilter"] = searchString;
            var names = from n in _context.Names
                        select n;

            if (!String.IsNullOrEmpty(searchString))
            {
                names = names.Where(n => n.Goods.Contains(searchString));
            }
            switch (sortOrder)
            {
            case "name_des":
                names = names.OrderByDescending(n => n.number);
                break;

            case "Date":
                names = names.OrderBy(n => n.EnrollmentDate);
                break;

            case "date_des":
                names = names.OrderByDescending(n => n.EnrollmentDate);
                break;

            default:
                names = names.OrderBy(n => n.number);
                break;
            }
            int pageSize = 5;

            if (page < 1)
            {
                page = 1;
            }
            //return View(await _context.Names.ToListAsync());
            //return View(await names.AsNoTracking().ToListAsync());
            return(View(await SelectList <Name> .CreateAsync(names.AsNoTracking(), page ?? 1, pageSize)));
        }