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; } }
public static void PutChambre(Chambre chambre) { if (ConnexionBD.Instance().EstConnecte()) { ConnexionBD.Instance().ExecuterRequete( string.Format( "UPDATE Chambres " + "SET nom = '{0}' " + "WHERE idChambre = {1}", chambre.Numero, chambre._identifiant ) ); DataModelLit.PutLits(chambre._identifiant, new List <Lit>(chambre.Lits)); DataModelEquipement.DeleteEquipementsChambre(chambre._identifiant); DataModelEquipement.PostEquipementsChambres(chambre._identifiant, new List <Equipement>(chambre.Equipements)); } }
public static List <Chambre> GetChambres(string idDepartement, string extends = "") { List <Chambre> chambres = new List <Chambre>(); if (ConnexionBD.Instance().EstConnecte()) { List <int> idChambres = new List <int>(); ConnexionBD.Instance().ExecuterRequete( string.Format( "SELECT idChambre _id, nom " + "FROM Chambres " + "WHERE idDepartement = {0}", idDepartement ), lecteur => { chambres.Add(new Chambre { _identifiant = int.Parse(lecteur.GetString("_id")), Numero = lecteur.GetString("nom") }); if (extends != "") { idChambres.Add(int.Parse(lecteur.GetString("_id"))); } } ); for (int i = 0; i < idChambres.Count; ++i) { if (extends.ToLower().Contains("lits")) { chambres[i].Lits = new ObservableCollection <Lit>(DataModelLit.GetLits(idChambres[i])); } if (extends.ToLower().Contains("equipements")) { chambres[i].Equipements = new ObservableCollection <Equipement>(DataModelEquipement.GetEquipements(idChambres[i])); } } } return(chambres); }
public static void PostChambre(int idDepartement, Chambre chambre) { if (ConnexionBD.Instance().EstConnecte()) { ConnexionBD.Instance().ExecuterRequete( string.Format( "INSERT INTO Chambres (nom, idDepartement) " + "VALUES ('{0}', {1}) ", chambre.Numero, idDepartement ) ); int idChambre = GetIdChambre(chambre.Numero); if (idChambre != -1) { DataModelLit.PostLits(idChambre, new List <Lit>(chambre.Lits)); DataModelEquipement.PostEquipementsChambres(idChambre, new List <Equipement>(chambre.Equipements)); } } }
public static void DeleteChambre(Chambre chambre) { if (ConnexionBD.Instance().EstConnecte()) { ConnexionBD.Instance().ExecuterRequete( string.Format( "DELETE FROM Chambres " + "WHERE idChambre = {0}", chambre._identifiant ) ); if (chambre.Lits != null && chambre.Lits.Count > 0) { DataModelLit.DeleteLits(chambre._identifiant); } if (chambre.Equipements != null && chambre.Equipements.Count > 0) { DataModelEquipement.DeleteEquipementsChambre(chambre._identifiant); } } }