// GET: FordonModels
        public ActionResult Index(string searchString, string sortOrder, string currentFilter, int? page, string typeFilter, string idag)
        {
            // SIDOHANTERING
            ViewBag.CurrentSort = sortOrder;

            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }
            ViewBag.CurrentFilter = searchString;

            var bilar = from s in db.Fordon
                        select s;

            // SÖK
            if (!String.IsNullOrEmpty(searchString) || !String.IsNullOrEmpty(typeFilter))
            {
                if (typeFilter != "Alla" && !String.IsNullOrEmpty(searchString))
                {
                    bilar = bilar.Where(s =>
                        s.Regnr == searchString
                        || s.Ägare == searchString
                        && s.Fordontyp.ToString() == typeFilter);
                }
                else if (String.IsNullOrEmpty(typeFilter) || typeFilter == "Alla")
                {
                    bilar = bilar.Where(s =>
                    s.Regnr == searchString
                    || s.Ägare == searchString);
                }
                else
                    bilar = bilar.Where(s => s.Fordontyp.ToString() == typeFilter);
            }

            if (idag == "true")
            {
                DateTime today = DateTime.Now;
                bilar = bilar.Where(s => s.Parkerad.Year == today.Year && s.Parkerad.Month == today.Month && s.Parkerad.Day == today.Day);
            }

            // SORTERING
            ViewBag.FärgSortParm = String.IsNullOrEmpty(sortOrder) ? "färg_desc" : "";
            ViewBag.MärkeSortParm = String.IsNullOrEmpty(sortOrder) ? "märke_desc" : "";
            ViewBag.ModellSortParm = String.IsNullOrEmpty(sortOrder) ? "modell_desc" : "";
            ViewBag.ÄgareSortParm = String.IsNullOrEmpty(sortOrder) ? "ägare_desc" : "";
            ViewBag.TypSortParm = String.IsNullOrEmpty(sortOrder) ? "typ_desc" : "";
            ViewBag.RegnrSortParm = String.IsNullOrEmpty(sortOrder) ? "regnr_desc" : "";
            ViewBag.DateSortParm = sortOrder == "Parkerad" ? "park_desc" : "Parkerad";

            // sorterar de klickbara tabellrubrikerna från störst till minst
            switch (sortOrder)
            {
                case "märke_desc":
                    bilar = bilar.OrderByDescending(s => s.Märke);
                    break;
                case "regnr_desc":
                    bilar = bilar.OrderByDescending(s => s.Regnr);
                    break;
                case "modell_desc":
                    bilar = bilar.OrderByDescending(s => s.Modell);
                    break;
                case "ägare_desc":
                    bilar = bilar.OrderByDescending(s => s.Ägare);
                    break;
                case "typ_desc":
                    bilar = bilar.OrderByDescending(s => s.Fordontyp);
                    break;
                case "färg_desc":
                    bilar = bilar.OrderByDescending(s => s.Färg);
                    break;
                case "Parkerad":
                    bilar = bilar.OrderBy(s => s.Parkerad);
                    break;
                case "park_desc":
                    bilar = bilar.OrderByDescending(s => s.Parkerad);
                    break;
                default:
                    bilar = bilar.OrderBy(s => s.Fordontyp).ThenBy(s => s.Parkerad);
                    break;

            }

            int pageSize = 5;

            int pageNumber = (page ?? 1);

            var model = new Garage.Models.FordonModelPagedList();

            model.list = bilar.ToPagedList(pageNumber, pageSize);

            return View(model);
        }
Exemplo n.º 2
0
        // GET: FordonModels
        public ActionResult Index(string searchString, string sortOrder, string currentFilter, int?page, string typeFilter, string idag)
        {
            // SIDOHANTERING
            ViewBag.CurrentSort = sortOrder;

            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }
            ViewBag.CurrentFilter = searchString;


            var bilar = from s in db.Fordon
                        select s;

            // SÖK
            if (!String.IsNullOrEmpty(searchString) || !String.IsNullOrEmpty(typeFilter))
            {
                if (typeFilter != "Alla" && !String.IsNullOrEmpty(searchString))
                {
                    bilar = bilar.Where(s =>
                                        s.Regnr == searchString ||
                                        s.Ägare == searchString &&
                                        s.Fordontyp.ToString() == typeFilter);
                }
                else if (String.IsNullOrEmpty(typeFilter) || typeFilter == "Alla")
                {
                    bilar = bilar.Where(s =>
                                        s.Regnr == searchString ||
                                        s.Ägare == searchString);
                }
                else
                {
                    bilar = bilar.Where(s => s.Fordontyp.ToString() == typeFilter);
                }
            }



            if (idag == "true")
            {
                DateTime today = DateTime.Now;
                bilar = bilar.Where(s => s.Parkerad.Year == today.Year && s.Parkerad.Month == today.Month && s.Parkerad.Day == today.Day);
            }

            // SORTERING
            ViewBag.FärgSortParm   = String.IsNullOrEmpty(sortOrder) ? "färg_desc" : "";
            ViewBag.MärkeSortParm  = String.IsNullOrEmpty(sortOrder) ? "märke_desc" : "";
            ViewBag.ModellSortParm = String.IsNullOrEmpty(sortOrder) ? "modell_desc" : "";
            ViewBag.ÄgareSortParm  = String.IsNullOrEmpty(sortOrder) ? "ägare_desc" : "";
            ViewBag.TypSortParm    = String.IsNullOrEmpty(sortOrder) ? "typ_desc" : "";
            ViewBag.RegnrSortParm  = String.IsNullOrEmpty(sortOrder) ? "regnr_desc" : "";
            ViewBag.DateSortParm   = sortOrder == "Parkerad" ? "park_desc" : "Parkerad";


            // sorterar de klickbara tabellrubrikerna från störst till minst
            switch (sortOrder)
            {
            case "märke_desc":
                bilar = bilar.OrderByDescending(s => s.Märke);
                break;

            case "regnr_desc":
                bilar = bilar.OrderByDescending(s => s.Regnr);
                break;

            case "modell_desc":
                bilar = bilar.OrderByDescending(s => s.Modell);
                break;

            case "ägare_desc":
                bilar = bilar.OrderByDescending(s => s.Ägare);
                break;

            case "typ_desc":
                bilar = bilar.OrderByDescending(s => s.Fordontyp);
                break;

            case "färg_desc":
                bilar = bilar.OrderByDescending(s => s.Färg);
                break;

            case "Parkerad":
                bilar = bilar.OrderBy(s => s.Parkerad);
                break;

            case "park_desc":
                bilar = bilar.OrderByDescending(s => s.Parkerad);
                break;

            default:
                bilar = bilar.OrderBy(s => s.Fordontyp).ThenBy(s => s.Parkerad);
                break;
            }



            int pageSize = 5;

            int pageNumber = (page ?? 1);

            var model = new Garage.Models.FordonModelPagedList();

            model.list = bilar.ToPagedList(pageNumber, pageSize);


            return(View(model));
        }