示例#1
0
        private Boolean Start()
        {
            Log.Entete();

            String        BaseSelectionnee = "";
            List <String> ListeBase        = Bdd2.ListeBase();

            if (ListeBase.Count == 1)
            {
                BaseSelectionnee = ListeBase[0];
            }
            else
            {
                SelectionnerBase Fenetre = new SelectionnerBase(ListeBase);
                Fenetre.ShowDialog();
                BaseSelectionnee = Fenetre.BaseSelectionnee;
            }



            if (!Bdd2.Initialiser(BaseSelectionnee))
            {
                return(false);
            }

            xConnexionCourante.Text = BaseSelectionnee + ", connecté à l'adresse : " + Bdd2.ConnexionCourante;

            pSociete = Bdd2.Liste <Societe>()[0];

            var ListeFamille = Bdd2.Liste <Famille>();

            Bdd2.PreCharger(typeof(Famille), new List <ObjetGestion>(ListeFamille));

            pSociete.OnModifyUtilisateur += new Societe.OnModifyUtilisateurEventHandler(id => { Properties.Settings.Default.IdUtilisateur = id; Properties.Settings.Default.Save(); });

            ListeObservable <Utilisateur> pListeUtilisateur = pSociete.ListeUtilisateur;

            Utilisateur U = null;

            if (pListeUtilisateur.Count > 0)
            {
                try
                {
                    U = pListeUtilisateur.First(u => { return(u.Id == Properties.Settings.Default.IdUtilisateur); });
                }
                catch { U = pListeUtilisateur[0]; }
            }
            else
            {
                U = new Utilisateur(pSociete);
                U.Prefix_Utilisateur = "A";
                Bdd2.Ajouter(U);
            }

            pSociete.UtilisateurCourant = U;

            this.DataContext = pSociete;

            TrierListe <Client>(xListeClient);
            TrierListe <Devis>(xListeDevis);
            TrierListe <Facture>(xListeFactureClient);
            TrierListe <Facture>(xListeFactureDevis);

            _RechercherClient             = new RechercheTexte <Client>(xListeClient);
            xRechercherClient.DataContext = _RechercherClient;

            _RechercherDevis             = new RechercheTexte <Devis>(xListeDevis);
            xRechercherDevis.DataContext = _RechercherDevis;

            _RechercherFactureClient             = new RechercheTexte <Facture>(xListeFactureClient);
            xRechercherFactureClient.DataContext = _RechercherFactureClient;

            return(true);
        }
示例#2
0
        private Boolean EditerOnglet <T, U>(U DataContext)
            where T : ObjetGestion
            where U : ObjetGestion
        {
            String Titre = ""; String ModeleTitre = ""; String ModeleCorps = "";

            if (typeof(U) == typeof(Societe))
            {
                if (typeof(T) == typeof(Societe))
                {
                    Titre = "Societe"; ModeleCorps = "xOngletSocieteControlTemplate";
                }

                else if (typeof(T) == typeof(Famille))
                {
                    Titre = "Famille"; ModeleCorps = "xOngletFamilleControlTemplate";
                }

                else if (typeof(T) == typeof(Fournisseur))
                {
                    Titre = "Fournisseur"; ModeleCorps = "xOngletFournisseurControlTemplate";
                }

                else if (typeof(T) == typeof(Utilisateur))
                {
                    Titre = "Utilisateur"; ModeleCorps = "xOngletUtilisateurControlTemplate";
                }
            }
            else if (typeof(T) == typeof(Client))
            {
                ModeleTitre = "xTitreClient"; ModeleCorps = "xEditerClientControlTemplate";
            }

            else if (typeof(T) == typeof(Devis))
            {
                ModeleTitre = "xTitreDevis"; ModeleCorps = "xEditerDevisControlTemplate";
                U devis = (U)DataContext;

                var result1 = Bdd2.PreCharger(typeof(U), new List <ObjetGestion>()
                {
                    devis
                });

                var result2 = Bdd2.PreCharger(typeof(Poste), result1[typeof(Poste)]);

                var result3 = Bdd2.PreCharger(typeof(Ligne_Poste), result2[typeof(Ligne_Poste)]);
            }

            else if (typeof(T) == typeof(Facture))
            {
                ModeleTitre = "xTitreFacture"; ModeleCorps = "xEditerFactureControlTemplate";
            }

            else if (typeof(T) == typeof(Fournisseur))
            {
                ModeleTitre = "xTitreFournisseur"; ModeleCorps = "xEditerFournisseurControlTemplate";
            }

            else if (typeof(T) == typeof(Utilisateur))
            {
                ModeleTitre = "xTitreUtilisateur"; ModeleCorps = "xEditerUtilisateurControlTemplate";
            }

            if (DataContext != null)
            {
                OngletSupprimable Onglet = null;

                foreach (TabItem pTab in xOnglets.Items)
                {
                    if (pTab.DataContext == (object)DataContext)
                    {
                        Onglet = pTab as OngletSupprimable;
                        if (Onglet == null)
                        {
                            continue;
                        }
                    }
                }

                if (Onglet == null)
                {
                    Onglet = new OngletSupprimable();
                    if (String.IsNullOrWhiteSpace(Titre))
                    {
                        Onglet.Header         = DataContext;
                        Onglet.HeaderTemplate = (DataTemplate)this.Resources[ModeleTitre];
                    }
                    else
                    {
                        Onglet.Header = Titre;
                    }

                    ContentControl Control = new ContentControl();
                    Control.Template = (ControlTemplate)this.Resources[ModeleCorps];
                    Onglet.Content   = Control;
                    xOnglets.Items.Add(Onglet);
                    Onglet.DataContext = DataContext;
                }
                DernierOngletActif    = xOnglets.SelectedItem as TabItem;
                xOnglets.SelectedItem = Onglet;
                return(true);
            }

            return(false);
        }