private static void Mise_a_jour_devise_actuelle(string id) { try { #region Processus de teste // -- Si l'application est branché à la base de données -- // if (!AppSettings.CONNEXION_DB_BANKINGENTITIES) { // -- Vérification de la nature de l'identifiant -- // if (long.Parse(id) <= 0) { throw new GBException(App_Lang.Lang.The_object_must_have_a_unique_id); } Program.db.devises .Where(l => l.id != id) .ToList() .ForEach(l => { l.devise_actuelle = false; } ); } #endregion #region Processus fonctionnel else { // -- Définition du context -- // using (BankingEntities db = new BankingEntities()) { // -- Désactivation du Lasy loading -- // db.Configuration.LazyLoadingEnabled = false; // -- Rechercher l'objet à modifier -- // devise ancien_obj = db.devises.Find(id); // -- Vérifier que l'objet est retournée -- // if (ancien_obj == null) { throw new GBException(App_Lang.Lang.Object_not_found); } // -- Mise à jour de l'ancienne valeur -- // ancien_obj.CurrentCurrency = "No"; // -- Enregistrement de la données -- // db.Entry <devise>(ancien_obj).State = System.Data.Entity.EntityState.Modified; // -- Sauvegarder les changements -- // db.SaveChanges(); } } #endregion } #region Catch catch (Exception ex) { // -- Vérifier la nature de l'exception -- // if (!GBException.Est_GBexception(ex)) { // -- Log -- // GBClass.Log.Error(ex); // -- Renvoyer l'exception -- // throw new GBException(App_Lang.Lang.Error_message_notification); } else { // -- Renvoyer l'exception -- // throw new GBException(ex.Message); } } #endregion }
private static void Mise_a_jour_devise_actuelle(string id, BankingEntities db, List <string> ids_supprimer = null) { try { // -- Si l'identifiant est retournée - // if (id != null) { // -- Rechercher l'objet à modifier -- // db.devises.Where(l => l.devcod != id && l.CurrentCurrency == "Yes") .ToList() .ForEach(ancien_obj => { // -- Vérifier que l'objet est retournée -- // if (ancien_obj != null) { // -- Mise à jour de l'ancienne valeur -- // ancien_obj.CurrentCurrency = "No"; // -- Enregistrement de la données -- // db.Entry <devise>(ancien_obj).State = System.Data.Entity.EntityState.Modified; } }); } else { // -- Vérifier si il n'existe plus de devise active -- // if (db.devises.Where(l => ids_supprimer.Count(ll => ll == l.devcod) == 0).Count(l => l.CurrentCurrency == "Yes") == 0) { // -- Réccupérer une devise à définir comme active -- // devise ancien_obj = db.devises.FirstOrDefault(l => ids_supprimer.Count(ll => ll == l.devcod) == 0); // -- Si la devise n'est pas trouvée -- // if (ancien_obj == null) { return; } // -- Mise à jour de l'ancienne valeur -- // ancien_obj.CurrentCurrency = "Yes"; // -- Enregistrement de la données -- // db.Entry <devise>(ancien_obj).State = System.Data.Entity.EntityState.Modified; } } } #region Catch catch (Exception ex) { // -- Vérifier la nature de l'exception -- // if (!GBException.Est_GBexception(ex)) { // -- Log -- // GBClass.Log.Error(ex); // -- Renvoyer l'exception -- // throw new GBException(App_Lang.Lang.Error_message_notification); } else { // -- Renvoyer l'exception -- // throw new GBException(ex.Message); } } #endregion }
public void Modifier(Devise obj) { try { #region Processus de teste // -- Si l'application est branché à la base de données -- // if (!AppSettings.CONNEXION_DB_BANKINGENTITIES) { // -- Unicité du code -- // if (Program.db.devises.Exists(l => l.id != obj.id && l.code == obj.code)) { throw new GBException(App_Lang.Lang.Existing_data + " [code]"); } // -- Modification de la valeur -- // Program.db.devises // -- Spécifier la recherche -- // .Where(l => l.id == obj.id) // -- Lister le résultat -- // .ToList() // -- Parcourir les elements résultats -- // .ForEach(l => { // -- Mise à jour de l'enregistrement -- // l.code = obj.code; l.libelle = obj.libelle; l.signe = obj.signe; l.devise_actuelle = obj.devise_actuelle; }); // -- Mise à jour de la devise atuelle -- // if (obj.devise_actuelle) { Mise_a_jour_devise_actuelle(obj.id); } } #endregion #region Processus fonctionnel else { // -- Définition du context -- // using (BankingEntities db = new BankingEntities()) { // -- Désactivation du Lasy loading -- // db.Configuration.LazyLoadingEnabled = false; // -- Rechercher l'objet à modifier -- // devise ancien_obj = db.devises.Find(obj.code); // -- Vérifier que l'objet est retournée -- // if (ancien_obj == null) { throw new GBException(App_Lang.Lang.Object_not_found); } // -- Mise à jour de l'ancienne valeur -- // obj.ModifyEntities(ancien_obj); // -- Enregistrement de la données -- // db.Entry <devise>(ancien_obj).State = System.Data.Entity.EntityState.Modified; // -- Mise à jour de la devise atuelle -- // if (obj.devise_actuelle) { Mise_a_jour_devise_actuelle(obj.id, db); } // -- Sauvegarder les changements -- // db.SaveChanges(); } } #endregion // -- Execution des Hubs -- // #region Execution des Hubs applicationMainHub.RechargerCombo(new DeviseDAO()); applicationMainHub.RechargerTable(this.id_page, this.connexion.hub_id_context); #endregion } #region Catch catch (Exception ex) { // -- Vérifier la nature de l'exception -- // if (!GBException.Est_GBexception(ex)) { // -- Log -- // GBClass.Log.Error(ex); // -- Renvoyer l'exception -- // throw new GBException(App_Lang.Lang.Error_message_notification); } else { // -- Renvoyer l'exception -- // throw new GBException(ex.Message); } } #endregion }