コード例 #1
0
        public static void GetUnCitoyenParLit(Lit lit)
        {
            Citoyen citoyen = new Citoyen();

            // On vérifie si la BD est connecté
            if (ConnexionBD.Instance().EstConnecte())
            {
                // Si oui, on execute la requête que l'on veut effectuer
                // SqlDR (MySqlDataReader) emmagasine une liste des citoyens de la BD
                ConnexionBD.Instance().ExecuterRequete(
                    "SELECT c.nom nomCit, c.prenom prenomCit, c.numAssuranceMaladie AssMal, g.nom nomGenre, c.dateNaissance dtNaiss, c.adresse uneAdresse, c.telephone numTel " +
                    "FROM citoyens c " +
                    "INNER JOIN genres g ON g.idGenre = c.idGenre " +
                    "INNER JOIN lits l ON l.idCitoyen = c.idCitoyen " +
                    "WHERE l.idLit = '" + lit._identifiant + "' "
                    , SqlDR => {
                    citoyen.Nom           = SqlDR.GetString("nomCit");
                    citoyen.Prenom        = SqlDR.GetString("prenomCit");
                    citoyen.AssMaladie    = SqlDR.GetString("AssMal");
                    citoyen.Genre         = (Genre)Enum.Parse(typeof(Genre), SqlDR.GetString("nomGenre"));
                    citoyen.DateNaissance = (DateTime)SqlDR.GetMySqlDateTime("dtNaiss");
                    citoyen.Adresse       = SqlDR.GetString("uneAdresse");
                    citoyen.NumTelephone  = SqlDR.GetString("numTel");
                }
                    );
            }

            lit.Citoyen = citoyen;
        }
コード例 #2
0
        public static Citoyen GetUnCitoyen(Citoyen citoyen)
        {
            // On crée un citoyen venant de la BD
            Citoyen InfosCitoyen = new Citoyen();

            // On vérifie si la BD est connecté
            if (ConnexionBD.Instance().EstConnecte())
            {
                // Si oui, on execute la requête que l'on veut effectuer
                // SqlDR (MySqlDataReader) emmagasine une liste des citoyens de la BD
                ConnexionBD.Instance().ExecuterRequete(
                    "SELECT c.nom nomCit, c.prenom prenomCit, c.numAssuranceMaladie AssMal, g.nom nomGenre, c.dateNaissance dtNaiss, c.adresse uneAdresse, c.telephone numTel " +
                    "FROM citoyens c " +
                    "INNER JOIN genres g ON g.idGenre = c.idGenre " +
                    "WHERE c.numAssuranceMaladie = '" + citoyen.AssMaladie + "' "
                    , SqlDR => {
                    InfosCitoyen.Nom           = SqlDR.GetString("nomCit");
                    InfosCitoyen.Prenom        = SqlDR.GetString("prenomCit");
                    InfosCitoyen.AssMaladie    = SqlDR.GetString("AssMal");
                    InfosCitoyen.Genre         = (Genre)Enum.Parse(typeof(Genre), SqlDR.GetString("nomGenre"));
                    InfosCitoyen.DateNaissance = (DateTime)SqlDR.GetMySqlDateTime("dtNaiss");
                    InfosCitoyen.Adresse       = SqlDR.GetString("uneAdresse");
                    InfosCitoyen.NumTelephone  = SqlDR.GetString("numTel");
                }
                    );
            }

            return(InfosCitoyen);
        }
コード例 #3
0
        public static Hospitalisation GetHospitalisation(Citoyen citoyen)
        {
            Hospitalisation hospitalisation = new Hospitalisation();

            // On vérifie si la BD est connecté
            if (ConnexionBD.Instance().EstConnecte())
            {
                // Si oui, on execute la requête que l'on veut effectuer
                ConnexionBD.Instance().ExecuterRequete(
                    "SELECT h.dateDebut dDebut, h.dateFin dFin, t.Nom NomTrait " +
                    "FROM hospitalisations h " +
                    "INNER JOIN citoyens c ON c.idCitoyen = h.idCitoyen " +
                    "INNER JOIN hospitalisationstraitements ht ON ht.idHospitalisation = h.idHospitalisation " +
                    "INNER JOIN traitements t ON t.idTraitement = ht.idTraitement " +
                    "INNER JOIN departements d ON d.idDepartement = t.idDepartement " +
                    "WHERE c.numAssuranceMaladie ='" + citoyen.AssMaladie + "' "
                    , lecteur =>
                {
                    hospitalisation.DateDebut = (DateTime)lecteur.GetMySqlDateTime("dDebut");
                    //hospitalisation.DateFin = lecteur.IsDBNull(lecteur.GetOrdinal("dFin")) ? new DateTime() : (DateTime)lecteur.GetMySqlDateTime("dFin");
                    hospitalisation.DateFin = (DateTime)lecteur.GetMySqlDateTime("dFin");
                }
                    );
            }

            return(hospitalisation);
        }
