Exemple #1
0
        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
        }
Exemple #2
0
        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
        }
Exemple #3
0
        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
        }