Orionapplication

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

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.