コード例 #1
0
        private void Edit(object sender, DataGridCellEditEndingEventArgs e)
        {
            if (e.EditAction == DataGridEditAction.Commit)
            {
                DataGridColumn column = e.Column;
                if (column != null)
                {
                    string   column_nom = (string)column.Header;
                    TextBox  el         = e.EditingElement as TextBox;
                    Aeroport aeroport   = DAL_Aeroport.GetAeroport(IdAeroport);

                    switch (column_nom)
                    {
                    case "Nom":
                        aeroport.Nom = el.Text;
                        break;

                    case "Ville":
                        ComboBox co = e.EditingElement as ComboBox;
                        aeroport.Ville = (string)co.SelectionBoxItem;
                        break;

                    case "AITA":
                        aeroport.AITA = el.Text;
                        break;

                    default:
                        break;
                    }
                    DAL_Aeroport.ModifierAeroport(aeroport.Id, aeroport.Nom, DAL_Ville.FindByName(aeroport.Ville).Id, aeroport.AITA);
                }
            }
        }
コード例 #2
0
        public void CountItemsTest()
        {
            string name = "TestName";
            var    aer  = new Aeroport <IPassengerAviation <IEngine> >(name, aviation);

            Assert.AreEqual(aviation.Count, aer.Count);
        }
コード例 #3
0
        public static void Main(string[] args)
        {
            var aer = new Aeroport <IPassengerAviation <IEngine> >("Кольцово");

            FillAer(aer, 15, 10);
            //Посадим в каждое судно случайное количество пассажиров
            Random r = new Random();

            foreach (var avia in aer)
            {
                avia.PlacePassenger(r.Next(0, avia.Capacity));
            }
            //Конвертируем коллекцию в строку
            Console.WriteLine(aer.ConvertToString());
            //Находим, куда можно посадить 3 пассажира
            var tmpAvia = aer.FindByFreePlaces(3);

            if (tmpAvia != null)
            {
                Console.WriteLine("В этом судне достаточно мест:\n" + tmpAvia.ConvertToString());
            }
            //Находим все пустые воздушные суда
            Console.WriteLine(aer.FindAllEmpty().ConvertToString());
            Console.ReadKey();
        }
コード例 #4
0
        public void IndexTest()
        {
            string name = "TestName";
            var    aer  = new Aeroport <IPassengerAviation <IEngine> >(name, aviation);

            Assert.AreEqual(aer[0], aviation[0]);
        }
コード例 #5
0
        public void PrintSomeInfoTest()
        {
            string name = "TestName";
            var    aer  = new Aeroport <IPassengerAviation <IEngine> >(name, aviation);

            Assert.DoesNotThrow(() => aer.PrintSomeInfo((a) => a.Engaged));
        }
コード例 #6
0
        public void SortAsyncTest()
        {
            string name = "TestName";
            var    aer  = new Aeroport <IPassengerAviation <IEngine> >(name, aviation);
            Random r    = new Random();

            foreach (var avia in aer)
            {
                avia.PlacePassenger(r.Next(100));
            }
            aer.Comparer = (a, b) => a.Engaged.CompareTo(b.Engaged);
            //aer.PrintAviation();
            Task t = new Task(() => aer.SortAsynk());

            t.Start();
            t.Wait();
            bool sorted = true;

            for (int i = 1; i < aer.Count; ++i)
            {
                if (aer[i].Engaged > aer[i - 1].Engaged)
                {
                    sorted = false;
                }
            }
            Assert.AreEqual(true, sorted);
        }
コード例 #7
0
        public void DoSmthTest()
        {
            string name = "TestName";
            var    aer  = new Aeroport <IPassengerAviation <IEngine> >(name, aviation);

            Assert.DoesNotThrow(() => aer.DoSmth((a) => a.PlacePassenger(1)));
        }
コード例 #8
0
        public void WorkTests()
        {
            var binSer  = new BinarySerializer <Plane <ReactiveEngine> >();
            var xmlSer  = new XmlCustomSerializer <Plane <ReactiveEngine> >();
            var jsonSer = new JsonSerializer <Plane <ReactiveEngine> >();

            var aer = new Aeroport <Plane <ReactiveEngine> >("Кольцово");

            for (int i = 0; i < 10; ++i)
            {
                aer.Add(new Plane <ReactiveEngine>(100, 20000, "SuperJet", new ReactiveEngine("DoublePower")));
            }
            var aerCopy = aer;

            binSer.Serialize(aer, "aerBinary.dat");
            aer = binSer.Deserialize("aerBinary.dat");

            xmlSer.Serialize(aer, "aerXML.xml");
            aer = xmlSer.Deserialize("aerXML.xml");


            jsonSer.Serialize(aer, "aerjson.json");
            aer = jsonSer.Deserialize("aerjson.json");
            for (int i = 0; i < aer.Count; ++i)
            {
                Assert.AreEqual(aer.Aviation[i].Model, aerCopy.Aviation[i].Model);
                Assert.AreEqual(aer.Aviation[i].Capacity, aerCopy.Aviation[i].Capacity);
            }
        }