コード例 #4
0
        public static void PutChambres(int idDepartement, List <Chambre> chambres)
        {
            if (ConnexionBD.Instance().EstConnecte())
            {
                List <Chambre> chambresExistantes = GetChambres(idDepartement.ToString());
                List <Chambre> chambresASupprimer = new List <Chambre>();

                foreach (var chambreExistante in chambresExistantes)
                {
                    if (!chambres.Exists(c => c._identifiant == chambreExistante._identifiant))
                    {
                        chambresASupprimer.Add(chambreExistante);
                    }
                }

                foreach (var chambreASupprimer in chambresASupprimer)
                {
                    chambresExistantes.Remove(chambreASupprimer);
                    DeleteChambre(chambreASupprimer);
                }

                foreach (var chambre in chambres)
                {
                    if (!chambresExistantes.Exists(c => c._identifiant == chambre._identifiant))
                    {
                        PostChambre(idDepartement, chambre);
                    }
                    else
                    {
                        PutChambre(chambre);
                    }
                }
            }
        }
コード例 #5
0
        public static void PostEtapes(List <Etape> etapes, int idTraitement)
        {
            if (ConnexionBD.Instance().EstConnecte())
            {
                foreach (Etape etape in etapes)
                {
                    ConnexionBD.Instance().ExecuterRequete(
                        String.Format(
                            "INSERT INTO Etapes (description, idTraitement) " +
                            "VALUES ('{0}', {1})",
                            etape.Description, idTraitement
                            )
                        );

                    int idEtape = -1;
                    ConnexionBD.Instance().ExecuterRequete(
                        String.Format(
                            "SELECT idEtape " +
                            "FROM Etapes " +
                            "WHERE description = '{0}' AND idTraitement = {1}",
                            etape.Description, idTraitement
                            ), lecteur => idEtape = int.Parse(lecteur.GetString("idEtape"))
                        );
                    if (idEtape >= 0)
                    {
                        DataModelInstructionEtape.PostInstructions(new List <string>(etape.Instructions), idEtape);
                    }
                }
            }
        }
コード例 #6
0
 public static void PutDepartement(Departement departement)
 {
     if (ConnexionBD.Instance().EstConnecte())
     {
         if (departement.PersonnelMedicalEnChef == null)
         {
             ConnexionBD.Instance().ExecuterRequete(
                 string.Format(
                     "UPDATE Departements " +
                     "SET nom = '{0}', abreviation = '{1}', idEmploye = null " +
                     "WHERE idDepartement = {2} ",
                     departement.Nom,
                     departement.Abreviation,
                     departement._identifiant
                     )
                 );
         }
         else
         {
             ConnexionBD.Instance().ExecuterRequete(
                 string.Format(
                     "UPDATE Departements " +
                     "SET nom = '{0}', abreviation = '{1}', idEmploye = (SELECT idEmploye FROM Employes WHERE numEmploye = '{2}') " +
                     "WHERE idDepartement = {3} ",
                     departement.Nom,
                     departement.Abreviation,
                     departement.PersonnelMedicalEnChef.NumEmploye,
                     departement._identifiant
                     )
                 );
         }
         DataModelChambre.PutChambres(departement._identifiant, new List <Chambre>(departement.Chambres));
     }
 }
コード例 #7
0
        public static List <Employe> GetLstEmployesDepartement(Departement depSelectionne)
        {
            List <Employe> lstEmployes = new List <Employe>();

            if (ConnexionBD.Instance().EstConnecte())
            {
                string requete = "SELECT c.nom nomCit, c.prenom prenomCit, e.numEmploye nEmploye " +
                                 "FROM citoyens c " +
                                 "INNER JOIN employes e ON e.idCitoyen = c.idCitoyen " +
                                 "INNER JOIN quartsEmployes qe ON qe.idEmploye = e.idEmploye " +
                                 "INNER JOIN quarts q ON q.idQuart = qe.idQuart " +
                                 "INNER JOIN departements d ON d.idDepartement = q.idDepartement " +
                                 "WHERE d.nom = '" + depSelectionne.Nom + "' " +
                                 "GROUP BY nEmploye " +
                                 "ORDER BY nomCit ";
                ConnexionBD.Instance().ExecuterRequete(requete, SqlDR =>
                {
                    lstEmployes.Add(new Employe
                    {
                        Nom        = SqlDR.GetString("nomCit"),
                        Prenom     = SqlDR.GetString("prenomCit"),
                        NumEmploye = SqlDR.GetString("nEmploye"),
                    });
                });
            }

            return(lstEmployes);
        }
