Esempio n. 1
0
        public async Task <AirplaneUserResponse> GetSeats(int flightId)
        {
            var temp = await airlineRepository.GetAirlineWithFlight(flightId);

            if (temp != null)
            {
                var flight = temp.Flights.FirstOrDefault(i => i.Id == flightId);
                var ret    = new AirplaneUser();
                if (flight != null)
                {
                    ret.Columns      = flight.Airplane.Columns;
                    ret.Rows         = flight.Airplane.Rows;
                    ret.RemovedSeats = new List <Model.Airlines.Seat>();
                    foreach (var a in flight.Airplane.RemovedSeats)
                    {
                        ret.RemovedSeats.Add(new Model.Airlines.Seat {
                            Column = a.Column, Row = a.Row
                        });
                    }
                    ret.DisabledSeats = new List <Model.Airlines.Seat>();
                    foreach (var a in flight.Airplane.DisabledSeats)
                    {
                        ret.DisabledSeats.Add(new Model.Airlines.Seat {
                            Column = a.Column, Row = a.Row
                        });
                    }
                    ret.TakenSeats = new List <Model.Airlines.Seat>();

                    foreach (var a in temp.Tickets)
                    {
                        if (a.Flight.Id == flight.Id)
                        {
                            ret.TakenSeats.Add(new Model.Airlines.Seat {
                                Column = a.Column, Row = a.Row
                            });
                        }
                    }



                    ret.SpecialSeats = new List <Model.Airlines.Seat>();
                    foreach (var a in temp.FastFlights.Where(i => i.Flight.Id == flightId))
                    {
                        ret.SpecialSeats.Add(new Model.Airlines.Seat {
                            Column = a.Column, Row = a.Row
                        });
                    }

                    return(new AirplaneUserResponse(ret));
                }
                else
                {
                    return(new AirplaneUserResponse("Flight with given id does not exist."));
                }
            }
            else
            {
                return(new AirplaneUserResponse("Flight with given id does not exist."));
            }
        }