Пример #1
0
        public void SelectXYTest()
        {
            FlightList expected = new FlightList();

            expected.Add(new Flight(5, "КМ-608", "Мюнхен", TimeSpan.Parse("15:30:00"), 2));
            expected.Add(new Flight(8, "КМ-602", "Мюнхен", TimeSpan.Parse("07:35:00"), 32));
            var             target = new MainWindow();
            object          sender = target;
            RoutedEventArgs e      = null;

            target.InitializeComponent();
            target.InfoFlightForm_Loaded(sender, e);
            target.SelectXYMenuItem_Click(sender, e);
            string        cityX  = "Мюнхен";
            TimeSpan      time   = TimeSpan.Parse("20:00:00");
            List <Flight> actual = SelectData.SelectXY(expected, cityX, time);

            if (expected.Flights_list.Count != actual.Count)
            {
                Assert.Fail();
            }
            for (int i = 0; i < actual.Count; i++)
            {
                Assert.AreEqual(expected.Flights_list.ElementAt(i), actual.ElementAt(i));
            }
        }
Пример #2
0
        //member functions
        public override IList <Flight> GetFilterResult()
        {
            IList <Flight> resultFlights = new List <Flight>();

            if (FlightList != null)
            {
                resultFlights = FlightList
                                .Where(a => (a.Segments.Any(b => b.DepartureDate < searchDate))).ToList();

                #region foreach loop
                //foreach (Flight flight in FlightList)
                //{
                //    foreach (Segment segment in flight.Segments)
                //    {
                //        if (segment.DepartureDate < searchDate)
                //        {
                //            resultFlights.Add(flight);
                //            break;
                //        }
                //    }
                //}
                #endregion
            }
            return(resultFlights);
        }
Пример #3
0
        public void SelectXTest()
        {
            FlightList expected = new FlightList();

            expected.Add(new Flight(7, "КА-199", "Київ", TimeSpan.Parse("00:55:00"), 6));
            expected.Add(new Flight(12, "LL-000", "Київ", TimeSpan.Parse("07:22:00"), 3));
            var             target = new MainWindow();
            object          sender = target;
            RoutedEventArgs e      = null;

            target.InitializeComponent();
            target.InfoFlightForm_Loaded(sender, e);
            target.SelectXMenuItem_Click(sender, e);
            string        cityX  = "Київ";
            List <Flight> actual = SelectData.SelectX(expected, cityX);

            if (expected.Flights_list.Count != actual.Count)
            {
                Assert.Fail();
            }
            for (int i = 0; i < actual.Count; i++)
            {
                Assert.AreEqual(expected.Flights_list.ElementAt(i), actual.ElementAt(i));
            }
        }
Пример #4
0
        public override IList <Flight> GetFilterResult()
        {
            IList <Flight> resultFlights = new List <Flight>();

            if (FlightList != null)
            {
                resultFlights =
                    FlightList.Where(a => a.Segments
                                     .Any(b => (a.Segments.Count != a.Segments.IndexOf(b) + 1) && (a.Segments[a.Segments.IndexOf(b) + 1].DepartureDate - b.ArrivalDate).Hours > noOfHours)).ToList();

                #region foreach loop
                //foreach (Flight flight in FlightList)
                //{
                //    for (int i = 0; i < flight.Segments.Count; i++)
                //    {
                //        if (i + 1 < flight.Segments.Count)
                //        {
                //            if ((flight.Segments[i + 1].DepartureDate - flight.Segments[i].ArrivalDate).Hours > noOfHours)
                //            {
                //                resultFlights.Add(flight);
                //                break;
                //            }
                //        }
                //    }
                //}
                #endregion
            }
            return(resultFlights);
        }
Пример #5
0
        private void OnShowFlight()
        {
            List <Airports> listaGradovafrom = new List <Airports>();
            List <Airports> listaGradovato   = new List <Airports>();
            List <Routes>   ListaRuta        = new List <Routes>();

            FlightList.Clear();
            Airports c = new Airports();
            Routes   r = new Routes();

            listaGradovafrom = c.GetInnerAllFrom(FlFrom);
            listaGradovato   = c.GetInnerAllTo(FlTo);
            ListaRuta        = r.ListOfRoutes();

            foreach (var From in listaGradovafrom)
            {
                foreach (var To in listaGradovato)
                {
                    foreach (var rute in ListaRuta)
                    {
                        if (rute.From == From.airIATA && rute.To == To.airIATA)
                        {
                            rute.From = FlFrom;
                            rute.To   = FlTo;
                            FlightList.Add(rute);
                        }
                    }
                }
            }
        }
