public async Task <IActionResult> UpdateCar(CarFromModel car) { //var carPom = await context.Cars.FindAsync(car.Id); Car carSave = new Car() { Id = car.Id, Mark = car.Mark, AirConditioning = car.AirConditioning, Fuel = car.Fuel, Gearshift = car.Gearshift, Seat = car.Seat.ToString(), Door = car.Door.ToString(), YearProduction = car.YearProduction.ToString(), Bags = car.Bags.ToString(), RentPerDay = car.RentPerDay.ToString(), ImageCar = car.ImageCar }; context.Entry(carSave).State = EntityState.Modified; try { await context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { return(NotFound()); } return(NoContent()); }
public async Task <IActionResult> AddCar(CarFromModel car) { Car carPom = new Car() { Mark = car.Mark, AirConditioning = car.AirConditioning, Bags = car.Bags.ToString(), Door = car.Door.ToString(), Fuel = car.Fuel, Gearshift = car.Gearshift, RentPerDay = car.RentPerDay.ToString(), Seat = car.Seat.ToString(), YearProduction = car.YearProduction.ToString() }; var company = await context.Companies.FindAsync(car.IdCompany); carPom.CarCompany = (CarCompany)company; // carCompany.Cars = new List<Car>(); // car.CarCompany = carCompany; // carCompany.Cars.Add(car); context.Cars.Add(carPom); await context.SaveChangesAsync(); return(Ok()); }
public async Task <ActionResult <CarFromModel> > GetOneCar(string id) { var car = await context.Cars.FindAsync(id); CarFromModel carSend = new CarFromModel() { Id = car.Id, Mark = car.Mark, AirConditioning = car.AirConditioning, Fuel = car.Fuel, Gearshift = car.Gearshift, Seat = Int32.Parse(car.Seat), Door = Int32.Parse(car.Door), YearProduction = Int32.Parse(car.YearProduction), Bags = Int32.Parse(car.Bags), RentPerDay = Int32.Parse(car.RentPerDay), ImageCar = car.ImageCar }; if (car == null) { return(NotFound()); } return(carSend); }
public async Task <ActionResult <IEnumerable <CarFromModel> > > SearchAvailableCar(FilterCar filterCar) { List <CarFromModel> carFromModels = new List <CarFromModel>(); CarCompany cc = new CarCompany(); var listCompany = context.BranchOffices.Include(x => x.Id_company).ToList().SingleOrDefault(x => x.Id == Int32.Parse(filterCar.Id)); if (listCompany == null) { var company = context.Companies.Find(Int32.Parse(filterCar.Id)); cc = (CarCompany)company; } else { cc = listCompany.Id_company; } var rezervacije = context.ReservationCar.ToList(); List <ReservationCar> filterReservation = new List <ReservationCar>(); var pom = context.Carcompanies.Include(x => x.Cars).ToList().SingleOrDefault(x => x.Id == cc.Id).Cars.ToList(); //PROVERITI DA LI SU KOLA NA POPUSTU var listaVozilaNaPopustu = context.DiscountCars.ToList(); foreach (var popust in listaVozilaNaPopustu) { foreach (var auto in pom) { if (auto.Id == popust.carId) { var poredjenje1 = DateTime.Compare(filterCar.startDay, popust.StartDay); var poredjenje2 = DateTime.Compare(filterCar.endDay, popust.StartDay); if (poredjenje1 < 0 && poredjenje2 < 0) { continue; } else if (poredjenje1 > 0 && poredjenje2 > 0) { var poredjenje3 = DateTime.Compare(filterCar.startDay, popust.EndDay); var poredjenje4 = DateTime.Compare(filterCar.endDay, popust.EndDay); if (poredjenje3 > 0 && poredjenje4 > 0) { continue; } else { carFromModels = null; return(carFromModels); } } else { carFromModels = null; return(carFromModels); } } } } var pom1 = pom.FindAll(x => x.Mark.ToLower() == filterCar.Mark.ToLower()); if (pom1.Count != 0) { var pom2 = pom1.FindAll(x => x.Seat == filterCar.Number.ToString()); if (pom2.Count != 0) { if (context.ReservationCar.ToList().Count == 0) { foreach (var cars in pom2) { CarFromModel cfm = new CarFromModel(); cfm.AirConditioning = cars.AirConditioning; cfm.Bags = Int32.Parse(cars.Bags); cfm.Door = Int32.Parse(cars.Door); cfm.Fuel = cars.Fuel; cfm.Gearshift = cars.Gearshift; cfm.Id = cars.Id; cfm.ImageCar = cars.ImageCar; cfm.Mark = cars.Mark; cfm.RentPerDay = Int32.Parse(cars.RentPerDay); cfm.Seat = Int32.Parse(cars.Seat); cfm.YearProduction = Int32.Parse(cars.YearProduction); cfm.Rating = cars.AverageRating.ToString(); carFromModels.Add(cfm); } } else { foreach (var cars in pom2) { var rez = rezervacije.FindAll(x => x.IdCar == cars.Id); Model.ReservationCar rc = new Model.ReservationCar(); if (rez.Count() != 0) { foreach (var rezervacija in rez) { int result = DateTime.Compare(filterCar.startDay, rezervacija.Day1); int result2 = DateTime.Compare(filterCar.endDay, rezervacija.Day1); if (result < 0 && result2 < 0) { continue; } else if (result > 0 && result2 > 0) { int result3 = DateTime.Compare(filterCar.startDay, rezervacija.Day2); int result4 = DateTime.Compare(filterCar.endDay, rezervacija.Day2); if (result3 > 0 && result4 > 0) { continue; } else { carFromModels = null; return(carFromModels); } } else { carFromModels = null; return(carFromModels); } } TimeSpan t = filterCar.endDay - filterCar.startDay; var elapsedDays = t.Days; var price = elapsedDays * Int32.Parse(cars.RentPerDay); CarFromModel cfm = new CarFromModel(); cfm.AirConditioning = cars.AirConditioning; cfm.Bags = Int32.Parse(cars.Bags); cfm.Door = Int32.Parse(cars.Door); cfm.Fuel = cars.Fuel; cfm.Gearshift = cars.Gearshift; cfm.Id = cars.Id; cfm.ImageCar = cars.ImageCar; cfm.Mark = cars.Mark; cfm.RentPerDay = Int32.Parse(cars.RentPerDay); cfm.Seat = Int32.Parse(cars.Seat); cfm.YearProduction = Int32.Parse(cars.YearProduction); cfm.Price = price.ToString(); cfm.Rating = cars.AverageRating.ToString(); carFromModels.Add(cfm); } else { foreach (var car in pom2) { CarFromModel cfm = new CarFromModel(); cfm.AirConditioning = car.AirConditioning; cfm.Bags = Int32.Parse(car.Bags); cfm.Door = Int32.Parse(car.Door); cfm.Fuel = car.Fuel; cfm.Gearshift = car.Gearshift; cfm.Id = car.Id; cfm.ImageCar = car.ImageCar; cfm.Mark = car.Mark; cfm.RentPerDay = Int32.Parse(car.RentPerDay); cfm.Seat = Int32.Parse(car.Seat); cfm.YearProduction = Int32.Parse(car.YearProduction); cfm.Rating = cars.AverageRating.ToString(); carFromModels.Add(cfm); } return(carFromModels); } } return(carFromModels); } } else { return(carFromModels); } } else { return(carFromModels); } return(carFromModels); }