示例#1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Affichage du message de reservation de sejour...\n");
            string[] nodeContent = Affichage_M1();
            Console.WriteLine("nom client: " + nodeContent[0] + "\nAdresse: " + nodeContent[1] + "\nDate: " + nodeContent[2] + "\nSéjour: " + nodeContent[3] + "\n");
            Console.WriteLine("\nAppuyez sur une touche pour passer à la suite...\n");
            Console.ReadKey();


            Console.WriteLine("Recherche du client dans la base de donnee...\n");
            string[] info_client = E2(nodeContent);
            Console.WriteLine("Verification d'une voiture disponible dans le parking du " + info_client[3] + " arrondissement...\n");
            string[] info = E3(info_client);
            Console.WriteLine("\nAppuyez sur une touche pour passer à la suite...\n");
            Console.ReadKey();


            DeserialiserFileJsonToObject();
            Console.WriteLine("Recherche d'un appartement disponible dans le 16ème arrondissement avce 1 chambre d'evaluation minimum de 4.5...\n");
            Logement loge = E5(DeserialiserFileJsonToObject());

            SerialiserObjectToFileJson(loge);
            Console.WriteLine("Appartement trouve.\nAffichage de l'appartement selectionne..\n");
            AfficherPrettyJson("reponse RBNP.json");
            Console.WriteLine("\n");


            Reservation_Sejour(info, loge);


            E6_Emission_M2(loge, info);
            string[] nodeContent2 = { "", "", "", "", "", "", "", "", "", "" };
            nodeContent2 = Affichage_M2();
            Console.WriteLine("theme: " + nodeContent2[0] + "\nDate: " + nodeContent2[1] + "\nInformation: " + nodeContent2[2] + "\nClient :\n   Nom :" + nodeContent2[3] + "\n" +
                              "   Num_Client :" + nodeContent2[4] + "\nLocation Voiture :\n    Nom parking : " + nodeContent2[5] + "\n    Numero place : " + nodeContent2[6] + "\n" +
                              "    Immatriculation : " + nodeContent2[7] + "\nAppartement :\n    Numero Appartement : " + nodeContent2[8] + "\n    Identifiant chambre : " + nodeContent2[9] + "\n");
            Console.WriteLine("\nAppuyez sur une touche pour passer à la suite...\n");
            Console.ReadKey();


            Console.WriteLine("En attente du message de confirmation du client...\n");
            Analyse_M3(info, loge);
            Console.WriteLine("\nAppuyez sur une touche pour passer a la suite...\n");
            Console.ReadKey();

            CheckOut(info, loge);
            Console.WriteLine("\nAppuyez sur une touche pour passer a la suite...\n");
            Console.ReadKey();

            Historique_Client(info);
            Console.WriteLine("\nAppuyez sur une touche pour passer a la suite...\n");
            Console.ReadKey();

            Historique_Maintenance(info);
            Console.WriteLine("\nAppuyez sur une touche pour passer a la suite...\n");
            Console.ReadKey();

            Console.WriteLine("Affichage de la rentabilite du vehicule...\n");
            Rentabilite_Voiture(info);
            Console.WriteLine("\nDemo terminee, appuyez sur une touche pour quitter.");
            Console.ReadKey();
        }