コード例 #8
0
        // On rend static la fonction pour être en mesure de l'utiliser partout
        public static List <Prescription> GetPrescriptionsCitoyens(String NumAssMaladie)
        {
            // On crée une liste de citoyen venant de la BD
            List <Prescription> lstPrescriptions = new List <Prescription>();

            // On vérifie si la BD est connecté
            if (ConnexionBD.Instance().EstConnecte())
            {
                // Si oui, on execute la requête que l'on veut effectuer
                // SqlDR (MySqlDataReader) emmagasine une liste des citoyens de la BD
                ConnexionBD.Instance().ExecuterRequete(
                    "SELECT produit prod, posologie poso, prescriptions.dateDebut Ddebut, nbJour nbj " +
                    "FROM prescriptions " +
                    "INNER JOIN evenements e on e.idEvenement = prescriptions.idEvenement " +
                    "INNER JOIN hospitalisations h on h.idHospitalisation = e.idHospitalisation " +
                    "INNER JOIN citoyens c on c.idCitoyen = h.idCitoyen " +
                    "WHERE c.numAssuranceMaladie = '" + NumAssMaladie +
                    "' AND (prescriptions.dateDebut + INTERVAL nbJour DAY >= CURDATE() OR nbJour = 0) "

                    , SqlDR => {
                    lstPrescriptions.Add(new Prescription
                    {
                        Produit   = SqlDR.GetString("prod"),
                        Posologie = SqlDR.GetString("poso"),
                        DateDebut = SqlDR.GetDateTime("Ddebut"),
                        NbJour    = SqlDR.GetUInt16("nbj")
                    });
                }
                    );
            }

            return(lstPrescriptions);
        }
コード例 #9
0
        public static void AddResultatLabo(Hospitalisation hospit, ResultatLabo resultLabo, int numEmp)
        {
            resultLabo.DateEvenement   = DateTime.Now;
            resultLabo.EmployeImplique = DataModelEmploye.GetEmploye(numEmp);

            if (ConnexionBD.Instance().EstConnecte())
            {
                string requete = string.Format("INSERT INTO evenements " +
                                               "(idHospitalisation, idEmploye, dateHeure, estNotifier) " +
                                               "VALUES (" +
                                               "(SELECT idHospitalisation FROM hospitalisations WHERE dateDebut = '{0}')," +
                                               "{1}," +
                                               "'{2}'," +
                                               "{3})", hospit.DateDebut.ToString(), numEmp, resultLabo.DateEvenement.ToString(), resultLabo.EstNotifier);


                ConnexionBD.Instance().ExecuterRequete(requete);

                requete = string.Format("INSERT INTO resultatsLabo " +
                                        "(idEvenement, lienImage, nomAnalyse) " +
                                        "VALUES (" +
                                        "(SELECT idEvenement FROM evenements WHERE dateHeure = '{0}')," +
                                        "'{1}'," +
                                        "'{2}')"
                                        , resultLabo.DateEvenement.ToString(), resultLabo.LienImage, resultLabo.NomAnalyse);

                ConnexionBD.Instance().ExecuterRequete(requete);
                ControlModel.ControlModelDossierPatientResultatsLabo.LstResultsLabo.Add(resultLabo);
            }
        }
コード例 #10
0
        public static Traitement GetTraitement(string nom, bool expand = false)
        {
            Traitement traitement = null;

            if (ConnexionBD.Instance().EstConnecte())
            {
                ConnexionBD.Instance().ExecuterRequete(
                    String.Format(
                        "SELECT t.idTraitement _id, t.nom traitement, d.nom departement, d.abreviation dept " +
                        "FROM Traitements t " +
                        "JOIN Departements d ON d.idDepartement = t.idDepartement " +
                        "WHERE t.nom = '{0}'",
                        nom
                        ), lecteur =>
                {
                    traitement = new Traitement
                    {
                        IdTraitment        = int.Parse(lecteur.GetString("_id")),
                        Nom                = lecteur.GetString("traitement"),
                        DepartementAssocie = new Departement
                        {
                            Nom         = lecteur.GetString("departement"),
                            Abreviation = lecteur.GetString("dept")
                        }
                    };
                }
                    );
                if (expand && traitement != null && traitement.IdTraitment >= 0)
                {
                    traitement.EtapesTraitement = new ObservableCollection <Etape>(DataModelEtape.GetEtapes(traitement.IdTraitment, true));
                }
            }

            return(traitement);
        }
