// GET: Vehicles public ActionResult Index(string msg, bool hasAddedVehicle = false, string title = "List of vehicles", string sort = "", [Bind(Include = "RegNr,CheckIn,Color,Brand,Model,Wheels,Owner,VehicleTypeId")] VehicleDetailSearchParams searchParams = null) { List <Vehicle> vehicles = db.Vehicles.ToList(); if (Request.Form["show"] != null) { ModelState.Clear(); searchParams = new VehicleDetailSearchParams(); } if (searchParams != null) { vehicles = SearchInList(searchParams, vehicles); } else { searchParams = new VehicleDetailSearchParams(); } vehicles = SortList(ref sort, vehicles); return(View(new VehicleIndexViewModel { SearchParams = searchParams, Sort = sort, VehicleTypes = new SelectList(db.VehicleTypes, "Id", "Type"), Title = title, Vehicles = vehicles.ToList(), HasAddedVehicle = hasAddedVehicle, Message = msg })); }
private static List <Vehicle> SearchInList(VehicleDetailSearchParams searchParams, List <Vehicle> vehicles) { vehicles = vehicles .Where(x => (!string.IsNullOrWhiteSpace(searchParams.RegNr)) ? x.RegNumber.ToLower().Contains(searchParams.RegNr.ToLower()) : true) .Where(x => (!string.IsNullOrWhiteSpace(searchParams.Owner)) ? x.Owner.FullName.ToLower().Contains(searchParams.Owner.ToLower()) : true) .Where(x => (!string.IsNullOrWhiteSpace(searchParams.Model)) ? ((x.Model != null) ? x.Model.ToLower().Contains(searchParams.Model.ToLower()) : false) : true) .Where(x => (!string.IsNullOrWhiteSpace(searchParams.Color)) ? ((x.Color != null) ? x.Color.ToLower().Contains(searchParams.Color.ToLower()) : false) : true) .Where(x => (!string.IsNullOrWhiteSpace(searchParams.Brand)) ? ((x.Brand != null) ? x.Brand.ToLower().Contains(searchParams.Brand.ToLower()) : false) : true) .Where(x => (searchParams.VehicleTypeId != null) ? x.Type.Id.Equals(searchParams.VehicleTypeId) : true) .Where(x => (searchParams.Wheels != null) ? x.Wheels.Equals(searchParams.Wheels) : true) .Where(x => (searchParams.CheckIn != null) ? x.CheckInTimeStamp.Date.Equals(searchParams.CheckIn.Value.Date) : true) .ToList(); return(vehicles); }
public ActionResult Index(VehicleDetailSearchParams searchParams, string title = "List of vehicles") { var vehicles = db.Vehicles.ToList(); string sort = ""; vehicles = SortList(ref sort, vehicles); if (Request.Form["show"] != null) { ModelState.Clear(); searchParams = new VehicleDetailSearchParams(); } else { vehicles = SearchInList(searchParams, vehicles); } return(View(new VehicleIndexViewModel { SearchParams = (searchParams != null) ? searchParams : new VehicleDetailSearchParams(), Sort = "", VehicleTypes = new SelectList(db.VehicleTypes, "Id", "Type"), Vehicles = vehicles, Title = title })); }