示例#2
0
        static void Analyse_M3(string[] info_client, Logement l)
        {
            string nomDuDocXML = "M3.xml";

            //créer l'arborescence des chemins XPath du document
            //--------------------------------------------------
            XPathDocument  doc = new System.Xml.XPath.XPathDocument(nomDuDocXML);
            XPathNavigator nav = doc.CreateNavigator();

            //créer une requete XPath
            //-----------------------
            string          maRequeteXPath = "/Validation_sejour/*";
            XPathExpression expr           = nav.Compile(maRequeteXPath);

            //exécution de la requete
            //-----------------------
            XPathNodeIterator nodes = nav.Select(expr);// exécution de la requête XPath

            //parcourir le resultat
            //---------------------
            string[] nodeContent = { "", "" };
            while (nodes.MoveNext())
            {
                nodeContent[0] = nodes.Current.ToString(); //ID sejour
                nodes.MoveNext();
                nodeContent[1] = nodes.Current.ToString(); //information sejour valide
                break;
            }
            Console.WriteLine("Affichage du message de validation du client...\n");
            Console.WriteLine("ID sejour : " + nodeContent[0] + "\nInformation : " + nodeContent[1] + "\n\n");

            if (nodeContent[1] == "sejour valide")
            {
                //string connectionString = "SERVER=localhost; PORT =3306;DATABASE=BOS_MAXI;UID=root;PASSWORD=Maximedu33360;";
                string          connectionString = "SERVER=fboisson.ddns.net; PORT =3306;DATABASE=BOS_MAXI;UID=S6-BOS-MAXI;PASSWORD=12066;";
                MySqlConnection connection       = new MySqlConnection(connectionString);
                connection.Open();
                MySqlCommand command = connection.CreateCommand();
                command.CommandText =
                    "UPDATE sejour SET validation_sejour=@info WHERE num_sejour=@num;";    //actualise le sejour a sejour valide
                command.Parameters.AddWithValue("@info", nodeContent[1]);
                command.Parameters.AddWithValue("@num", nodeContent[0]);
                MySqlDataReader reader;
                reader = command.ExecuteReader();
                connection.Close();

                connection.Open();
                MySqlCommand command1 = connection.CreateCommand();
                command1.CommandText =
                    "SELECT immat FROM sejour WHERE num_sejour=@num;";    //selectionne immatriculation
                command1.Parameters.AddWithValue("@num", nodeContent[0]);

                MySqlDataReader reader1;
                reader1 = command1.ExecuteReader();
                reader1.Read();
                string immat = "";
                immat = reader1.GetString("immat");
                connection.Close();


                connection.Open();
                MySqlCommand command2 = connection.CreateCommand();
                command2.CommandText =
                    "UPDATE voiture SET disponibilite='en location' WHERE immat=@immatriculation;";    //actualise le statut du vehicule
                command2.Parameters.AddWithValue("@immatriculation", immat);
                MySqlDataReader reader2;
                reader2 = command2.ExecuteReader();
                connection.Close();

                Console.WriteLine("Enregistrement du sejour...\n");
                Console.WriteLine("num_sejour : A3\nID_client : " + info_client[4] + "\n" + "theme : " + info_client[3] + "\ndate : " + info_client[2] + "\nvalidation_sejour : sejour valide\nimmat " + info_client[5] + "\nprix du sejour " + l.Price + "\nnum_reservation " + l.Room_id + "\n");
            }

            else
            {
                Console.WriteLine("Annulation du sejour...");
            }
        }
示例#3
0
        static void CheckOut(string[] info_client, Logement l)
        {
            //string connectionString = "SERVER=localhost; PORT =3306;DATABASE=BOS_MAXI;UID=root;PASSWORD=Maximedu33360;";
            string connectionString = "SERVER=fboisson.ddns.net; PORT =3306;DATABASE=BOS_MAXI;UID=S6-BOS-MAXI;PASSWORD=12066;";

            //Le client laisse la voiture a la place ou il l'a trouve
            MySqlConnection connection = new MySqlConnection(connectionString);

            Console.WriteLine("Fin du sejour, le client emet une note et un avis :\nAffichage du sejour :\nnum_sejour : A3\nID_client : " + info_client[4] + "\n" + "theme : " + info_client[3] + "\ndate : " + info_client[2] + "\nvalidation_sejour : sejour valide\nimmat " + info_client[5] + "\nprix du sejour " + l.Price + "\nnum_reservation " + l.Room_id + "\nnote : 5\ncommentaire ; Sejour tres agreable. Recommande vivement !\n");
            //choix arbitraire de la note et du commentaire

            connection.Open();
            MySqlCommand command3 = connection.CreateCommand();

            command3.CommandText =
                "SELECT nom_controleur FROM voiture WHERE immat=@immat;";     //la voiture part en maintenance donc est attribuee au parking 0
            command3.Parameters.AddWithValue("@immat", info_client[5]);
            MySqlDataReader reader3;

            reader3 = command3.ExecuteReader();
            reader3.Read();
            string nom_controleur = reader3.GetString("nom_controleur");

            connection.Close();
            Console.WriteLine("Le client rends la voiture qui va etre controlee par le controleur " + nom_controleur + ".\n");

            connection.Open();
            MySqlCommand command = connection.CreateCommand();

            command.CommandText =
                "UPDATE voiture SET arrondissement='0', num_place='0', disponibilite='en maintenance' WHERE immat=@immat;";     //la voiture part en maintenance donc est attribuee au parking 0
            command.Parameters.AddWithValue("@immat", info_client[5]);
            MySqlDataReader reader;

            reader = command.ExecuteReader();
            connection.Close();

            Console.WriteLine("Apres controle, il s'avere que la voiture a besoin d'un nettoyage, description de la maintenance :\n");

            connection.Open();
            MySqlCommand command1 = connection.CreateCommand();

            command1.CommandText =
                "INSERT INTO `BOS_MAXI`.`maintenance` (`codeM`, `type`, `date`, `immat`) VALUES('1', 'nettoyage', 'semaine 15', @immat2);";      //maintenance de la voiture, nettoyage
            command1.Parameters.AddWithValue("@immat2", info_client[5]);
            MySqlDataReader reader1;

            reader1 = command1.ExecuteReader();
            Console.WriteLine("codeM : 1\ntype : nettoyage\ndate: semaine 15\nimmatriculation : " + info_client[5] + ".\n");
            connection.Close();

            Console.WriteLine("Le nettoyage de la voiture a bien ete effectue. La voiture est de nouveau disponible dans le parking du " + info_client[3] + " arrondissement a la place " + info_client[7] + ".\n");
            connection.Open();
            MySqlCommand command2 = connection.CreateCommand();

            command2.CommandText =
                "UPDATE voiture SET disponibilite='disponible', num_place=@num_place, arrondissement=@arrond WHERE immat=@immat2;";     //la voiture est deplacee dans le parking ou le client l'a laisse
            command2.Parameters.AddWithValue("@immat2", info_client[5]);
            command2.Parameters.AddWithValue("@arrond", info_client[3]);
            command2.Parameters.AddWithValue("@num_place", info_client[7]);
            MySqlDataReader reader2;

            reader2 = command2.ExecuteReader();
            connection.Close();
        }