コード例 #11
0
        public static void AddPrescription(Hospitalisation hospit, Prescription prescript, int numEmp)
        {
            prescript.DateEvenement   = DateTime.Now;
            prescript.EmployeImplique = DataModelEmploye.GetEmploye(numEmp);

            if (ConnexionBD.Instance().EstConnecte())
            {
                string requete = string.Format("INSERT INTO evenements " +
                                               "(idHospitalisation, idEmploye, dateHeure, estNotifier) " +
                                               "VALUES (" +
                                               "(SELECT idHospitalisation FROM hospitalisations WHERE dateDebut = '{0}')," +
                                               "{1}," +
                                               "'{2}'," +
                                               "{3})", hospit.DateDebut.ToString(), numEmp, prescript.DateEvenement.ToString(), prescript.EstNotifier);


                ConnexionBD.Instance().ExecuterRequete(requete);

                requete = string.Format("INSERT INTO Prescriptions " +
                                        "(idEvenement, produit, posologie, dateDebut, nbJour) " +
                                        "VALUES (" +
                                        "(SELECT idEvenement FROM evenements WHERE dateHeure = '{0}')," +
                                        "'{1}'," +
                                        "'{2}'," +
                                        "'{3}'," +
                                        "{4})"
                                        , prescript.DateEvenement.ToString(), prescript.Produit, prescript.Posologie, prescript.DateDebut.ToString(), prescript.NbJour);

                ConnexionBD.Instance().ExecuterRequete(requete);
                ControlModel.ControlModelDossierPatientPrescriptions.LstPrescriptions.Add(prescript);
            }
        }
コード例 #12
0
        public static void AddNoteInf(Hospitalisation hospit, NoteInfirmiere noteInf, int numEmp)
        {
            noteInf.DateEvenement   = DateTime.Now;
            noteInf.EmployeImplique = DataModelEmploye.GetEmploye(numEmp);

            if (ConnexionBD.Instance().EstConnecte())
            {
                string requete = string.Format("INSERT INTO evenements " +
                                               "(idHospitalisation, idEmploye, dateHeure, estNotifier) " +
                                               "VALUES (" +
                                               "(SELECT idHospitalisation FROM hospitalisations WHERE dateDebut = '{0}')," +
                                               "{1}," +
                                               "'{2}'," +
                                               "{3})", hospit.DateDebut.ToString(), numEmp, noteInf.DateEvenement.ToString(), noteInf.EstNotifier);


                ConnexionBD.Instance().ExecuterRequete(requete);

                requete = string.Format("INSERT INTO NotesInfirmiere " +
                                        "(idEvenement, note) " +
                                        "VALUES (" +
                                        "(SELECT idEvenement FROM evenements WHERE dateHeure = '{0}')," +
                                        "'{1}')"
                                        , noteInf.DateEvenement.ToString(), noteInf.NotesInf);

                ConnexionBD.Instance().ExecuterRequete(requete);
                ControlModel.ControlModelDossierPatientNotesInf.LstNotesInf.Add(noteInf);
            }
        }
コード例 #13
0
        public static void PostTraitement(Traitement traitement)
        {
            if (ConnexionBD.Instance().EstConnecte())
            {
                ConnexionBD.Instance().ExecuterRequete(
                    String.Format(
                        "INSERT INTO Traitements (nom, idDepartement) " +
                        "VALUES ( " +
                        "   '{0}', " +
                        "   (SELECT idDepartement FROM Departements WHERE abreviation = '{1}') " +
                        ")",
                        traitement.Nom, traitement.DepartementAssocie.Abreviation
                        )
                    );

                int idTraitement = -1;
                ConnexionBD.Instance().ExecuterRequete(
                    String.Format(
                        "SELECT t.idTraitement " +
                        "FROM Traitements t " +
                        "JOIN Departements d ON d.idDepartement = t.idDepartement " +
                        "WHERE t.nom = '{0}' AND d.abreviation = '{1}'",
                        traitement.Nom, traitement.DepartementAssocie.Abreviation
                        ), lecteur => idTraitement = int.Parse(lecteur.GetString("idTraitement"))
                    );
                if (idTraitement >= 0)
                {
                    DataModelEtape.PostEtapes(new List <Etape>(traitement.EtapesTraitement), idTraitement);
                }
            }
        }
