public Holder <Airline> EditAirline(Airline airline) { Airline airlineFromDB = _airlineDatabase.Get(airline.AirlineId); if (airlineFromDB.AirlineId <= 0) { return(CheckAirline(airline, 404, "Airline you're trying to edit doesn't exists")); } if (!_airlineDatabase.EditAirline(airline)) { return(CheckAirline(airline, 500, "Unable to edit airline")); } foreach (var flight in airline.Flights) { foreach (var seat in flight.Seats) { if (seat.SeatId == 0) { seat.Flight = flight; if (!_airlineDatabase.AddSeat(seat)) { return(CheckAirline(airline, 500, "Unable to add seats")); } } } } if (airline.AvailableFlightLuggage != null) { foreach (var airlineAfl in airline.AvailableFlightLuggage) { AirlineFlightLuggage aflToAdd = airlineAfl; foreach (var airlineDbAfl in airlineFromDB.AvailableFlightLuggage) { if (airlineDbAfl.FlightLuggageId == airlineAfl.FlightLuggageId && airlineDbAfl.AirlineId == airlineAfl.AirlineId) { aflToAdd = null; break; } } if (aflToAdd != null) { if (!_airlineDatabase.AddAirlineFlightLuggage(aflToAdd)) { return(CheckAirline(airline, 500, "Unable to add AirlineFlightLuggage while editing airline")); } } } } return(CheckAirline(airline, 200, "")); }
public bool AddAirlineFlightLuggage(AirlineFlightLuggage airlineFlightLuggage) { int rowsEffected = -1; using (var context = new DataContext(DataContext.ops.dbOptions)) { context.FlightLuggage.Attach(airlineFlightLuggage.FlightLuggage); context.Add(airlineFlightLuggage); rowsEffected = context.SaveChanges(); } if (rowsEffected > 0) { return(true); } return(false); }