public IEnumerable <Flight> GetFlights(DateTime toDay, City fromPlace, City toPlace) { var getFlightRequest = new GetFlightRequest { fromPlace = fromPlace.Name, toPlace = toPlace.Name, toDay = toDay }; //FlightCompany FlightCompany = UnitOfWork.FlightCompanyRepository.Get().FirstOrDefault(); FlightCompany FlightCompany = new FlightCompany { APIURLToGetFlights = "http://demo4736431.mockable.io/GetFlights" }; List <Flight> ListOfFlights = new List <Flight>(); var consumerFlights = new Consumer <GetFlightResponse>(); GetFlightResponse getFlightResponse = consumerFlights.ReLoadEntities(FlightCompany.APIURLToGetFlights, "POST", getFlightRequest).Result; foreach (var item in getFlightResponse.CommercialFlights) { var auxFlight = new Flight { Id_Flight = item.idFlight, DepartureDate = item.Deport, ArrivedDate = item.Arrive, Price = item.Price, NotReservedSeats = item.Disponible_Places, }; ListOfFlights.Add(auxFlight); } return(ListOfFlights); }
public void SetToBackFlightReservationToNewTravelPackage(TravelPackage travelPackage) { var reservationFlightRequest = new FlightReservationsToTravelPackageRequest { FlightID = travelPackage.ToBackFlight.Id_Flight, SeatCount = travelPackage.ReservationAmount }; FlightCompany FlightCompany = UnitOfWork.FlightCompanyRepository.GetByID(travelPackage.ToBackFlight.Id_Flight); var consumerFlights = new Consumer <List <FlightReservationsToTravelPackageResponse> >(); List <FlightReservationsToTravelPackageResponse> getSeatsResponse = consumerFlights.ReLoadEntities(FlightCompany.APIURLToReserveSeatsToTravelPackage, "POST", reservationFlightRequest).Result; foreach (var item in getSeatsResponse) { var auxSeat = new ReservedSeat() { Id_Flight = item.Id_Flight, Id_ReservedSeat = item.Id_Seat, Flight = UnitOfWork.FlightRepository.GetByID(item.Id_Flight) }; auxSeat.Flight.ReservedSeat.Add(auxSeat); UnitOfWork.ReservedSeatRepository.Insert(auxSeat); UnitOfWork.FlightRepository.Update(auxSeat.Flight); } UnitOfWork.Save(); }
public async Task <IActionResult> PutFlightCompany(int id, FlightCompany flightCompany) { if (id != flightCompany.ID) { return(BadRequest()); } _context.Entry(flightCompany).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!FlightCompanyExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <FlightCompany> > AddFlightCompany(FlightCompany flightCompany) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (ValidateModel(flightCompany, true)) { var flightCompanyRet = await flightCompanyRepo.AddFlightCompany(_context, flightCompany); if (flightCompanyRet == null) { return(BadRequest()); } return(CreatedAtAction("GetFlightCompany", new { id = flightCompany.id }, flightCompany)); //_context.FlightCompanies.Add(flightCompany); //await _context.SaveChangesAsync(); //return CreatedAtAction("GetFlightCompany", new { id = flightCompany.id }, flightCompany); } else { return(BadRequest()); } }
public void SetToBackFlightReservationToNewTravelPackage(TravelPackage travelPackage) { var reservationFlightRequest = new FlightReservationsToTravelPackageRequest { FlightID = travelPackage.ToBackFlight.Id_Flight, SeatCount = travelPackage.ReservationAmount }; //FlightCompany FlightCompany = UnitOfWork.FlightCompanyRepository.GetByID(travelPackage.ToGoFlight.Id_Flight); FlightCompany FlightCompany = new FlightCompany { APIURLToReserveSeatsToTravelPackage = "http://demo4736431.mockable.io/ReserveFlightSeat" }; var consumerFlights = new Consumer <List <FlightReservationsToTravelPackageResponse> >(); List <FlightReservationsToTravelPackageResponse> getSeatsResponse = consumerFlights.ReLoadEntities(FlightCompany.APIURLToReserveSeatsToTravelPackage, "GET", reservationFlightRequest).Result; foreach (var item in getSeatsResponse) { var auxSeat = new FlightReservedSeat() { Id_ReservedSeat = item.Id_Seat, Flight = UnitOfWork.FlightRepository.GetByID(item.Id_Flight), TravelPackage = travelPackage, Available = true }; auxSeat.Flight.ReservedSeat.Add(auxSeat); UnitOfWork.ReservedSeatRepository.Insert(auxSeat); UnitOfWork.FlightRepository.Update(auxSeat.Flight); } UnitOfWork.Save(); }
public async Task <FlightReservation> UpdateFlightReservation(MAANPP20ContextFlight _context, FlightReservation flightReservation) { Flight flight = await _context.Flights.Where(x => x.deleted == false) .Include(ocene => ocene.ocene) .FirstOrDefaultAsync(id => id.id == flightReservation.flightId); if (flight == null) { return(null); } if (flightReservation.ocenaLeta > 0) { DoubleForICollection doubleForICollection = new DoubleForICollection(); doubleForICollection.DoubleValue = flightReservation.ocenaLeta; flight.ocene.Add(doubleForICollection); _context.Entry(flight).State = EntityState.Modified; } if (flightReservation.ocenaKompanije > 0) { FlightCompany flightCompany = await _context.FlightCompanies.Where(x => x.deleted == false) .Include(ocene => ocene.ocene) .FirstOrDefaultAsync(id => id.id == flight.idCompany); if (flightCompany == null) { return(null); } DoubleForICollection doubleForICollection = new DoubleForICollection(); doubleForICollection.DoubleValue = flightReservation.ocenaKompanije; flightCompany.ocene.Add(doubleForICollection); _context.Entry(flightCompany).State = EntityState.Modified; } _context.Entry(flightReservation).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!FlightReservationExists(_context, flightReservation.id)) { return(null); } else { throw; } } return(flightReservation); }
public async Task CreateAsync(FlightCompanyInputModel inputModel) { var company = new FlightCompany { Name = inputModel.Name, }; await this.flightCompaniesRepository.AddAsync(company); await this.flightCompaniesRepository.SaveChangesAsync(); }
public async Task <ActionResult <FlightCompany> > PostFlightCompany(FlightCompany flightCompany) { var user = await _context.ApplicationUsers.FindAsync(flightCompany.UserID); user.Role = "FlightAdministrator"; _context.Entry(user).State = EntityState.Modified; _context.SaveChanges(); _context.FlightCompanies.Add(flightCompany); await _context.SaveChangesAsync(); return(CreatedAtAction("GetFlightCompany", new { id = flightCompany.ID }, flightCompany)); }
public async Task <IActionResult> UpdateFlightCompany(FlightCompany flightCompany) { if (ValidateModel(flightCompany, false)) { var flightCompanyRet = await flightCompanyRepo.UpdateFlightCompany(_context, flightCompany); if (flightCompany == null) { return(NotFound()); } return(Ok()); //if (flightCompany.admin != null) //{ // flightCompany.admin.serviceId = flightCompany.id; // _context.Entry(flightCompany.admin).State = EntityState.Modified; //} //_context.Entry(flightCompany.address).State = EntityState.Modified; //_context.Entry(flightCompany).State = EntityState.Modified; //try //{ // await _context.SaveChangesAsync(); //} //catch (DbUpdateConcurrencyException) //{ // if (!FlightCompanyExists(flightCompany.id)) // { // return NotFound(); // } // else // { // throw; // } //} //return Ok(); } else { return(BadRequest()); } }
private bool ValidateModel(FlightCompany flightCompany, bool isPost) { // ako je prilikom kreiranja komapnije dodato nesto u neku od listi, posto to iz osnovne forme ne moze! if ((flightCompany.destinations.Count != 0 || flightCompany.flights.Count != 0 || flightCompany.ocene.Count != 0) && isPost) { return(false); } // ima grada i ime drzave moze biti isto, // ali ne moze biti ime ulice i broj identicno kao ime grada ili drzave if ((flightCompany.address.city == flightCompany.address.streetAndNumber) || (flightCompany.address.country == flightCompany.address.streetAndNumber)) { return(false); } // provera da li su sva slova, broj ili razmak foreach (var character in flightCompany.name) { if (!Char.IsLetter(character)) { if (!Char.IsWhiteSpace(character)) { if (!Char.IsNumber(character)) { return(false); } } } } // prilikom POST i PUT ne moze se logicki obrisati jer to je namenjeno za DELETE! if (flightCompany.deleted == true) { return(false); } return(true); }
public async Task <FlightCompany> UpdateFlightCompany(MAANPP20ContextFlight _context, FlightCompany flightCompany) { if (flightCompany.admin != null) { flightCompany.admin.serviceId = flightCompany.id; _context.Entry(flightCompany.admin).State = EntityState.Modified; } _context.Entry(flightCompany.address).State = EntityState.Modified; _context.Entry(flightCompany).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!FlightCompanyExists(_context, flightCompany.id)) { return(null); } else { throw; } } return(flightCompany); }
public async Task <ActionResult <FlightCompany> > AddFlightCompany(MAANPP20ContextFlight _context, FlightCompany flightCompany) { _context.FlightCompanies.Add(flightCompany); await _context.SaveChangesAsync(); return(flightCompany); }