コード例 #14
0
        /// <summary>
        /// Sert à s'assurer que les dernières hospitalisations ont été terminées lorsqu'un nouvelle hospitalisation a été créée pour un patient
        /// </summary>
        /// <param name="citoyen"></param>
        public static void PutHospitalisationTerminees(Citoyen citoyen)
        {
            Hospitalisation hospitalisation = new Hospitalisation();

            // On vérifie si la BD est connecté
            if (ConnexionBD.Instance().EstConnecte())
            {
                //hospitalisation = GetHospitalisation(citoyen);

                // On met fin au traitement de l'hospitalisation à terminer
                ConnexionBD.Instance().ExecuterRequete(
                    "UPDATE hospitalisationstraitements ht " +
                    "SET ht.estEnCours = 'false' " +
                    "WHERE ht.idHospitalisation = (SELECT idHospitalisation FROM hospitalisations h WHERE (h.dateFin = '0001-01-01 00:00:00' OR h.dateFin IS NULL) " +
                    "AND h.idCitoyen = (SELECT idCitoyen FROM citoyens c WHERE c.numAssuranceMaladie = '" + citoyen.AssMaladie + "')) "
                    );

                // Si oui, on execute la requête que l'on veut effectuer
                ConnexionBD.Instance().ExecuterRequete(
                    "UPDATE hospitalisations h " +
                    "SET h.dateFin = '" + DateTime.Now + "' " +
                    "WHERE (h.dateFin = '0000-00-00 00:00:00' OR h.dateFin IS NULL) " +
                    "AND h.idCitoyen = (SELECT idCitoyen FROM citoyens c WHERE c.numAssuranceMaladie = '" + citoyen.AssMaladie + "') "
                    );
            }
        }
コード例 #15
0
        public static List <Employe> GetEmployes()
        {
            List <Employe> lstEmployes = new List <Employe>();

            if (ConnexionBD.Instance().EstConnecte())
            {
                string requete = "SELECT c.nom nm, c.prenom prm, numEmploye numEmp, p.nom poste, e.idEmploye id " +
                                 "FROM employes e " +
                                 "INNER JOIN  postes p ON p.idPoste = e.idPoste " +
                                 "INNER JOIN citoyens c ON c.idCitoyen = e.idCitoyen;";
                ConnexionBD.Instance().ExecuterRequete(requete, SqlDR =>
                {
                    lstEmployes.Add(new Employe
                    {
                        idEmploye  = SqlDR.GetInt16("id"),
                        NumEmploye = SqlDR.GetString("numEmp"),
                        Nom        = SqlDR.GetString("nm"),
                        Prenom     = SqlDR.GetString("prm"),
                        Poste      = SqlDR.GetString("poste")
                    });
                });
            }

            /*SELECT c.nom, c.prenom, numEmploye, p.nom
             *      FROM employes e
             *  INNER JOIN  postes p ON p.idPoste = e.idPoste
             *  INNER JOIN citoyens c ON c.idCitoyen = e.idCitoyen;*/

            return(lstEmployes);
        }
コード例 #16
0
        /// <summary>
        /// Retrieve every "Equipement" linked to the "Chambre" with id {idChambre}.
        /// </summary>
        /// <param name="idChambre"></param>
        /// <returns>Every "Equipement" linked to the "Chambre" with id {idChambre}</returns>
        public static List <Equipement> GetEquipements(int idChambre)
        {
            List <Equipement> equipements = new List <Equipement>();

            if (ConnexionBD.Instance().EstConnecte())
            {
                ConnexionBD.Instance().ExecuterRequete(
                    string.Format(
                        "SELECT e.idEquipement _id, nom, description " +
                        "FROM Equipements e " +
                        "JOIN ChambresEquipements ce ON e.idEquipement = ce.idEquipement " +
                        "WHERE ce.idChambre = {0}",
                        idChambre
                        ), lecteur => equipements.Add(
                        new Equipement
                {
                    _identifiant = int.Parse(lecteur.GetString("_id")),
                    Nom          = lecteur.GetString("nom"),
                    Description  = lecteur.GetString("description")
                }
                        )
                    );
            }

            return(equipements);
        }
