예제 #1
0
        public IActionResult Index()
        {
            MachineListVM machinelistVM = new MachineListVM();

            machinelistVM.machineList = _context.Machines.Include(m => m.Department).ToList();
            return(View(machinelistVM));
        }
예제 #2
0
        public async Task <IActionResult> Index(string sortOrder,
                                                string currentFilter,
                                                string searchString,
                                                int?page)
        {
            MachineListVM machineListVm = new MachineListVM();

            machineListVm.currentSort               = sortOrder;
            machineListVm.currentFilter             = searchString;
            machineListVm.nameSortParm              = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "";
            machineListVm.calculationMethodSortParm = sortOrder == "calcMethod" ? "calcMethod_desc" : "calcMethod";
            machineListVm.typeSortParm              = sortOrder == "type" ? "type_desc" : "type";
            machineListVm.departmentSortParm        = sortOrder == "department" ? "department_desc" : "department";

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

            var machines = _context.Machines.Include(m => m.Department).AsQueryable();


            if (!String.IsNullOrEmpty(searchString))
            {
                machines = machines.Where(s => s.Name.Contains(searchString));
            }

            switch (sortOrder)
            {
            case "name_desc":
                machines = machines.OrderByDescending(m => m.Name);
                break;

            case "calcMethod":
                machines = machines.OrderBy(m => m.CalculationMethod);
                break;

            case "calcMethod_desc":
                machines = machines.OrderByDescending(m => m.CalculationMethod);
                break;

            case "type":
                machines = machines.OrderBy(m => m.Type);
                break;

            case "type_desc":
                machines = machines.OrderByDescending(m => m.Type);
                break;

            case "department":
                machines = machines.OrderBy(m => m.Department.Name);
                break;

            case "department_desc":
                machines = machines.OrderByDescending(m => m.Department.Name);
                break;

            default:
                machines = machines.OrderBy(m => m.Name);
                break;
            }

            machineListVm.machineList = await PaginatedList <Machine> .CreateAsync(machines.AsNoTracking(), page ?? 1, PageSize);

            return(View(machineListVm));
        }
 public MachineListView()
 {
     InitializeComponent();
     DataContext = ViewModel = new MachineListVM();
 }