コード例 #9
0
        public void PrintTest()
        {
            string name = "TestName";
            var    aer  = new Aeroport <IPassengerAviation <IEngine> >(name, aviation);

            Assert.DoesNotThrow(() => aer.PrintAviation());
        }
コード例 #10
0
ファイル: Program.cs プロジェクト: ArturRush/DotNet
        /// <summary>
        /// Метод перевода коллекции в json-строку
        /// </summary>
        /// <typeparam name="T">Тип обобощенной коллекции</typeparam>
        /// <param name="aer">Коллекция</param>
        /// <returns>json-строка с объектами коллекции</returns>
        public static string ConvertToString <T>(this Aeroport <T> aer) where T : IPassengerAviation <IEngine>
        {
            ExtensionLogger.Log("Вызван метод конвертации коллекции в строку");
            var wrapper = new AeroportWrapper <T>(aer);

            return(JsonConvert.SerializeObject(wrapper, Formatting.Indented));
        }
コード例 #11
0
        public void ExceptionsTest()
        {
            var av = new Plane <ReactiveEngine>(10, 20000, "qwe", new ReactiveEngine("dfs"));

            try
            {
                Assert.Throws <PassPlaceException>(() => { av.PlacePassenger(-5); });
            }
            catch (UserException usEx)
            {
                ExceptionLogger.LogUserException(usEx);
            }
            IAeroport <IPassengerAviation <IEngine> > aer = new Aeroport <IPassengerAviation <IEngine> >("Кольцово");

            aer.Add(av);
            try
            {
                Assert.Throws <Exception>(() =>
                {
                    av.SendMessage(aer[30], "Не сработает, нет такого элемента, системное исключение");
                });
            }
            catch (Exception ex)
            {
                ExceptionLogger.LogSystemException(ex);
            }
            try
            {
                Assert.Throws <NoTargetExeption>(() => { av.SendMessage(null, "Не сработает, нет  цели, пользовательское исключение"); });
            }
            catch (UserException usEx)
            {
                ExceptionLogger.LogUserException(usEx);
            }
        }
コード例 #12
0
        public void Serialize(Aeroport <T> avia, string filePath)
        {
            AeroportWrapper <T> wrap = new AeroportWrapper <T>(avia);
            var json = JsonConvert.SerializeObject(wrap, Formatting.Indented);

            File.WriteAllText(filePath, json);
        }
コード例 #13
0
        public void ClearAeroportTest()
        {
            string name = "TestName";
            var    aer  = new Aeroport <IPassengerAviation <IEngine> >(name, aviation);

            aer.Clear();
            Assert.AreEqual(0, aer.Count);
        }
コード例 #14
0
        public void GetAviaTest()
        {
            string name = "TestName";
            var    aer  = new Aeroport <IPassengerAviation <IEngine> >(name, aviation);
            var    tmp1 = aer.GetAvia(0, 0);

            Assert.AreEqual(aer[aer.Count - 1], tmp1);
        }
コード例 #15
0
 public void Serialize(Aeroport <T> avia, string filePath)
 {
     using (Stream fStream = new FileStream(filePath,
                                            FileMode.Create, FileAccess.Write, FileShare.None))
     {
         _binFormat.Serialize(fStream, avia);
     }
 }
コード例 #16
0
 public AboutMe(Aeroport a)
 {
     InitializeComponent();
     Title                = a.Nomination;
     nom.Content          = a.Nomination;
     localisation.Content = a.Ville + " " + a.PaysLocal.Nom;
     code.Content         = a.Code;
 }
コード例 #17
0
        public void AddItemTest()
        {
            string name = "TestName";
            var    aer  = new Aeroport <IPassengerAviation <IEngine> >(name, aviation);
            var    tmp  = new Plane <ReactiveEngine>(40, 3, "NotInAer", new ReactiveEngine("Eng"));

            aer.Add(tmp);
            Assert.AreEqual(tmp, aer[aer.Count - 1]);
        }