コード例 #17
0
        public static List <Notification> GetNotifications(Employe employe)
        {
            List <Notification> notifications = new List <Notification>();

            if (ConnexionBD.Instance().EstConnecte())
            {
                ConnexionBD.Instance().ExecuterRequete(
                    String.Format(
                        "SELECT n.message, n.lien, n.estLu " +
                        "FROM Notifications n " +
                        "JOIN Employes e ON n.idEmploye = e.idEmploye " +
                        "WHERE e.numEmploye = '{0}' " +
                        "ORDER BY idNotification DESC", // Change for ORDER BY date- DESC, when date- is added to the database.
                        employe.NumEmploye
                        ), lecteur =>
                {
                    notifications.Add(
                        new Notification
                    {
                        Message = lecteur.GetString("message"),
                        LienNotificationEcran = JsonConvert.DeserializeObject <LienNotificationEcran>(lecteur.GetString("lien")),
                        EstLu = Boolean.Parse(lecteur.GetString("estLu"))
                    }
                        );
                }
                    );
            }

            return(notifications);
        }
コード例 #18
0
        public static bool existQuart(QuartEmploye quart)
        {
            QuartEmploye qe = null;

            if (ConnexionBD.Instance().EstConnecte())
            {
                // Si oui, on execute la requête que l'on veut effectuer
                // SqlDR (MySqlDataReader) emmagasine une liste des citoyens de la BD
                ConnexionBD.Instance().ExecuterRequete(
                    "SELECT date dt, dep.nom nmDep, shift.periode typeQ " +
                    "FROM quarts qe " +
                    "INNER JOIN periodesjournee shift on shift.idPeriodeJournee = qe.idPeriodeJournee " +
                    "INNER JOIN departements dep on dep.idDepartement = qe.idDepartement " +
                    "WHERE qe.date = '" + quart.Date.ToShortDateString() + "' && shift.periode = '" + quart.TypeDeQuart + "' && dep.nom = '" + quart.DepartementAssocie.Nom + "';"

                    , SqlDR =>
                {
                    qe = new QuartEmploye
                    {
                        Date = SqlDR.GetDateTime("dt"),
                        DepartementAssocie = new Departement
                        {
                            Nom = SqlDR.GetString("nmDep")
                        },
                        TypeDeQuart = (TypeQuart)System.Enum.Parse(typeof(TypeQuart), SqlDR.GetString("typeQ"))
                    };
                });
            }

            return(qe != null);
        }
コード例 #19
0
        public static List <Lit> GetLits(int idChambre)
        {
            List <Lit> lits = new List <Lit>();

            if (ConnexionBD.Instance().EstConnecte())
            {
                ConnexionBD.Instance().ExecuterRequete(
                    string.Format(
                        "SELECT l.idLit _id, l.numero, el.nom etat " +
                        "FROM Lits l " +
                        "JOIN EtatsLits el ON l.idEtatLit = el.idEtatLit " +
                        "WHERE idChambre = {0}",
                        idChambre
                        ), lecteur => lits.Add(
                        new Lit
                {
                    _identifiant = int.Parse(lecteur.GetString("_id")),
                    Numero       = lecteur.GetString("numero"),
                    EtatLit      = (EtatLit)Enum.Parse(typeof(EtatLit), lecteur.GetString("etat"))
                }
                        )
                    );
            }

            return(lits);
        }
コード例 #20
0
 public static void Delete(Citoyen citoyen)
 {
     if (ConnexionBD.Instance().EstConnecte())
     {
         ConnexionBD.Instance().ExecuterRequete(
             string.Format("DELETE FROM Citoyens WHERE numAssuranceMaladie = '{0}'", citoyen.AssMaladie));
     }
 }
コード例 #21
0
 public static ConnexionBD Instance()
 {
     if (instance == null)
     {
         instance = new ConnexionBD();
     }
     return(instance);
 }
