public ActionResult Inventory() { var bodystyles = BodyStyleRepositoryFactory.GetBodyStyleRepository().GetBodyStyles(); var colors = ColorRepositoryFactory.GetColorRepository().GetColors(); var makes = MakeRepositoryFactory.GetMakeRepository().GetMakes(); var models = ModelRepositoryFactory.GetModelRepository().GetModels(); var transmission = TransmissionTypeRepositoryFactory.GetTransmissionTypeRepository().GetTransmissions(); var vehicles = VehicleRepositoryFactory.GetVehicleRepository().GetVehicles(); var vehiclesToReturn = new List <VehicleDisplayVM>(); foreach (var vehicle in vehicles) { var model = new VehicleDisplayVM(); model.Vehicle = vehicle; model.Model = models.FirstOrDefault(m => m.ModelID == vehicle.ModelID); model.Make = makes.FirstOrDefault(m => m.MakeID == vehicle.MakeID); model.BodyStyle = bodystyles.FirstOrDefault(b => b.BodyStyleID == vehicle.BodyStyleID); model.ExteriorColor = colors.FirstOrDefault(c => c.ColorID == vehicle.ExteriorColor); model.InteriorColor = colors.FirstOrDefault(c => c.ColorID == vehicle.InteriorColor); model.Transmission = transmission.FirstOrDefault(t => t.TransmissionID == vehicle.TransmissionID); vehiclesToReturn.Add(model); } //vehiclesToReturn = vehiclesToReturn.OrderBy(vehicle => vehicle.Vehicle.Year).ThenBy(vehicle => vehicle.Make.MakeName).ThenBy(vehicle => vehicle.Model.ModelName).ToList(); var usedVehicles = vehiclesToReturn.Where(v => v.Vehicle.Mileage > 1000).ToList(); var newVehicles = vehiclesToReturn.Where(v => v.Vehicle.Mileage <= 1000).ToList(); List <InventoryReportVehicleGroup> usedVehicleGroupList = VehicleList(usedVehicles); List <InventoryReportVehicleGroup> newVehicleGroupList = VehicleList(newVehicles); InventoryReportViewModel viewModel = new InventoryReportViewModel() { NewVehicles = newVehicleGroupList, UsedVehicles = usedVehicleGroupList }; return(View(viewModel)); }
public IHttpActionResult SearchAdminVehicles(string searchTerm, decimal priceMin, decimal priceMax, int yearMin, int yearMax, int mileage) { var vehicleRepo = VehicleRepositoryFactory.GetVehicleRepository(); var bodystyles = BodyStyleRepositoryFactory.GetBodyStyleRepository().GetBodyStyles(); var colors = ColorRepositoryFactory.GetColorRepository().GetColors(); var makes = MakeRepositoryFactory.GetMakeRepository().GetMakes(); var models = ModelRepositoryFactory.GetModelRepository().GetModels(); var transmission = TransmissionTypeRepositoryFactory.GetTransmissionTypeRepository().GetTransmissions(); if (searchTerm == "chipmunk") { searchTerm = ""; } try { var vehicles = vehicleRepo.GetVehiclesBySearchParameters(searchTerm, priceMin, priceMax, yearMin, yearMax, mileage); var vehiclesToReturn = new List <VehicleDisplayVM>(); foreach (var vehicle in vehicles) { var model = new VehicleDisplayVM(); model.Vehicle = vehicle; model.Model = models.FirstOrDefault(m => m.ModelID == vehicle.ModelID); model.Make = makes.FirstOrDefault(m => m.MakeID == vehicle.MakeID); model.BodyStyle = bodystyles.FirstOrDefault(b => b.BodyStyleID == vehicle.BodyStyleID); model.ExteriorColor = colors.FirstOrDefault(c => c.ColorID == vehicle.ExteriorColor); model.InteriorColor = colors.FirstOrDefault(c => c.ColorID == vehicle.InteriorColor); model.Transmission = transmission.FirstOrDefault(t => t.TransmissionID == vehicle.TransmissionID); vehiclesToReturn.Add(model); } vehiclesToReturn.RemoveAll(v => v.Vehicle.IsPurchased == true); return(Ok(vehiclesToReturn)); } catch { return(BadRequest()); } }