Example #1
0
        // search by speed
        public IEnumerable <Car> Search(SearchCarModel model)
        {
            if (model == null)
            {
                return(innerCol);
            }

            return(innerCol.Where(x => x.MaxSpeed >= model.FromSpeed && x.MaxSpeed <= model.ToSpeed));
        }
        public ActionResult Create(SearchCarModel car)
        {
            try
            {
                // TODO: Add insert logic here

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Example #3
0
        public List <CarModel> SearchCars(SearchCarModel searchModel)
        {
            List <CarModel> ret       = new List <CarModel>();
            var             companies = _context.RentACarCompanies
                                        .Include(comp => comp.MainLocation)
                                        .Include(comp => comp.Locations)
                                        .Include(comp => comp.Cars)
                                        .ThenInclude(car => car.RentedDates)
                                        .Include(comp => comp.Cars)
                                        .ThenInclude(car => car.Ratings)
                                        .Include(comp => comp.Ratings)
                                        .Include(comp => comp.QuickReservations)
                                        .ThenInclude(qr => qr.Dates)
                                        .Include(comp => comp.extras)
                                        .ToList();

            var comp = _context.RentACarCompanies.Find(searchModel.companyId);

            if (comp == null)
            {
                return(ret);
            }

            foreach (var car in comp.Cars)
            {
                if (!car.Removed)
                {
                    if (car.Location.ToLower().Contains(searchModel.location.ToLower().Trim()) || searchModel.location == "")
                    {
                        if (CheckBranch(comp, searchModel.returnLocation) || searchModel.returnLocation == "")
                        {
                            if (CheckAvailability(car, searchModel.dateFrom, searchModel.dateTo))
                            {
                                if (CheckQuickReservations(comp, car, searchModel.dateFrom, searchModel.dateTo))
                                {
                                    if (car.Year.ToString() == searchModel.year || searchModel.year == "")
                                    {
                                        if (car.Type.ToLower() == searchModel.type.ToLower() || searchModel.type == "")
                                        {
                                            if (car.Brand.ToLower() == searchModel.brand.ToLower() || searchModel.brand == "")
                                            {
                                                if (car.Model.ToLower() == searchModel.model.ToLower() || searchModel.model == "")
                                                {
                                                    if (searchModel.price != "")
                                                    {
                                                        try
                                                        {
                                                            if (car.PricePerDay <= Int32.Parse(searchModel.price))
                                                            {
                                                                ret.Add(new CarModel()
                                                                {
                                                                    avrageRating = car.AvrageRating, brand = car.Brand, id = car.ID, image = car.Image, location = car.Location, model = car.Model, passengers = car.Passengers, price = GetTotalPrice(car, searchModel.dateFrom, searchModel.dateTo), type = car.Type, year = car.Year
                                                                });
                                                            }
                                                        }
                                                        catch (Exception e)
                                                        {
                                                        }
                                                    }

                                                    ret.Add(new CarModel()
                                                    {
                                                        avrageRating = car.AvrageRating, brand = car.Brand, id = car.ID, image = car.Image, location = car.Location, model = car.Model, passengers = car.Passengers, price = GetTotalPrice(car, searchModel.dateFrom, searchModel.dateTo), type = car.Type, year = car.Year
                                                    });
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            return(ret);
        }