Пример #6
0
 void DeleteFlight(FlightContent flight, UITableView tableView)
 {
     if (DatabaseHelper.DeleteFlight(flight))
     {
         Console.WriteLine($"Flight with key: {flight.Key} was deleted");
         FirebaseHelper.FireBaseHelper.DeleteFlightFromCloud(flight, ViewController.ActiveStation.Key);
         FlightList.RemoveAt(DeleteIndexPath.Row);
         tableView.BeginUpdates();
         tableView.DeleteRows(new NSIndexPath[] { DeleteIndexPath }, UITableViewRowAnimation.Automatic);
         tableView.ReloadData();
         tableView.EndUpdates();
     }
 }
Пример #7
0
        /// <summary>
        /// Retrieves a list of FlightList
        /// </summary>
        /// <param name="_aeroOri">Origin airport </param>
        /// <param name="_aeroDes">Destiny airport </param>
        /// <param name="listTrechos">List of Trechos </param>
        /// <returns>Return with List of flight Trechos</returns>
        internal FlightList FillFlightList(string _aeroOri, string _aeroDes, List <Trechos> listTrechos)
        {
            Logger?.LogDebug("'{0}' has been invoked", nameof(FillFlightList));
            FlightList UniFlightList;

            try
            {
                UniFlightList         = new FlightList();
                UniFlightList.origem  = _aeroOri;
                UniFlightList.destino = _aeroDes;
                UniFlightList.saida   = listTrechos[0].saida.ToString();
                UniFlightList.chegada = listTrechos[listTrechos.Count - 1].chegada.ToString();
                UniFlightList.trechos = listTrechos;

                return(UniFlightList);
            }
            catch (Exception ex)
            {
                Logger?.LogCritical("There was an error on '{0}' invocation: {1}", nameof(FillFlightList), ex.Message);
                return(null);
            }
        }
Пример #8
0
		/// <summary>
		/// Создаёт экземпляр класса с инициализацией полей
		/// </summary>
		public FlightSearchRSBody()
		{
			Flights = new FlightList();
		}
Пример #9
0
 /// <summary>
 /// Создаёт экземпляр класса с инициализацией полей
 /// </summary>
 public FlightSearchRSBody()
 {
     Flights = new FlightList();
 }
Пример #10
0
        public ActionResult CheckAvailablity(FlightViewModel viewModel)
        {
            try
            {
                var flights = db.FLIGHT_SCHEDULE.Where(f => f.AVAILABLE_FLIGHT_CITIES.Name.Contains(viewModel.OriginCity.ToUpper()) && f.AVAILABLE_FLIGHT_CITIES1.Name.Contains(viewModel.DestinationCity.ToUpper()) && f.DepartureDate > DateTime.Now).ToList();
                if (flights?.Count() > 0)
                {
                    foreach (var flight in flights)
                    {
                        var flightAvailablity = flight.FLIGHT_AVAILABLITY.Where(f => f.FlightId == flight.Id).FirstOrDefault();

                        var singleFlight = new FlightList()
                        {
                            FlightId        = flight.Id,
                            Mileage         = flight.Mileage,
                            DepartureDate   = flight.DepartureDate.ToString(),
                            FlightName      = flight.Name,
                            DestinationCity = flight.AVAILABLE_FLIGHT_CITIES1.Name,
                            OriginCity      = flight.AVAILABLE_FLIGHT_CITIES.Name,
                            TotalSeats      = flightAvailablity.TotalAvaliableSeats,
                            AvailableSeats  = (flightAvailablity.TotalAvaliableSeats - flightAvailablity.CurrentSeatsTaken)
                        };

                        viewModel.FlightList.Add(singleFlight);
                    }
                }
                else
                {
                    //Look for Connecting Flights And then Suggest to the User
                    var connectingFlight = db.FLIGHT_SCHEDULE.Where(f => f.AVAILABLE_FLIGHT_CITIES.Name.Contains(viewModel.OriginCity) && f.DepartureDate > DateTime.Now).ToList();
                    if (connectingFlight?.Count() > 0)
                    {
                        foreach (var flight in connectingFlight)
                        {
                            var flightAvailablity = flight.FLIGHT_AVAILABLITY.Where(f => f.FlightId == flight.Id).FirstOrDefault();

                            var singleFlight = new FlightList()
                            {
                                FlightId        = flight.Id,
                                Mileage         = flight.Mileage,
                                DepartureDate   = flight.DepartureDate.ToString(),
                                FlightName      = flight.Name,
                                DestinationCity = flight.AVAILABLE_FLIGHT_CITIES1.Name,
                                OriginCity      = flight.AVAILABLE_FLIGHT_CITIES.Name,
                                TotalSeats      = flightAvailablity.TotalAvaliableSeats,
                                AvailableSeats  = (flightAvailablity.TotalAvaliableSeats - flightAvailablity.CurrentSeatsTaken)
                            };

                            viewModel.ConnectingFlightList.Add(singleFlight);
                        }

                        SetMessage(new Message()
                        {
                            MessageText = "No direct flights were found for your search. Consider taking a connecting flight", MessageCategory = (int)MessageCategory.INFO
                        });
                    }
                    if (viewModel.ConnectingFlightList?.Count() < 1 && viewModel.FlightList?.Count() < 1)
                    {
                        SetMessage(new Message()
                        {
                            MessageText = "No flights were found for your search. Consider searching using the Cities listed below", MessageCategory = (int)MessageCategory.INFO
                        });
                        var availableCities = db.AVAILABLE_FLIGHT_CITIES.Where(c => c.Active).ToList();
                        if (availableCities?.Count() > 0)
                        {
                            List <string> cities = new List <string>();
                            foreach (var item in availableCities)
                            {
                                cities.Add(item.Name);
                            }

                            TempData["ValidCities"] = cities;
                            TempData.Keep();
                        }
                    }
                }
                return(View(viewModel));
            }
            catch (Exception ex) { throw ex; }
        }
