Пример #1
0
        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, ""));
        }
Пример #2
0
        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);
        }