示例#4
0
        static void E6_Emission_M2(Logement l, string[] info_client)
        {
            XmlDocument docXml = new XmlDocument();

            // création de l'en-tête XML (no <=> pas de DTD associée)
            docXml.CreateXmlDeclaration("1.0", "UTF-8", "no");

            XmlElement racine = docXml.CreateElement("Sejour");

            docXml.AppendChild(racine);

            XmlElement Theme = docXml.CreateElement("Theme");

            Theme.InnerText = info_client[3];
            racine.AppendChild(Theme);

            XmlElement Date = docXml.CreateElement("Date");

            Date.InnerText = info_client[2];
            racine.AppendChild(Date);

            XmlElement Info = docXml.CreateElement("Information");

            Info.InnerText = "sejour valide";
            racine.AppendChild(Info);

            XmlElement Client = docXml.CreateElement("Client");

            racine.AppendChild(Client);

            XmlElement Nom = docXml.CreateElement("Nom");

            Nom.InnerText = info_client[0];
            Client.AppendChild(Nom);

            XmlElement Numero_Client = docXml.CreateElement("Num_Client");

            Numero_Client.InnerText = info_client[4];
            Client.AppendChild(Numero_Client);

            XmlElement Location_voiture = docXml.CreateElement("Location_Voiture");

            racine.AppendChild(Location_voiture);

            XmlElement Nom_Parking = docXml.CreateElement("Nom_Parking");

            Nom_Parking.InnerText = info_client[6];
            Location_voiture.AppendChild(Nom_Parking);

            XmlElement Num_Place = docXml.CreateElement("Numero_Place");

            Num_Place.InnerText = info_client[7];
            Location_voiture.AppendChild(Num_Place);

            XmlElement Immat = docXml.CreateElement("Immatriculation");

            Immat.InnerText = info_client[5];
            Location_voiture.AppendChild(Immat);

            XmlElement Location_appartement = docXml.CreateElement("Location_Appartement");

            racine.AppendChild(Location_appartement);

            XmlElement Numero_Appart = docXml.CreateElement("Numero_Appartement");

            Numero_Appart.InnerText = l.Host_id.ToString();
            Location_appartement.AppendChild(Numero_Appart);

            XmlElement Identif_chambre = docXml.CreateElement("Identifiant_Chambre");

            Identif_chambre.InnerText = l.Room_type;
            Location_appartement.AppendChild(Identif_chambre);

            // enregistrement du document XML   ==> à retrouver dans le dossier bin\Debug de Visual Studio
            docXml.Save("M2.xml");
        }