public ActionResult GetView() { BikeListViewModel bikeListViewModel = new BikeListViewModel(); BikeBusinessLayer bikeList = new BikeBusinessLayer(); List <Bike> bikes = bikeList.GetBikes(); List <BikeViewModel> bikeViewModels = new List <BikeViewModel>(); foreach (Bike bike in bikes) { BikeViewModel bikeViewModel = new BikeViewModel(); bikeViewModel.BikeNameAndModel = bike.BikeName + " " + bike.BikeModel; bikeViewModel.BikePrice = bike.BikePrice.ToString("G"); if (bike.BikePrice > 200000) { bikeViewModel.BikeColor = "green"; } else { bikeViewModel.BikeColor = "red"; } bikeViewModels.Add(bikeViewModel); } bikeListViewModel.Bikes = bikeViewModels; return(View("SampleView", bikeListViewModel)); }
public BikeListViewModel applyFilters(BikeListViewModel viewModel, string sortOrder, string make, int?age, string type) { if (sortOrder == null && make == null && (age == 0 || age == null) && type == null) { viewModel.Bikes = viewModel.Bikes.OrderBy(s => s.Make).ThenBy(s => s.Model); return(viewModel); } if (age.Equals(0)) { } else { DateTime moment = DateTime.Now; int currentYear = moment.Year; if (age <= 5) { viewModel.Bikes = viewModel.Bikes.Where(s => s.MinYear >= (currentYear - age) || s.MaxYear >= (currentYear - age)); } else { viewModel.Bikes = viewModel.Bikes.Where(s => s.MinYear < (currentYear - age) || s.MaxYear < (currentYear - age)); } } if (type.Equals("Any Type")) { } else { viewModel.Bikes = viewModel.Bikes.Where(s => s.BikeType.Contains(type)); } if (make.Equals("Any Make")) { } else if (sortOrder.Equals("(A-Z)")) { viewModel.Bikes = viewModel.Bikes.Where(s => s.Make.Contains(make)).OrderBy(s => s.Make).ThenBy(s => s.Model); return(viewModel); } else if (sortOrder.Equals("(Z-A)")) { viewModel.Bikes = viewModel.Bikes.Where(s => s.Make.Contains(make)).OrderByDescending(s => s.Make).ThenByDescending(s => s.Model); return(viewModel); } if (sortOrder.Equals("(A-Z)")) { viewModel.Bikes = viewModel.Bikes.OrderBy(s => s.Make).ThenBy(s => s.Model); } else if (sortOrder.Equals("(Z-A)")) { viewModel.Bikes = viewModel.Bikes.OrderByDescending(s => s.Make).ThenBy(s => s.Model); } return(viewModel); }
public IActionResult Index() { var bikeList = new BikeListViewModel(); bikeList.BikeList = _bikeService.GetAllBike(); return(View(bikeList)); }
public IActionResult Bike(int id, BikeFiltersForm filters) { BikeListViewModel model = new BikeListViewModel(); model.BikeFilters = filters; model.IndividualBike = _db.Bikes.FirstOrDefault(s => s.Id == id); return(View(model)); }
public IActionResult Index(BikeListViewModel model, int page, bool?resetFilters) { //TODO Handle null reference properly //model.BikeFilters.SortOrder ? ViewBag.SortOrder = model.BikeFilters.SortOrder : "[A-Z]"; if (resetFilters == true) { HttpContext.Session.Clear(); } if (model.BikeFilters == null) { } else { if (HttpContext.Session.GetString("SortOrder") == null && model.BikeFilters.SortOrder == null) { HttpContext.Session.SetString("SortOrder", "(A-Z)"); } else { HttpContext.Session.SetString("SortOrder", model.BikeFilters.SortOrder); } if (HttpContext.Session.GetString("Make") == null && model.BikeFilters.Make == null) { HttpContext.Session.SetString("Make", "Any Make"); } else { HttpContext.Session.SetString("Make", model.BikeFilters.Make); } HttpContext.Session.SetInt32("Age", model.BikeFilters.Age); if (HttpContext.Session.GetString("Type") == null && model.BikeFilters.Type == null) { HttpContext.Session.SetString("Type", "Any Type"); } else { HttpContext.Session.SetString("Type", model.BikeFilters.Type); } } model.Bikes = _db.Bikes; model.BikePerPage = 30; if (page == 0) { model.CurrentPage = 1; } else { model.CurrentPage = page; } BikeFilterHelper helper = new BikeFilterHelper(); model = helper.applyFilters(model, HttpContext.Session.GetString("SortOrder"), HttpContext.Session.GetString("Make"), HttpContext.Session.GetInt32("Age"), HttpContext.Session.GetString("Type")); return(View(model)); }