Beispiel #1
0
        // GET: Software
        public IActionResult Index(string sortOrder, string searchString)
        {
            ViewData["NameSortParm"]         = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "";
            ViewData["StatusSortParm"]       = sortOrder == "Status" ? "status_desc" : "Status";
            ViewData["ProductTypeSortParm"]  = sortOrder == "ProductType" ? "productType_desc" : "ProductType";
            ViewData["SoftwareTypeSortParm"] = sortOrder == "SoftwareType" ? "softwareType_desc" : "SoftwareType";
            ViewData["DescriptionSortParm"]  = sortOrder == "Description" ? "description_desc" : "Description";

            ViewData["CurrentFilter"] = searchString;

            IEnumerable <Software> softwares = service.GetAllSoftwareEnum(searchString);

            switch (sortOrder)
            {
            case "name_desc":
                softwares = softwares.OrderByDescending(h => h.Name != null ? h.Name : "").ThenByDescending(h => h.Status.Name != null ? h.Status.Name : "");
                break;

            case "Status":
                softwares = softwares.OrderBy(s => s.Status.Name);
                break;

            case "status_desc":
                softwares = softwares.OrderByDescending(s => s.Status.Name);
                break;

            case "ProductType":
                softwares = softwares.OrderBy(s => s.ProductType.Name);
                break;

            case "productType_desc":
                softwares = softwares.OrderByDescending(s => s.ProductType.Name);
                break;

            case "SoftwareType":
                softwares = softwares.OrderBy(h => h.SoftwareType.Name);
                break;

            case "softwareType_desc":
                softwares = softwares.OrderByDescending(h => h.SoftwareType.Name);
                break;

            case "Description":
                softwares = softwares.OrderBy(h => h.Description);
                break;

            case "description_desc":
                softwares = softwares.OrderByDescending(h => h.Description);
                break;

            default:
                softwares = softwares.OrderBy(h => h.Name != null ? h.Name : "").ThenBy(h => h.Status.Name != null ? h.Status.Name : "");
                break;
            }


            //List<Software> softwares = service.GetAllSoftware();

            return(View(softwares));
        }