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); }
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); }