private ListeObservable <T> Inserer_Coller_List <T>(object sender, RoutedEventArgs e) where T : ObjetGestion, new() { ListeObservable <T> pListe = new ListeObservable <T>(); ListBox V; ListeObservable <T> Liste; List <T> Ls; T L; if (Info(sender as MenuItem, out V, out Liste, out Ls, out L) && (_Copie_Liste != null)) { List <T> pListeCopie = new List <T>(); pListeCopie = _Copie_Liste as List <T>; foreach (T iL in pListeCopie) { T Obj = Ajouter <T>(); pListe.Add(Obj); Obj.Copier(iL); // Si la liste contient des lignes, on la déplace if (L != null) { Liste.Move(Liste.IndexOf(Obj), Liste.IndexOf(L)); } } Liste.Numeroter(); } return(pListe); }
public ListeObservable(ListeObservable <T> Liste) { foreach (T item in Liste) { base.Add(item); } }
private ListeObservable <T> Ajouter_List <T, U>(object sender, RoutedEventArgs e, Boolean UnSeul = false) where T : ObjetGestion, new() where U : ObjetGestion { ListeObservable <T> pListe = new ListeObservable <T>(); ListBox V; ListeObservable <T> Liste; List <T> Ls; T L; if (Info(sender as MenuItem, out V, out Liste, out Ls, out L)) { U Parent = (U)V.DataContext; // On force à faire au minimum un tour de boucle dans le cas ou la liste est vide. int Nb = Math.Max(Ls.Count, 1); if (UnSeul) { Nb = 1; } for (int i = 0; i < Nb; i++) { pListe.Add(Ajouter <T, U>(Parent)); } } return(pListe); }
private void Ajouter_Utilisateur_Click(object sender, RoutedEventArgs e) { ListeObservable <Utilisateur> Liste = Ajouter_List <Utilisateur, Societe>(sender, e); foreach (Utilisateur U in Liste) { EditerOnglet <Utilisateur>(U); } }
private void Ajouter_Facture_Click(object sender, RoutedEventArgs e) { ListeObservable <Facture> Liste = Ajouter_List <Facture, Devis>(sender, e); foreach (Facture F in Liste) { EditerOnglet <Facture>(F); } }
private void Ajouter_Client_Click(object sender, RoutedEventArgs e) { ListeObservable <Client> Liste = Ajouter_List <Client, Societe>(sender, e); foreach (Client C in Liste) { Adresse_Client A = new Adresse_Client(C); EditerOnglet <Client>(C); } }
protected void SupprimerListe <T>(ListeObservable <T> Liste) where T : ObjetGestion { if (Liste != null) { while (Liste.Count > 0) { Liste[0].Supprimer(); } } }
private void Ajouter_Devis_Click(object sender, RoutedEventArgs e) { ListeObservable <Devis> Liste = Ajouter_List <Devis, Client>(sender, e); foreach (Devis D in Liste) { Poste P = new Poste(D); Ligne_Poste L = new Ligne_Poste(P); EditerOnglet <Devis>(D); } }
private Boolean Info <T>(MenuItem I, out ListBox V, out ListeObservable <T> Liste, out List <T> Ls, out T L) where T : INotifyPropertyChanged { V = null; Liste = null; Ls = null; L = default(T); if (I != null) { V = (I.Parent as ContextMenu).PlacementTarget as ListBox; Liste = V.ItemsSource as ListeObservable <T>; Ls = V.SelectedItems.Cast <T>().ToList(); L = (T)V.SelectedItem; if ((V != null) && (Liste != null) && (Ls != null) && ((L != null) || (Liste.Count == 0))) { return(true); } } return(false); }
public Achat(Devis D) { Bdd2.Ajouter(this); Devis = D; // On initialise le fournisseur ListeObservable <Fournisseur> F = Devis.Client.Societe.ListeFournisseur; if ((F != null) && (F.Count > 0)) { Fournisseur = F[0]; } // On rajoute le prefix après pour être sûr qu'il ne sera pas ecrasé par une valeur par defaut Prefix_Utilisateur = Devis.Client.Societe.PrefixUtilisateurCourant; }
public SelectionnerClient(Devis DevisBase, ListBox Box, ModifierDevis Dlgt) { InitializeComponent(); _Dlgt = Dlgt; _DevisBase = DevisBase; _Box = Box; _Liste = new ListeObservable <Client>(DevisBase.Client.Societe.ListeClient); _Objet = _Liste[0]; xSelectionnerClient.DataContext = this; xSelectionnerClient.ItemsSource = _Liste; _Filtre = new RechercheTexte <Client>(xSelectionnerClient); xFiltrerClient.DataContext = _Filtre; }
private ListeObservable <T> Inserer_List <T>(object sender, RoutedEventArgs e) where T : ObjetGestion, new() { ListeObservable <T> pListe = new ListeObservable <T>(); ListBox V; ListeObservable <T> Liste; List <T> Ls; T L; if (Info(sender as MenuItem, out V, out Liste, out Ls, out L)) { foreach (T iL in Ls) { T Obj = Ajouter <T>(); pListe.Add(Obj); Liste.Move(Liste.IndexOf(Obj), Liste.IndexOf(L)); } Liste.Numeroter(); } return(pListe); }
private void Ajouter_Devis_Indice_Click(object sender, RoutedEventArgs e) { ListeObservable <Devis> pListe = Ajouter_List <Devis, Client>(sender, e); if (pListe.Count == 0) { return; } ListBox V; ListeObservable <Devis> Liste; List <Devis> Ls; Devis L; if (Info(sender as MenuItem, out V, out Liste, out Ls, out L)) { Devis pD = pListe[0]; pD.CopierAvecIndice(L); L.Statut = StatutDevis_e.cIndice; EditerOnglet <Devis>(pD); } }
public Ligne_Poste(Poste P) { Bdd2.Ajouter(this); Poste = P; // On initialise la famille ListeObservable <Famille> F = Poste.Devis.Client.Societe.ListeFamille; if ((F != null) && (F.Count > 0)) { Famille = F[0]; } // On rajoute le prefix après pour être sûr qu'il ne sera pas ecrasé par une valeur par defaut Prefix_Utilisateur = Poste.Devis.Client.Societe.PrefixUtilisateurCourant; No = P.ListeLignePoste.Count + 1; Init = true; Famille = F[0]; Init = true; }
private ListeObservable <T> Inserer_Coller_List <T, U>(object sender, RoutedEventArgs e) where T : ObjetGestion, new() where U : ObjetGestion { // Liste temporaire renvoyé par la fonction ListeObservable <T> pListe = new ListeObservable <T>(); ListBox V; ListeObservable <T> Liste; List <T> Ls; T L; if (Info(sender as MenuItem, out V, out Liste, out Ls, out L) && (_Copie_Liste != null)) { List <T> pListeCopie = new List <T>(); U Parent = (U)V.DataContext; pListeCopie = _Copie_Liste as List <T>; foreach (T iL in pListeCopie) { // On ajoute une ligne T Obj = Ajouter <T, U>(Parent); pListe.Add(Obj); // On copie la ligne Obj.Copier(iL); // Si la liste contient des lignes, on la déplace if (L != null) { Liste.Move(Liste.IndexOf(Obj), Liste.IndexOf(L)); } } Liste.Numeroter(); } return(pListe); }
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); }
public Ligne_Facture(Facture F, Poste P) { Bdd2.Ajouter(this); Facture = F; Poste = P; No = P.No; // On rajoute le prefix après pour être sûr qu'il ne sera pas ecrasé par une valeur par defaut Prefix_Utilisateur = Facture.Devis.Client.Societe.PrefixUtilisateurCourant; // Pre-remplissage des champs ListeObservable <Ligne_Facture> ListeLigneFacture = P.ListeLigneFacture; if (ListeLigneFacture.Count > 0) { CalculLigne_Facture = ListeLigneFacture[0].CalculLigne_Facture; Double pQuantite = P.Qte; Double pHt_Unitaire = P.Prix_Unitaire; if (CalculLigne_Facture == CalculLigne_Facture_e.cPourcentageUnitaire) { pQuantite = 100; pHt_Unitaire = P.Prix_Ht; } foreach (Ligne_Facture Lf in ListeLigneFacture) { if (Lf == this) { continue; } pQuantite -= Lf.Qte; pHt_Unitaire -= Lf.Ht_Unitaire; } if (pQuantite <= 0) { pQuantite = P.Qte; } if (pHt_Unitaire <= 0) { pHt_Unitaire = P.Prix_Unitaire; } Qte = pQuantite; if (CalculLigne_Facture == CalculLigne_Facture_e.cPourcentageUnitaire) { Ht_Unitaire = P.Prix_Ht; } else { Ht_Unitaire = pHt_Unitaire; } } else { Ht_Unitaire = P.Prix_Unitaire; Qte = P.Qte; } Calculer(); }
private void Nettoyer(Boolean Calculer = true) { ListeObservable <Devis> ListeDevis = Bdd2.Liste <Devis>(); ListeObservable <Poste> ListePoste = Bdd2.Liste <Poste>(); ListeObservable <Ligne_Poste> ListeLigne_Poste = Bdd2.Liste <Ligne_Poste>(); ListeObservable <Achat> ListeAchat = Bdd2.Liste <Achat>(); ListeObservable <Facture> ListeFacture = Bdd2.Liste <Facture>(); ListeObservable <Ligne_Facture> ListeLigne_Facture = Bdd2.Liste <Ligne_Facture>(); String Titre = "Calcul des lignes de factures : "; int i = 1; int tt = ListeLigne_Facture.Count(); foreach (Ligne_Facture Ligne_Facture in ListeLigne_Facture) { this.Title = Titre + " " + i.ToString() + "/" + tt.ToString(); if (Ligne_Facture.Facture == null) { Ligne_Facture.Supprimer(); } else if (Calculer) { Ligne_Facture.Calculer(false); } i++; } Titre = "Calcul des factures : "; i = 1; tt = ListeFacture.Count(); foreach (Facture Facture in ListeFacture) { this.Title = Titre + " " + i.ToString() + "/" + tt.ToString(); if ((Facture.Devis == null) || (Facture.ListeLigneFacture.Count == 0)) { Facture.Supprimer(); } else if (Calculer) { Facture.Calculer(false); } i++; } Titre = "Calcul des lignes de poste : "; i = 1; tt = ListeLigne_Poste.Count(); foreach (Ligne_Poste Ligne_Poste in ListeLigne_Poste) { this.Title = Titre + " " + i.ToString() + "/" + tt.ToString(); if (Ligne_Poste.Poste == null) { Ligne_Poste.Supprimer(); } else if (Calculer) { Ligne_Poste.Calculer(false); } i++; } Titre = "Calcul des postes : "; i = 1; tt = ListePoste.Count(); foreach (Poste Poste in ListePoste) { this.Title = Titre + " " + i.ToString() + "/" + tt.ToString(); if (Poste.Devis == null) { Poste.Supprimer(); } else if (Calculer) { Poste.Calculer(false); } i++; } Titre = "Calcul des devis : "; i = 1; tt = ListeDevis.Count(); foreach (Devis Devis in ListeDevis) { this.Title = Titre + " " + i.ToString() + "/" + tt.ToString(); if (Devis.Client == null) { Devis.Supprimer(); } else if (Calculer) { Devis.Calculer(); } i++; } Titre = "Calcul des achats : "; i = 1; tt = ListeAchat.Count(); foreach (Achat Achat in ListeAchat) { this.Title = Titre + " " + i.ToString() + "/" + tt.ToString(); if (Achat.Devis == null) { Achat.Supprimer(); } else if (Calculer) { Achat.Calculer(); } i++; } }