Orionapplication

Soyez le premier à donner votre avis sur cette source.

Vue 10 632 fois - Téléchargée 1 790 fois

Description

Bonjour,

J'ai développé cette application dans le cadre de mon boulot pour gérer le parc informatique au complet, les demandes d'intervention, l'affectation du matériel aux utilisateurs, aux sites, aux sociétés...

A tester !

Exemple de code utiliser ci-dessous : Une partie du noyau qui parse le paramétrage des évènements.

Bien sur, il faut un serveur MySQL, y passer le Orion.sql à la racine du projet et configurer le app.config !

Source / Exemple :


#region Evenement @ : C'est une affectation de valeur à un champ
                    else if (action.StartsWith("@"))
                    {
                        string[] tabChampValeur = action.TrimStart('@').Split(',');
                        if (tabChampValeur.Count() == 3)
                        {
                            // Nous récupérons le Composant du formulaire
                            Control c = OrionOutils.GetControlsAvecRecursivite(this, tabChampValeur[0]);
                            object[] val;
                            // Selon la propriété, ce sont des conversions différentes
                            // BOOLEAN
                            if (tabChampValeur[1].Equals("Checked"))
                            {
                                val = new object[1]; val[0] = Convert.ToBoolean(tabChampValeur[2]);
                                if (c.GetType().ToString().Equals("ComponentFactory.Krypton.Toolkit.KryptonDateTimePicker"))
                                {
                                    c.GetType().InvokeMember(tabChampValeur[1], BindingFlags.SetProperty, null, c, val);
                                }
                                else
                                {
                                    throw new Exception("Attention le paramétrage suivant n'est pas pris en compte dans le noyau : "
                                                            + Environment.NewLine
                                                            + action);
                                }
                            }
                            // OBJECT
                            else if (tabChampValeur[1].Equals("Value"))
                            {
                                // Celon l'objet, la "Value" est un :
                                // DATETIME
                                if (c.GetType().ToString().Equals("ComponentFactory.Krypton.Toolkit.KryptonDateTimePicker"))
                                {
                                    val = new object[1]; val[0] = Convert.ToDateTime(tabChampValeur[2]);
                                    c.GetType().InvokeMember(tabChampValeur[1], BindingFlags.SetProperty, null, c, val);
                                }
                                // DECIMAL
                                else if (c.GetType().ToString().Equals("ComponentFactory.Krypton.Toolkit.KryptonNumericUpDown"))
                                {
                                    val = new object[1]; val[0] = Convert.ToDecimal(tabChampValeur[2]);
                                    c.GetType().InvokeMember(tabChampValeur[1], BindingFlags.SetProperty, null, c, val);
                                }
                                else
                                {
                                    throw new Exception("Attention le paramétrage suivant n'est pas pris en compte dans le noyau : "
                                                            + Environment.NewLine
                                                            + action);
                                }
                            }
                            // OBJECT
                            else if (tabChampValeur[1].Equals("SelectedValue"))
                            {
                                // Celon l'objet, la "SelectedValue" est un :
                                // INTEGER
                                if (c.GetType().ToString().Equals("ComponentFactory.Krypton.Toolkit.KryptonComboBox"))
                                {
                                    val = new object[1]; val[0] = Convert.ToInt32(tabChampValeur[2]);
                                    c.GetType().InvokeMember(tabChampValeur[1], BindingFlags.SetProperty, null, c, val);
                                }
                                else
                                {
                                    throw new Exception("Attention le paramétrage suivant n'est pas pris en compte dans le noyau : "
                                                            + Environment.NewLine
                                                            + action);
                                }
                            }
                            else
                            {
                                val = new object[1]; val[0] = tabChampValeur[2];
                                c.GetType().InvokeMember(tabChampValeur[1], BindingFlags.SetProperty, null, c, val);
                            }
                        }

                    }
                    #endregion

Conclusion :


J'y ai passé pas mal de temps, voir des mois dessus, j'accepte volontiers toutes critiques constructives !

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

chaftez
Messages postés
8
Date d'inscription
dimanche 29 mars 2009
Statut
Membre
Dernière intervention
3 mai 2012

slt toutphp je rencontre beaucoup de problèmes a faire exécuter le code tu peux m'assister chui sous vs 2010
Salut, je vous remercie pour votre travail intéressant. C'est difficile a comprendre au début, ais par la suite on y arrive.

sauf que j'ai une question?
script.sql permet de créer une base de données vide.
peut on avoir une base avec des données exemples pour mieux tester.
Merci.
Merçi c'est supper, par contre j'ai beaucoup d'erreur, tu n'a pass mis tous les DDL démandés dans ton package par exemple le Report.ddl, Microsoft.Office.Interop.Word ceux que j'ai le programme ne les acceptent pas. Peux tu me fournir ceux que tu as utilisé ? je travail avec VS2010
jinkas
Messages postés
5
Date d'inscription
lundi 14 avril 2003
Statut
Membre
Dernière intervention
13 juin 2012

Bonjour,

Je viens de télécharger le code source mais j'ai pas mal d'erreur:

Le type ou le nom d'espace de noms 'Root' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?)

Le type ou le nom d'espace de noms 'Report' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?)

Le type ou le nom d'espace de noms 'FontDef' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?)

Le type ou le nom d'espace de noms 'FlowLayoutManager' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?)

Le fichier de métadonnées 'OrionApplication.OrionLib.dll' est introuvable

Impossible de trouver le certificat de signature de manifeste dans le magasin de certificats

Avertissement 6 Impossible de résoudre cette référence. Impossible de trouver l'assembly "ComponentFactory.Krypton.Toolkit". Vérifiez que l'assembly existe sur le disque. Si elle est requise par votre code, vous risquez d'obtenir des erreurs de compilation. OrionApplication
alors que j'ai ajouté la référence.

Sinon est-il possible de ne pas faire référence au nom Orion

Merci,
toutphp
Messages postés
107
Date d'inscription
lundi 24 mai 2004
Statut
Membre
Dernière intervention
5 mai 2010

Salut Guillaumelec,

Tout simplement parceque je n'avais que ça chez moi ;) Pas de SQL Serveur 2005 ou autre.
Et puis je travail avec MySQL depuis plusieurs années et je n'en suis pas deçu.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.