コード例 #22
0
        public static void PostHospitalisation(Citoyen citoyen, Hospitalisation hospitalisation, Traitement traitement, Chambre chambre, Lit lit)
        {
            if (ConnexionBD.Instance().EstConnecte())
            {
                PutHospitalisationTerminees(citoyen);

                // On crée la nouvelle hospitalisation liée au patient
                ConnexionBD.Instance().ExecuterRequete(

                    "INSERT INTO hospitalisations (idCitoyen, dateDebut, dateFin, contexte) " +
                    "VALUES ((SELECT idCitoyen FROM citoyens c WHERE c.numAssuranceMaladie = '" + citoyen.AssMaladie + "'), " +
                    "'" + hospitalisation.DateDebut.ToString() + "', " +
                    "'" + hospitalisation.DateFin.ToString() + "', " +
                    "'" + hospitalisation.Contexte + "') "
                    );

                // On crée la nouvelle liste de symptôme lié à l'hospitalisation
                hospitalisation.LstSymptomes.ForEach(symptome => {
                    ConnexionBD.Instance().ExecuterRequete(

                        "INSERT INTO symptomes (idHospitalisation, description, estActif) " +
                        "VALUES ((SELECT idHospitalisation FROM hospitalisation h " +
                        "INNER JOIN citoyen c ON c.idCitoyen = h.idCitoyen " +
                        "WHERE h.dateDebut = '" + hospitalisation.DateDebut.ToString() + "' AND " +
                        "c.numAssuranceMaladie = '" + citoyen.AssMaladie + "' ), " +     // Fin de la valeur idHospitalisation
                        "'" + symptome.Description + "', " +
                        "'" + symptome.EstActif + "') ");
                });

                // Ensuite, il faut créer le lien en bd entre l'hospitalisation et le traitement assigné
                ConnexionBD.Instance().ExecuterRequete(

                    "INSERT INTO hospitalisationstraitements (idHospitalisation, idTraitement, estEnCours) " +
                    "VALUES ((SELECT idHospitalisation FROM hospitalisations h INNER JOIN citoyens c WHERE (c.numAssuranceMaladie = '" + citoyen.AssMaladie + "') AND (h.dateDebut = '" + hospitalisation.DateDebut.ToString() + "')), " +
                    "(SELECT idTraitement FROM traitements t WHERE t.nom = '" + traitement.Nom + "'), " +
                    "true) "
                    );

                PutHospitalisationTraitement(hospitalisation, traitement);

                // Ensuite, il faut mettre à jour le lit dans lequel le citoyen est hospitalisé s'il a été assigné dans un lit disponible
                // Si le citoyen était assigné à un autre lit, il faut le sortir de ce lit pour le libérer.
                // TODO: Il va falloir mettre l'ancien lit en entretien par défaut lorsque l'infirmière-chef aura le menu pour modifier l'état des lits
                if (citoyen.Lit.Numero != null)
                {
                    DataModelLit.PutAncienLitCitoyen(citoyen);
                }

                if (lit != null)
                {
                    DataModelLit.PutNouveauLitCitoyen(lit, citoyen);
                }

                //On change le lit du patient dans la mémoire aussi!
                citoyen.Lit = lit;
            }
        }
コード例 #23
0
 public static void Delete(Usager usager)
 {
     if (ConnexionBD.Instance().EstConnecte())
     {
         ConnexionBD.Instance().ExecuterRequete(
             string.Format("DELETE FROM Usagers WHERE nomUtilisateur = '{0}'", usager.NomUtilisateur));
         DataModelEmploye.Delete(usager as Employe);
     }
 }
コード例 #24
0
 public static void Delete(Employe employe)
 {
     if (ConnexionBD.Instance().EstConnecte())
     {
         ConnexionBD.Instance().ExecuterRequete(
             string.Format("DELETE FROM Employes WHERE numEmploye = '{0}'", employe.NumEmploye));
         DataModelCitoyen.Delete(employe as Citoyen);
     }
 }
コード例 #25
0
        // ****** FÉLIX, tu peux utiliser cette requête pour l'infirmière-chef!! *******
        // On rend static la fonction pour être en mesure de l'utiliser partout
        public static List <Citoyen> GetTousCitoyensDepartement(Departement departementSelectionne)
        {
            // On crée une liste de citoyen venant de la BD
            List <Citoyen> lstCitoyen = new List <Citoyen>();

            // On vérifie si la BD est connecté
            if (ConnexionBD.Instance().EstConnecte())
            {
                // Si oui, on execute la requête que l'on veut effectuer
                // SqlDR (MySqlDataReader) emmagasine une liste des citoyens de la BD
                ConnexionBD.Instance().ExecuterRequete(
                    "SELECT c.nom nomCit, c.prenom prenomCit, c.numAssuranceMaladie AssMal, c.dateNaissance DNaissance, c.telephone Tel, c.Adresse AdresseCit, " +
                    "g.nom NomGenre, " +
                    "d.nom nomDep, " +
                    "ch.nom nomCh, " +
                    "l.numero numeroLit, " +
                    "el.nom EtLitNom " +
                    "FROM citoyens c " +
                    "INNER JOIN genres g ON g.idGenre = c.idGenre " +
                    "INNER JOIN lits l ON l.idCitoyen = c.idCitoyen " +
                    "INNER JOIN etatslits el ON el.idEtatLit = l.idEtatLit " +
                    "INNER JOIN chambres ch ON ch.idChambre = l.idChambre " +
                    "INNER JOIN departements d ON d.idDepartement = ch.idDepartement " +
                    "WHERE d.nom = '" + departementSelectionne.Nom + "' "
                    , SqlDR => {
                    lstCitoyen.Add(new Citoyen
                    {
                        Nom           = SqlDR.GetString("nomCit"),
                        Prenom        = SqlDR.GetString("prenomCit"),
                        AssMaladie    = SqlDR.GetString("AssMal"),
                        Genre         = (Genre)Enum.Parse(typeof(Genre), SqlDR.GetString("NomGenre")),
                        DateNaissance = (DateTime)SqlDR.GetMySqlDateTime("DNaissance"),
                        NumTelephone  = SqlDR.GetString("Tel"),
                        Adresse       = SqlDR.GetString("AdresseCit"),

                        Lit = new Lit
                        {
                            Numero  = SqlDR.GetString("numeroLit"),
                            EtatLit = (EtatLit)Enum.Parse(typeof(EtatLit), SqlDR.GetString("EtLitNom")),
                            Chambre = new Chambre
                            {
                                Numero        = SqlDR.GetString("nomCh"),
                                UnDepartement = new Departement
                                {
                                    Nom = SqlDR.GetString("nomDep"),
                                }
                            }
                        }
                    });
                }
                    );
            }

            return(lstCitoyen);
        }
