private List <VehicleToDisplay> GenerateResult(List <OpenRoads.Model.VehicleModel> vehicles, List <VehicleManufacturerModel> manufacturers, List <VehicleFuelTypeModel> fuelTypes, List <VehicleTransmissionTypeModel> transmissionTypes, List <VehicleModelModel> models) { List <VehicleToDisplay> result = new List <VehicleToDisplay>(); foreach (var x in vehicles) { VehicleToDisplay newVehicle = new VehicleToDisplay(); newVehicle.Active = x.Active; newVehicle.VehicleId = x.VehicleId; foreach (var y in fuelTypes) { if (x.VehicleFuelTypeId == y.VehicleFuelTypeId) { newVehicle.FuelTypeId = y.VehicleFuelTypeId; newVehicle.FuelTypeName = y.Name; break; } } foreach (var z in transmissionTypes) { if (x.VehicleTransmissionTypeId == z.VehicleTransmissionTypeId) { newVehicle.TransmissionId = z.VehicleTransmissionTypeId; newVehicle.TransmissionName = z.Name; break; } } foreach (var model in models) { if (x.VehicleModelId == model.VehicleModelId) { newVehicle.VehicleName = model.Name; foreach (var manufacturer in manufacturers) { if (model.VehicleManufacturerId == manufacturer.VehicleManufacturerId) { newVehicle.ManufacturerName = manufacturer.Name; newVehicle.ManufacturerId = manufacturer.VehicleManufacturerId; break; } } } } result.Add(newVehicle); } return(result); }
private async Task LoadRecommendedVehicles(VehicleSearchRequest request = null) { var vehicleManufacturers = await _vehicleManufacturerService.Get <List <VehicleManufacturerModel> >(null); var vehicleModels = await _vehicleModelService.Get <List <VehicleModelModel> >(null); var reservationsList = await _reservationService.Get <List <ReservationModel> >(null); var recommenderVehicles = await _recommenderService.GetById <List <VehicleModel> >(APIService.LoggedUserId); DateTime dateToCheck = new DateTime(0001, 1, 1); bool vehicleRented = false; RecommendedVehiclesList.Clear(); if (recommenderVehicles.Count <= 3) { foreach (var x in recommenderVehicles) { vehicleRented = false; foreach (var reservation in reservationsList) { if (reservation.VehicleId == x.VehicleId) { if (SelectedDateTo != dateToCheck) { if (SelectedDateFrom >= reservation.DateFrom && SelectedDateFrom <= reservation.DateTo) { vehicleRented = true; } if ((SelectedDateFrom < reservation.DateFrom && SelectedDateFrom < reservation.DateTo) && (SelectedDateTo >= reservation.DateFrom && SelectedDateTo <= reservation.DateTo)) { vehicleRented = true; } if (reservation.DateFrom >= SelectedDateFrom && reservation.DateTo <= SelectedDateTo) { if (reservation.DateTo > DateTime.Now) { vehicleRented = true; } } } } } if (!vehicleRented) { VehicleToDisplay newVehicle = new VehicleToDisplay(); newVehicle.VehicleId = x.VehicleId; newVehicle.Available = x.Available; newVehicle.Picture = x.Picture; newVehicle.DailyPrice = x.PriceByDay + " KM"; newVehicle.PowerHP = x.PowerInHp + " hp"; newVehicle.ManufacturedYear = x.ManufacturedYear; foreach (var model in vehicleModels) { if (x.VehicleModelId == model.VehicleModelId) { foreach (var manufacturer in vehicleManufacturers) { if (model.VehicleManufacturerId == manufacturer.VehicleManufacturerId) { newVehicle.VehicleName = manufacturer.Name + " " + model.Name; break; } } break; } } RecommendedVehiclesList.Add(newVehicle); } } } }