コード例 #18
0
        private void ComboAero_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            //recupération id Aéroport select
            Aeroport aeroselect = (Aeroport)comboAero.SelectedItem;
            ObservableCollection <AvionInAero> aia = new ObservableCollection <AvionInAero>();

            aebdd.SelectAvionAeroports(aia, aeroselect.idAeroportProperty);
            listeAvionAero.ItemsSource = aia;
        }
コード例 #19
0
        public void ContainsItemTest()
        {
            string name     = "TestName";
            var    aer      = new Aeroport <IPassengerAviation <IEngine> >(name, aviation);
            var    notInAer = new Plane <ReactiveEngine>(40, 3, "NotInAer", new ReactiveEngine("Eng"));
            var    inAer    = aer[0];

            Assert.AreEqual(false, aer.Contains(notInAer));
            Assert.AreEqual(true, aer.Contains(inAer));
        }
コード例 #20
0
        public void CreateTest1()
        {
            string name    = "TestName";
            var    aerTest = new Aeroport <IPassengerAviation <IEngine> >(name);

            Assert.AreEqual(name, aerTest.Name);
            Assert.AreEqual(null, aerTest.Sorter);
            Assert.AreEqual(null, aerTest.Comparer);
            Assert.AreEqual(null, aerTest.Progressor);
        }
コード例 #21
0
        public void Serialize(Aeroport <T> avia, string filePath)
        {
            var wrap = new AeroportWrapper <T>(avia);

            using (Stream fStream = new FileStream(filePath,
                                                   FileMode.Create, FileAccess.Write, FileShare.None))
            {
                _xmlFormat.Serialize(fStream, wrap);
            }
        }
コード例 #22
0
        public void RemoveItemTest()
        {
            string name = "TestName";
            var    aer  = new Aeroport <IPassengerAviation <IEngine> >(name, aviation);
            var    tmp  = new Plane <ReactiveEngine>(40, 3, "NotInAer", new ReactiveEngine("Eng"));

            aer.Add(tmp);
            aer.Remove(tmp);
            Assert.AreEqual(false, aer.Contains(tmp));
        }
コード例 #23
0
        //Requête SQL pour mettre à jour un aéroport dans la base de données.
        public static void UpdateAeroport(Aeroport aero)
        {
            connection.Open();
            string       query = "UPDATE Aeroport SET aita=\"" + aero.AitaProperty + "\",pays=\"" + aero.PaysProperty + "\",ville=\"" + aero.VilleProperty + "\" WHERE id=" + aero.IdProperty + "";
            MySqlCommand cmd   = new MySqlCommand(query, connection);

            //MySqlDataAdapter sqlDataAdap = new MySqlDataAdapter(cmd);
            cmd.ExecuteNonQuery();
            connection.Close();
        }
コード例 #24
0
ファイル: Program.cs プロジェクト: ArturRush/DotNet
        public static void Main(string[] args)
        {
            var aer = new Aeroport <IPassengerAviation <IEngine> >("Кольцово");

            FillAer(aer, 10, 10);

            Console.WriteLine(aer.ConvertToString());


            Console.ReadKey();
        }
コード例 #25
0
ファイル: Program.cs プロジェクト: ArturRush/DotNet
 /// <summary>
 /// Находит первое вхождение судна, у которого имеется достаточно свободных мест
 /// </summary>
 /// <param name="aer">Коллекция</param>
 /// <returns>Судно, либо null, если таковых не найдено</returns>
 public static IPassengerAviation <IEngine> FindByFreePlaces(this Aeroport <IPassengerAviation <IEngine> > aer, int places)
 {
     ExtensionLogger.Log("Вызван метод поиска пустого судна");
     foreach (var aero in aer)
     {
         if (aero.Capacity - aero.Engaged > places)
         {
             return(aero);
         }
     }
     return(null);
 }
コード例 #26
0
 /// <summary>
 /// Находит первое вхождение судна, у которого имеется достаточно свободных мест
 /// </summary>
 /// <param name="aer">Коллекция</param>
 /// <returns>Судно, либо null, если таковых не найдено</returns>
 public static IPassengerAviation <IEngine> FindByFreePlaces(this Aeroport <IPassengerAviation <IEngine> > aer, int places)
 {
     ExtensionLogger.Log("Вызван метод поиска судна с достаточным количеством мест");
     foreach (var aero in aer)
     {
         if (aero.Capacity - aero.Engaged > places)
         {
             return(aero);
         }
     }
     ExtensionLogger.Log("Нет судна с достаточным количеством мест");
     return(null);
 }