コード例 #26
0
        public static void DELETE_quartEmploye(QuartEmploye qe)
        {
            string requete = string.Format("DELETE FROM quartsEmployes " +
                                           "WHERE idQuart = (SELECT idQuart FROM quarts WHERE date = '{0}' " +
                                           "&& idDepartement = (SELECT idDepartement FROM departements WHERE nom = '{1}') " +
                                           "&& idPeriodeJournee = (SELECT idPeriodeJournee FROM periodesjournee WHERE periode = '{2}')) " +
                                           "&& idEmploye = {3};",
                                           qe.Date.ToShortDateString(), qe.DepartementAssocie.Nom, qe.TypeDeQuart, qe.Employe.idEmploye);

            ConnexionBD.Instance().ExecuterRequete(requete);
        }
コード例 #27
0
        public static Departement GetDepartement(string abreviation, string expand = "")
        {
            Departement departement = null;

            if (ConnexionBD.Instance().EstConnecte())
            {
                int idEmployeChef = -1;
                ConnexionBD.Instance().ExecuterRequete(
                    string.Format(
                        "SELECT idDepartement _id, nom, abreviation, idEmploye " +
                        "FROM Departements " +
                        "WHERE abreviation = '{0}'",
                        abreviation
                        ), lecteur =>
                {
                    departement = new Departement
                    {
                        _identifiant = int.Parse(lecteur.GetString("_id")),
                        Nom          = lecteur.GetString("nom"),
                        Abreviation  = lecteur.GetString("abreviation")
                    };
                    if (!lecteur.IsDBNull(lecteur.GetOrdinal("idEmploye")))
                    {
                        idEmployeChef = int.Parse(lecteur.GetString("idEmploye"));
                    }
                }
                    );

                if (departement != null)
                {
                    departement.PersonnelMedicalEnChef = (idEmployeChef >= 0 ? null : DataModelEmploye.GetEmploye(idEmployeChef));
                    if (expand.Contains("chambres"))
                    {
                        StringBuilder expandPropagation = new StringBuilder();
                        if (expand.Contains("lits"))
                        {
                            expandPropagation.Append("lits ");
                        }
                        if (expand.Contains("equipements"))
                        {
                            expandPropagation.Append("equipements ");
                        }
                        departement.Chambres = new ObservableCollection <Chambre>(
                            DataModelChambre.GetChambres(
                                departement._identifiant.ToString(),
                                expandPropagation.ToString()
                                )
                            );
                    }
                }
            }
            return(departement);
        }
コード例 #28
0
 public static void DeleteInstructions(int idEtape)
 {
     if (ConnexionBD.Instance().EstConnecte())
     {
         ConnexionBD.Instance().ExecuterRequete(
             String.Format(
                 "DELETE FROM SousEtapes " +
                 "WHERE idEtape = {0}",
                 idEtape
                 )
             );
     }
 }
コード例 #29
0
 public static void DeleteLit(Lit lit)
 {
     if (ConnexionBD.Instance().EstConnecte())
     {
         ConnexionBD.Instance().ExecuterRequete(
             string.Format(
                 "DELETE FROM Lits " +
                 "WHERE idLit = {0}",
                 lit._identifiant
                 )
             );
     }
 }
コード例 #30
0
 public static void DeleteLits(int idChambre)
 {
     if (ConnexionBD.Instance().EstConnecte())
     {
         ConnexionBD.Instance().ExecuterRequete(
             string.Format(
                 "DELETE FROM Lits " +
                 "WHERE idChambre = {0}",
                 idChambre
                 )
             );
     }
 }