Пример #11
0
 private void FlightListAdd(FlightListPageModel flight)
 {
     FlightList.Add(flight);
 }
Пример #12
0
 private void FlightListClear()
 {
     FlightList.Clear();
 }
Пример #13
0
        private void findButton_Click(object sender, EventArgs e)
        {
            //date filter
            DateTime startDate = Convert.ToDateTime("1900-01-01");
            DateTime endDate   = DateTime.Today.AddYears(30);

            if (noBeginDateRadioButton.Checked == true)
            {
                startDate = Convert.ToDateTime("1900-01-01");
            }
            else if (currentBeginDateRadioButton.Checked == true)
            {
                startDate = DateTime.Today;
            }
            else if (iWantToSelectBeginDateRadioButton.Checked == true)
            {
                startDate = startDateTimePicker.Value;
            }
            if (noEndDateRadioButton.Checked == true)
            {
                endDate = DateTime.Today.AddYears(30);
            }
            else if (iWantToSelectEndDateRadioButton.Checked == true)
            {
                endDate = endDateTimePicker.Value;
                endDate = endDate.AddHours(23);
                endDate = endDate.AddMinutes(59);
            }

            if (startDate > endDate)
            {
                MessageBox.Show("Введена дата початку не може бути більше кінцевої дати. Уточніть будь ласка умови пошуку.", "Введіть коректні дані", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else    //if date is correct
            {
                //place filter
                int _countryID = 0;
                int _cityID    = 0;
                int _airportID = 0;

                if (cityComboBox.Enabled == true)
                {
                    _cityID = Convert.ToInt32(cityComboBox.SelectedValue);
                }
                if (airportComboBox.Enabled == true)
                {
                    _airportID = Convert.ToInt32(airportComboBox.SelectedValue);
                }
                _countryID = Convert.ToInt32(countryComboBox.SelectedValue);

                //getting data
                FlightList fl = null;
                if (_countryID == 0 && _cityID == 0 && _airportID == 0)
                {
                    fl = FlightList.GetAllFlights(startDate, endDate);
                }
                else if (_countryID != 0 && _cityID == 0 && _airportID == 0)
                {
                    fl = FlightList.GetAllFlights(_countryID, startDate, endDate);
                }
                else if (_countryID != 0 && _cityID != 0 && _airportID == 0)
                {
                    fl = FlightList.GetAllFlights(_countryID, _cityID, startDate, endDate);
                }
                else if (_countryID != 0 && _cityID != 0 && _airportID != 0)
                {
                    fl = FlightList.GetAllFlights(_countryID, _cityID, _airportID, startDate, endDate);
                }


                //check if no errors
                if (fl == null)
                {
                    MessageBox.Show("Не вдалось підключитись до бази даних.", "Помилка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else if (fl != null)
                {
                    flightsDataGridView.DataSource = fl;
                }
            }//correct date
        }