/// <summary> /// Constructeur spécifique /// </summary> /// <param name="Connexion">Connexion au serveur MySQL</param> /// <param name="Enregistrement">Enregistrement d'où extraire les valeurs de champs</param> public VehiculeCaracteristique(PDSGBD.MyDB Connexion, PDSGBD.MyDB.IEnregistrement Enregistrement) : this() { DefinirId(Enregistrement.ValeurChampComplet <int>(NomDeLaTablePrincipale, "id_vehicule_caracteristique")); this.Valeur = Enregistrement.ValeurChampComplet <string>(NomDeLaTablePrincipale, "valeur"); this.Caracteristique = new Caracteristique(Connexion, Enregistrement); }
public Scenario(PDSGBD.MyDB Connexion, PDSGBD.MyDB.IEnregistrement Enregistrement) : this() { base.Connexion = Connexion; if (Enregistrement != null) { DefinirId(Enregistrement.ValeurChampComplet <int>(NomDeLaTablePrincipale, "sc_id")); this.Name = Enregistrement.ValeurChampComplet <string>(NomDeLaTablePrincipale, "sc_name"); } }
/// <summary> /// Constructeur spécifique /// </summary> /// <param name="Connexion"> Connexion au serveur MySQL</param> /// <param name="Enregistrement"> Enregistrement d'où extraire les valeurs des champs</param> public ArmyUnityStuff(PDSGBD.MyDB Connexion, PDSGBD.MyDB.IEnregistrement Enregistrement) : this() { base.Connexion = Connexion; if (Enregistrement != null) { DefinirId(Enregistrement.ValeurChampComplet <int>(NomDeLaTablePrincipale, "ars_id")); this.ArmyUnity = new ArmyUnity(Connexion, Enregistrement); this.Stuff = new Stuff(Connexion, Enregistrement); } }
/// <summary> /// Constructeur spécifique /// </summary> /// <param name="Connexion"> Connexion au serveur MySQL</param> /// <param name="Enregistrement"> Enregistrement d'où extraire les valeurs des champs</param> public Scenario_Camp(PDSGBD.MyDB Connexion, PDSGBD.MyDB.IEnregistrement Enregistrement) : this() { base.Connexion = Connexion; if (Enregistrement != null) { DefinirId(Enregistrement.ValeurChampComplet <int>(NomDeLaTablePrincipale, "sca_id")); this.Camp = new Camp(Connexion, Enregistrement); this.Scenario = new Scenario(Connexion, Enregistrement); this.CondiCamp = EnumererCondiCamp(); } }
/// <summary> /// Constructeur spécifique /// </summary> /// <param name="Connexion"> Connexion au serveur MySQL</param> /// <param name="Enregistrement"> Enregistrement d'où extraire les valeurs des champs</param> public CharactFeature(PDSGBD.MyDB Connexion, PDSGBD.MyDB.IEnregistrement Enregistrement) : this() { base.Connexion = Connexion; if (Enregistrement != null) { DefinirId(Enregistrement.ValeurChampComplet <int>(NomDeLaTablePrincipale, "crf_id")); this.CharactRank = new CharactRank(Connexion, Enregistrement); this.Feature = new Feature(Connexion, Enregistrement); this.Value = Enregistrement.ValeurChampComplet <int>(NomDeLaTablePrincipale, "crf_value"); } }
/// <summary> /// Constructeur spécifique /// </summary> /// <param name="Connexion">Connexion au serveur MySQL</param> /// <param name="Enregistrement">Enregistrement d'où extraire les valeurs de champs</param> public Utilisateur(PDSGBD.MyDB Connexion, PDSGBD.MyDB.IEnregistrement Enregistrement) : this() { if (Enregistrement != null) { DefinirId(Enregistrement.ValeurChampComplet <int>(NomDeLaTablePrincipale, "u_id")); this.Login = Enregistrement.ValeurChampComplet <string>(NomDeLaTablePrincipale, "u_name"); this.MotDePasse = Enregistrement.ValeurChampComplet <string>(NomDeLaTablePrincipale, "u_password"); this.Role = new Role(Connexion, Enregistrement); } }
/// <summary> /// Constructeur spécifique /// </summary> /// <param name="Connexion">Connexion au serveur MySQL</param> /// <param name="Enregistrement">Enregistrement d'où extraire les valeurs de champs</param> public SubUnity(PDSGBD.MyDB Connexion, PDSGBD.MyDB.IEnregistrement Enregistrement) : this() { base.Connexion = Connexion; if (Enregistrement != null) { DefinirId(Enregistrement.ValeurChampComplet <int>(NomDeLaTablePrincipale, "su_id")); this.Name = Enregistrement.ValeurChampComplet <string>(NomDeLaTablePrincipale, "su_name"); this.SousFaction = new SousFaction(); this.Unity = new Unity(); } }
/// <summary> /// Constructeur spécifique /// </summary> /// <param name="Connexion">Connexion au serveur MySQL</param> /// <param name="Enregistrement">Enregistrement d'où extraire les valeurs de champs</param> public Figurine(PDSGBD.MyDB Connexion, PDSGBD.MyDB.IEnregistrement Enregistrement) : this() { base.Connexion = Connexion; if (Enregistrement != null) { DefinirId(Enregistrement.ValeurChampComplet <int>(NomDeLaTablePrincipale, "fi_id")); this.Charact = new Charact(Connexion, Enregistrement); this.Utilisateur = new Utilisateur(Connexion, Enregistrement); } }
/// <summary> /// Constructeur spécifique /// </summary> /// <param name="Connexion">Connexion au serveur MySQL</param> /// <param name="Enregistrement">Enregistrement d'où extraire les valeurs de champs</param> public FactureVente(PDSGBD.MyDB Connexion, PDSGBD.MyDB.IEnregistrement Enregistrement) : this() { DefinirId(Enregistrement.ValeurChampComplet <int>(NomDeLaTablePrincipale, "id_facture_vente")); this.NumeroFacture = Enregistrement.ValeurChampComplet <string>(NomDeLaTablePrincipale, "numero_facture"); this.DateVente = Enregistrement.ValeurChampComplet <DateTime>(NomDeLaTablePrincipale, "date_vente"); this.RemiseSurReprise = Enregistrement.ValeurChampComplet <double>(NomDeLaTablePrincipale, "remise_sur_reprise"); this.PourcentageTva = Enregistrement.ValeurChampComplet <int>(NomDeLaTablePrincipale, "pourcentage_tva"); this.VehiculeVente = new VehiculeVente(Connexion, Enregistrement); this.Client = new Client(Connexion, Enregistrement); this.Employe = new Employe(Connexion, Enregistrement); }
/// <summary> /// Constructeur spécifique /// </summary> /// <param name="Connexion"> Connexion au serveur MySQL</param> /// <param name="Enregistrement"> Enregistrement d'où extraire les valeurs des champs</param> public StuffCharactRank(PDSGBD.MyDB Connexion, PDSGBD.MyDB.IEnregistrement Enregistrement) : this() { base.Connexion = Connexion; if (Enregistrement != null) { DefinirId(Enregistrement.ValeurChampComplet <int>(NomDeLaTablePrincipale, "scr_id")); this.CharactRank = new CharactRank(Connexion, Enregistrement); this.Stuff = new Stuff(Connexion, Enregistrement); this.Max = Enregistrement.ValeurChampComplet <int>(NomDeLaTablePrincipale, "scr_max"); this.Min = Enregistrement.ValeurChampComplet <int>(NomDeLaTablePrincipale, "scr_min"); this.Cout = Enregistrement.ValeurChampComplet <int>(NomDeLaTablePrincipale, "scr_cost"); } }
/// <summary> /// Constructeur spécifique /// </summary> /// <param name="Connexion">Connexion au serveur MySQL</param> /// <param name="Enregistrement">Enregistrement d'où extraire les valeurs de champs</param> public Client(PDSGBD.MyDB Connexion, PDSGBD.MyDB.IEnregistrement Enregistrement) : this() { base.Connexion = Connexion; DefinirId(Enregistrement.ValeurChampComplet <int>(NomDeLaTablePrincipale, "id_client")); this.Nom = Enregistrement.ValeurChampComplet <string>(NomDeLaTablePrincipale, "nom_client"); this.Prenom = Enregistrement.ValeurChampComplet <string>(NomDeLaTablePrincipale, "prenom_client"); this.DateNaissance = Enregistrement.ValeurChampComplet <DateTime>(NomDeLaTablePrincipale, "date_naissance_client"); this.Email = Enregistrement.ValeurChampComplet <string>(NomDeLaTablePrincipale, "email_client"); this.NumeroTelephone = Enregistrement.ValeurChampComplet <string>(NomDeLaTablePrincipale, "numero_telephone_client"); this.Rue = Enregistrement.ValeurChampComplet <string>(NomDeLaTablePrincipale, "nom_de_rue_client"); this.NumeroHabitation = Enregistrement.ValeurChampComplet <string>(NomDeLaTablePrincipale, "numero_habitation_client"); this.Civilite = new Civilite(Connexion, Enregistrement); this.Adresse = new Adresse(Connexion, Enregistrement); }
/// <summary> /// Constructeur spécifique /// </summary> /// <param name="Connexion">Connexion au serveur MySQL</param> /// <param name="Enregistrement">Enregistrement d'où extraire les valeurs de champs</param> public Vehicule(PDSGBD.MyDB Connexion, PDSGBD.MyDB.IEnregistrement Enregistrement) : this() { base.Connexion = Connexion; if (Enregistrement != null) { DefinirId(Enregistrement.ValeurChampComplet <int>(NomDeLaTablePrincipale, "id_vehicule")); this.Modele = Enregistrement.ValeurChampComplet <string>(NomDeLaTablePrincipale, "modele"); this.PrixVehicule = Enregistrement.ValeurChampComplet <double>(NomDeLaTablePrincipale, "prix_vehicule"); this.NomImage = Enregistrement.ValeurChampComplet <string>(NomDeLaTablePrincipale, "nom_image"); this.TempsLivraison = Enregistrement.ValeurChampComplet <int>(NomDeLaTablePrincipale, "temps_livraison"); this.Disponible = Enregistrement.ValeurChampComplet <int>(NomDeLaTablePrincipale, "disponible"); this.TypeVehicule = new TypeVehicule(Connexion, Enregistrement); } }
/// <summary> /// Permet d'énumérer les entités correspondant aux enregistrements énumérés /// </summary> /// <param name="Connexion">Connexion au serveur MySQL</param> /// <param name="Enregistrements">Enregistrements énumérés, sources des entités à créer</param> /// <returns>Enumération des entités issues des enregistrements énumérés</returns> public static IEnumerable <Scenario_Camp> Enumerer(PDSGBD.MyDB Connexion, IEnumerable <PDSGBD.MyDB.IEnregistrement> Enregistrements) { return(Enumerer(Enregistrements, Enregistrement => new Scenario_Camp(Connexion, Enregistrement))); }
/// <summary> /// Permet d'énumérer les entités correspondant aux enregistrements énumérés /// </summary> /// <param name="Connexion">Connexion au serveur MySQL</param> /// <param name="Enregistrements">Enregistrements énumérés, sources des entités à créer</param> /// <returns>Enumération des entités issues des enregistrements énumérés</returns> public static IEnumerable <FactureVente> Enumerer(PDSGBD.MyDB Connexion, IEnumerable <PDSGBD.MyDB.IEnregistrement> Enregistrements) { return(Enumerer(Enregistrements, Enregistrement => new FactureVente(Connexion, Enregistrement))); }
/// <summary> /// Permet d'énumérer les entités correspondant aux enregistrements énumérés /// </summary> /// <param name="Connexion">Connexion au serveur MySQL</param> /// <param name="Enregistrements">Enregistrements énumérés, sources des entités à créer</param> /// <returns>Enumération des entités issues des enregistrements énumérés</returns> public static IEnumerable <CharactFeature> Enumerer(PDSGBD.MyDB Connexion, IEnumerable <PDSGBD.MyDB.IEnregistrement> Enregistrements) { return(Enumerer(Enregistrements, Enregistrement => new CharactFeature(Connexion, Enregistrement))); }
/// <summary> /// Permet d'énumérer les entités correspondant aux enregistrements énumérés /// </summary> /// <param name="Connexion">Connexion au serveur MySQL</param> /// <param name="Enregistrements">Enregistrements énumérés, sources des entités à créer</param> /// <returns>Enumération des entités issues des enregistrements énumérés</returns> public static IEnumerable <ArmyUnityStuff> Enumerer(PDSGBD.MyDB Connexion, IEnumerable <PDSGBD.MyDB.IEnregistrement> Enregistrements) { return(Enumerer(Enregistrements, Enregistrement => new ArmyUnityStuff(Connexion, Enregistrement))); }
/// <summary> /// Permet d'exécuter une requête d'action /// </summary> /// <param name="Requete">Requête SQL à exécuter (doit être de type INSERT, UPDATE ou DELETE)</param> /// <param name="Valeurs">Valeurs des parties variables</param> /// <returns>Objet décrivant le résultat de l'opération</returns> public IResultatExecution Executer(string Requete, params object[] Valeurs) { string MessageErreur = string.Empty; for (int NombreEchecs = 0; NombreEchecs < 2; NombreEchecs++) { MyDB ConnexionUtilisee = null; try { // Vérification de l'état théorique de la connexion if (!EstConnecte) { throw new Exception("Pas de connexion établie au serveur MySql"); } // Vérification qu'il s'agit bien d'une requête d'action if (EstRequeteConsultation(Requete)) { throw new Exception("Une requête de consultation ne peut pas faire l'objet de la méthode MyDB.Executer()"); } // Création d'une nouvelle connexion si il y a une lecture en cours if (EstEnCoursDeLecture) { ConnexionUtilisee = new MyDB(this); if (!ConnexionUtilisee.EstConnecte) { throw new Exception("Aucune nouvelle connexion n'a pu être établie vers le serveur MySql"); } } else { ConnexionUtilisee = this; } // Création de la commande SQL MySqlCommand Commande = ConnexionUtilisee.CreerCommande(Requete, Valeurs); int NombreEnregistrementsAffectes = Commande.ExecuteNonQuery(); if (EstRequeteInsertion(Requete)) { if (ConnexionUtilisee != this) { ConnexionUtilisee.Dispose(); } return(new ResultatExecution(NombreEnregistrementsAffectes, Commande.LastInsertedId)); } else { if (ConnexionUtilisee != this) { ConnexionUtilisee.Dispose(); } return(new ResultatExecution(NombreEnregistrementsAffectes)); } } catch (Exception Erreur) { /* * System.Diagnostics.Debug.WriteLine(string.Format( * "\nMyDB.Executer({0}, {1}) a échoué :\n{2}\n", * Requete, * string.Join("", Valeurs.Select(Valeur => string.Format(", {0}", Valeur))), * Erreur.Message)); */ if ((ConnexionUtilisee != null) && (ConnexionUtilisee != this)) { ConnexionUtilisee.Dispose(); } // Sauvegarde du message d'erreur au cas où il faudrait le retourner MessageErreur = Erreur.Message; // Test de l'état de connexion if ((EtatConnexionConnu != EtatConnexion.Perdu) && (!EstConnecte || TesterConnexion())) { if (SurErreur != null) { SurErreur(this, MethodeExecutantRequeteSql.Enumerer, Requete, Valeurs, Erreur.Message); } break; } // En cas de perte de connexion, on tente une fois de se reconnecter if (!SeConnecter()) { if (SurErreur != null) { SurErreur(this, MethodeExecutantRequeteSql.Enumerer, Requete, Valeurs, Erreur.Message); } break; } // En cas de réussite de la re-connexion, on boucle une seconde fois sur la tentative d'exécution de cette lecture } } return(new ResultatExecution(MessageErreur)); }
/// <summary> /// Permet de récupérer le premier enregistrement résultant d'une requête de consultation /// </summary> /// <param name="Requete">Requête SQL à exécuter (doit être de type SELECT ou SHOW)</param> /// <param name="Valeurs">Valeurs des parties variables</param> /// <returns>Enregistrement si possible, sinon null</returns> public IEnregistrement Consulter(string Requete, params object[] Valeurs) { for (int NombreEchecs = 0; NombreEchecs < 2; NombreEchecs++) { MyDB ConnexionUtilisee = null; try { // Vérification de l'état théorique de la connexion if (!EstConnecte) { throw new Exception("Pas de connexion établie au serveur MySql"); } // Vérification qu'il s'agit bien d'une requête de consultation if (!EstRequeteConsultation(Requete)) { throw new Exception("Une requête d'action ne peut pas faire l'objet de la méthode MyDB.Consulter()"); } // Création de la commande SQL MySqlCommand Commande = CreerCommande(Requete, Valeurs); if (!DebuterLecture(Commande, out ConnexionUtilisee)) { throw new Exception("Aucun objet de lecture n'a pu être créé"); } // Préparation de l'objet représentant l'enregistrement courant Enregistrement Enregistrement = new Enregistrement(ConnexionUtilisee.m_Lecteur); // Tentative de lecture du premier enregistrement if (ConnexionUtilisee.m_Lecteur.Read()) { // Transfert des valeurs de l'enregistrement courant dans le dictionnaire le représentant Enregistrement.ChargerValeurs(0, ConnexionUtilisee.m_Lecteur); // Terminaison de la lecture avec libération des ressources associées if (ConnexionUtilisee != null) { ConnexionUtilisee.TerminerLecture(this); } // Retour du premier enregistrement lu return(Enregistrement); } // Terminaison de la lecture avec libération des ressources associées if (ConnexionUtilisee != null) { ConnexionUtilisee.TerminerLecture(this); } } catch (Exception Erreur) { /* * System.Diagnostics.Debug.WriteLine(string.Format( * "\nMyDB.Consulter({0}, {1}) a échoué (version de récupération du premier enregistrement) :\n{2}\n", * Requete, * string.Join("", Valeurs.Select(Valeur => string.Format(", {0}", Valeur))), * Erreur.Message)); */ // Terminaison de la lecture avec libération des ressources associées if (ConnexionUtilisee != null) { ConnexionUtilisee.TerminerLecture(this); } // Test de l'état de connexion if ((EtatConnexionConnu != EtatConnexion.Perdu) && (!EstConnecte || TesterConnexion())) { if (SurErreur != null) { SurErreur(this, MethodeExecutantRequeteSql.Enumerer, Requete, Valeurs, Erreur.Message); } break; } // En cas de perte de connexion, on tente une fois de se reconnecter if (!SeConnecter()) { if (SurErreur != null) { SurErreur(this, MethodeExecutantRequeteSql.Enumerer, Requete, Valeurs, Erreur.Message); } break; } // En cas de réussite de la re-connexion, on boucle une seconde fois sur la tentative d'exécution de cette lecture } } // Retour d'un enregistrement "null" afin de représenter l'absence d'enregistrement return(null); }
public override void SupprimerEnCascade(PDSGBD.MyDB connexion) { Connexion.Executer("DELETE FROM subfaction WHERE sf_id = {0}", Id); }
/// <summary> /// Permet d'énumérer les entités correspondant aux enregistrements énumérés /// </summary> /// <param name="Connexion">Connexion au serveur MySQL</param> /// <param name="Enregistrements">Enregistrements énumérés, sources des entités à créer</param> /// <returns>Enumération des entités issues des enregistrements énumérés</returns> public static IEnumerable <SousFaction> Enumerer(PDSGBD.MyDB Connexion, IEnumerable <PDSGBD.MyDB.IEnregistrement> Enregistrements) { return(Enumerer(Enregistrements, Enregistrement => new SousFaction(Connexion, Enregistrement))); }
/// <summary> /// Permet d'énumérer les entités correspondant aux enregistrements énumérés /// </summary> /// <param name="Connexion">Connexion au serveur MySQL</param> /// <param name="Enregistrements">Enregistrements énumérés, sources des entités à créer</param> /// <returns>Enumération des entités issues des enregistrements énumérés</returns> public static IEnumerable <Unity> Enumerer(PDSGBD.MyDB Connexion, IEnumerable <PDSGBD.MyDB.IEnregistrement> Enregistrements) { return(Enumerer(Enregistrements, Enregistrement => new Unity(Connexion, Enregistrement))); }
/// <summary> /// Constructeur /// </summary> /// <param name="ConnexionMaitre">Connection "maître"</param> public GestionnaireDeConnexionDeLecture(MyDB ConnexionMaitre) { m_ConnexionMaitre = ConnexionMaitre; m_ConnexionUtilisee = null; }
/// <summary> /// Permet d'énumérer les entités correspondant aux enregistrements énumérés /// </summary> /// <param name="Connexion">Connexion au serveur MySQL</param> /// <param name="Enregistrements">Enregistrements énumérés, sources des entités à créer</param> /// <returns>Enumération des entités issues des enregistrements énumérés</returns> public static IEnumerable <StuffCharactRank> Enumerer(PDSGBD.MyDB Connexion, IEnumerable <PDSGBD.MyDB.IEnregistrement> Enregistrements) { return(Enumerer(Enregistrements, Enregistrement => new StuffCharactRank(Connexion, Enregistrement))); }
/// <summary> /// Permet d'énumérer les entités correspondant aux enregistrements énumérés /// </summary> /// <param name="Connexion">Connexion au serveur MySQL</param> /// <param name="Enregistrements">Enregistrements énumérés, sources des entités à créer</param> /// <returns>Enumération des entités issues des enregistrements énumérés</returns> public static IEnumerable <Vehicule> Enumerer(PDSGBD.MyDB Connexion, IEnumerable <PDSGBD.MyDB.IEnregistrement> Enregistrements) { return(Enumerer(Enregistrements, Enregistrement => new Vehicule(Connexion, Enregistrement))); }