コード例 #27
0
ファイル: Program.cs プロジェクト: ArturRush/DotNet
        /// <summary>
        /// Возвращает все пустые воздушные судна из коллекции
        /// </summary>
        /// <typeparam name="T">тип обобщенной коллекции</typeparam>
        /// <param name="aer">Коллекция пустых самолетов</param>
        /// <returns></returns>
        public static Aeroport <T> FindAllEmpty <T>(this Aeroport <T> aer) where T : IPassengerAviation <IEngine>
        {
            ExtensionLogger.Log("Вызван метод поиска всех пустых суден");
            var res = new Aeroport <T>("temp");

            foreach (var aero in aer)
            {
                if (aero.Engaged == 0)
                {
                    res.Add(aero);
                }
            }
            return(res);
        }
コード例 #28
0
        public Simulateur(FlightAndAirportManager mana)
        {
            #region Initialisation
            Manager     = mana;
            Debut       = new DateTime();
            Currenttime = new DateTime();
            new SelectionSimulateur(this).ShowDialog();
            InitializeComponent();

            Monaeroport    = new Aeroport();
            Volprogcol     = new ObservableSortableSerializableList <VolProgramme>();
            Volprogaffiche = new ObservableSortableSerializableList <VolProgramme>();

            try
            {
                Monaeroport.LoadFromXML(Manager.Datapath + "\\" + Manager.Code + "Aeroport.xml");
            }
            catch (FileNotFoundException)
            {
                Monaeroport.Code = Manager.Code;
            }

            try
            {
                Volprogcol.LoadFromXML(Manager.Datapath + "\\" + "Volprog.xml");
                Volprogcol.Sort();
                foreach (VolProgramme v in Volprogcol)
                {
                    if (v.Vol.AeroportDepart.Code == Monaeroport.Code)
                    {
                        Volprogaffiche.Add(v);
                    }
                }
            }
            catch (FileNotFoundException) { }
            #endregion

            Volprogaffiche.Sort();
            mainGrid.DataContext = Volprogaffiche;
            Currenttime          = Debut;
            aeroport.Content     = Monaeroport.Nomination.ToUpper();
            Date.Content         = "DATE : " + Debut.ToLongDateString();
            vitesse.Content      = "VITESSE : " + Vitesse.ToString() + "minute par seconde";
            time.Content         = Debut.ToShortTimeString();
            Ticker          = new Timer();
            Ticker.Interval = 1000;
            Ticker.Tick    += Ticker_Tick;
            Ticker.Start();
        }
コード例 #29
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //this.DropDownList1.Items.Add("hello");

            /*if (Session["IdAeroport"] != null)
             * {
             *  return;
             * }*/

            DBConnection dbc = new DBConnection();

            try
            {
                //MAKA NY LISTE AN AEROPORT REHETRA ATAO ANATINLE DROPDOWNLIST1
                //Manokatra connection keely
                dbc.OpenConnection();
                List <Aeroport> allAirports = Aeroport.getAirports(dbc);
                foreach (Aeroport a in allAirports)
                {
                    this.DropDownList1.Items.Add(a.villeAeroport + "             " + "[" + a.id_aeroport + "]");
                }

                /*foreach (Aeroport a in allAirports)
                 * {
                 *  this.DropDownList1.Va
                 *  this.DropDownList1.Items.Add(a.ville+' '+a.code_aeroport);
                 * }
                 * /*string input = this.TextBox1.Text;
                 * Aeroport currentAirport = new Aeroport("AE3");
                 *
                 * dbc.OpenConnection();
                 * currentAirport.getAllFlightsAirport(dbc);
                 * List<Vol> vols = currentAirport.getVols();
                 * //TableRow row = new TableRow();
                 * foreach(Vol v in vols)
                 * {
                 *  //TableCell cell = new TableCell();
                 *  //cell.Text = v.idVol;
                 *  this.DropDownList1.Items.Add(v.id_Vol);
                 * }*/
            }catch (Exception exc)
            {
                throw exc;
            }
            finally
            {
                dbc.CloseConnection();
            }
        }
コード例 #30
0
        //Requête SQL pour sélectionner tous les aéroports dans la base de données.
        public static void SelectAeroport(ObservableCollection <Aeroport> ObsColAeroport)
        {
            connection.Close();
            connection.Open();
            string          query  = "SELECT aero.id,aero.aita,aero.pays,aero.ville FROM aeroport aero Group BY aero.id";
            MySqlCommand    cmd    = new MySqlCommand(query, connection);
            MySqlDataReader reader = cmd.ExecuteReader();

            while (reader.Read())
            {
                Aeroport aero = new Aeroport(reader.GetInt32(0), reader.GetString(1), reader.GetString(2), reader.GetString(3));
                ObsColAeroport.Add(aero);
            }
            reader.Close();
            connection.Close();
        }