Example #1
0
        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);
        }
Example #2
0
        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);
                    }
                }
            }
        }