예제 #1
0
        private void remplirComboEPN()
        {
            MySqlConnection cnn = new MySqlConnection(Parametres.connectionString);
            DataSet ds_EPN;
            string sql = string.Empty;
            
            // récupération de l'id et du nom de la salle
            Salle salle = new Salle(Parametres.poste_nom);

            try
            {
                sql = "SELECT tab_espace.* FROM tab_espace WHERE tab_espace.id_espace ='" + salle.idEspace + "'";

                MySqlDataAdapter da_EPN = new MySqlDataAdapter(sql, cnn);
                MySqlCommandBuilder cb = new MySqlCommandBuilder(da_EPN);

                ds_EPN = new DataSet();
                da_EPN.Fill(ds_EPN);

                comboBox_EPN.DisplayMember = "nom_espace";
                comboBox_EPN.ValueMember = "id_espace";

                comboBox_EPN.DataSource = ds_EPN.Tables[0];
                if (ds_EPN.Tables[0].Rows.Count == 0)
                {
                    comboBox_EPN.Text = "";
                }

            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine("Connexion echouée !!" + ex.ToString());
            }

        }
예제 #2
0
        private void MainForm_Shown(object sender, EventArgs e)
        {

            if (Parametres.debug == "all")
            {
                MainForm.writeLog("mainForm.cs->MainForm_Shown");
            }


            notifyIcon1.Icon = Properties.Resources.logo_256;
            notifyIcon1.Text = "LGBConnect";
            notifyIcon1.Visible = true;
            notifyIcon1.ShowBalloonTip(5000, "LGB Connect", "Chargé !", ToolTipIcon.Info);
            groupBox_inscription.Hide();
            this.Hide();

            // récupération de l'id et du nom de la salle
            poste = new Poste(Parametres.poste_id);
            Salle salle = new Salle(Parametres.poste_nom);
            Espace espace = new Espace(salle.idEspace);

            lbl_Espace.Text = espace.nom + "\n" + salle.nom;

            // on vérifie que pour l'espace sélectionné, il y a une config logiciel dans cyberGestionnaire.
            // Pour le moment, cette configuration ne sert qu'à déterminer s'il faut afficher la page de préinscription
            configLogiciel = new ConfigLogiciel(salle.idEspace);

            if (configLogiciel.exists() && configLogiciel.pageInscription)
            {
                groupBox_inscription.Show();
                if (Parametres.debug == "all")
                {
                    MainForm.writeLog("mainForm.cs->MainForm_Shown : préinscription activée !");
                }
            }
            else
            {
                groupBox_inscription.Hide();
                if (Parametres.debug == "all")
                {
                    MainForm.writeLog("mainForm.cs->MainForm_Shown : préinscription désactivée");
                }
            }

            // verification en base si une reservation est deja active sur le poste
            // si c'est le cas, il y a eu un problème avec le logiciel...
            // 2 solutions possibles :
            // - on clot de force la réservation. On pourrait analyser le temps passé en fonction des données de la résa,
            //   mais si on considère qu'il y a eu un probleme, ce n'est sans doute pas la bonne approche.
            //   Il est sans doute préférable de clore la résa avec une durée = 0 pour ne pas pénaliser l'usager
            // - on rouvre le poste avec l'identifiant trouvé dans la résa. Charge ensuite à frm_temps de se dépatouiller avec ca.
            //   Ce n'est pas l'approche que je retiens

            int idResa = Resa.verifierResaEnCours(Parametres.poste_id);
            while (idResa != 0)
            {
                Resa resa = new Resa(idResa);
                resa.annuler();
                idResa = Resa.verifierResaEnCours(Parametres.poste_id);
            }


            if (Parametres.poste_type == "usager")
            {
                if (Parametres.debug == "all")
                {
                    MainForm.writeLog("mainForm.cs->MainForm_Shown : poste usager : blocage demandé");
                }

                Fonction.blocageGestionnaireDesTaches(true);
                Fonction.blocageChangementMotDePasse(true);
                goFullscreen(true);
            }
            if (Parametres.poste_type == "animateur")
            {
                if (Parametres.debug == "all")
                {
                    MainForm.writeLog("mainForm.cs->MainForm_Shown : poste animateur");
                }

            }
            this.Show();
            timer_MAJEtat_Tick(null, null);
        }