public Facture(Devis D) { Bdd2.Ajouter(this); Devis = D; int pNo = No; int pIndice = 0; // On recherche le numero et l'indice de la facture if (D.ListeFacture.Count > 0) { pNo = D.ListeFacture[0].No; pIndice = Math.Max(D.ListeFacture.Max(x => x.Indice) + 1, D.ListeFacture.Count); } // Si on rajoute une facture, c'est que le devis est au moins validé if ((int)Devis.Statut < (int)StatutDevis_e.cValide) { Devis.Statut = StatutDevis_e.cValide; } // 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; // On met à jour le no et l'indice après l'ajout de l'objet dans la base No = pNo; Indice = pIndice; MajLigne_Facture(); }
public void Calculer(Boolean Dependance = true) { if (!EstCharge) { return; } Double pPrix_Ht = 0; foreach (Ligne_Facture Ligne in ListeLigneFacture) { if (!Ligne.Statut) { continue; } pPrix_Ht += Ligne.Ht; } Prix_Ht = pPrix_Ht; Prix_Ttc = Math.Round(Prix_Ht * ((Devis.Tva_Pct + 100) / 100), DEFAULT_ARRONDI_EURO, MidpointRounding.ToEven); Tva = Math.Round(Prix_Ttc - Prix_Ht, DEFAULT_ARRONDI_EURO); if (Dependance) { Devis.CalculerFacture(); } }
private void Apercu_Devis_Click(object sender, RoutedEventArgs e) { Devis D = null; MenuItem M = sender as MenuItem; Grid Grid = ((sender as MenuItem).Parent as ContextMenu).PlacementTarget as Grid; if (Grid != null) { D = Grid.DataContext as Devis; } else { ListBox V; ListeObservable <Devis> Liste; List <Devis> Ls; Devis L; if (Info(sender as MenuItem, out V, out Liste, out Ls, out L)) { D = L; } } DirectoryInfo pDossier = D.Dossier; if (pDossier == null) { pDossier = D.CreerDossier(true); } ApercuAvantImpression Fenetre = new ApercuAvantImpression(D.Impression(), D.Ref + " " + D.Description, pDossier, D.Client.Societe.UtilisateurCourant); Fenetre.Show(); }
private void Ouvrir_Devis_Click(object sender, RoutedEventArgs e) { Devis D = null; MenuItem M = sender as MenuItem; Grid Grid = ((sender as MenuItem).Parent as ContextMenu).PlacementTarget as Grid; if (Grid != null) { D = Grid.DataContext as Devis; } else { ListBox V; ListeObservable <Devis> Liste; List <Devis> Ls; Devis L; if (Info(sender as MenuItem, out V, out Liste, out Ls, out L)) { D = L; } } DirectoryInfo pDossier = D.Dossier; if (pDossier == null) { return; } new SelectionnerFichier(pDossier.GetFiles(D.Ref + " *.pdf")); }
private void Editer_MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { if (e.ClickCount >= 2) { Client C = ((FrameworkElement)sender).DataContext as Client; if (C != null) { EditerOnglet <Client>(C); } Devis D = ((FrameworkElement)sender).DataContext as Devis; if (D != null) { EditerOnglet <Devis>(D); } Facture F = ((FrameworkElement)sender).DataContext as Facture; if (F != null) { EditerOnglet <Facture>(F); } Fournisseur Fr = ((FrameworkElement)sender).DataContext as Fournisseur; if (Fr != null) { EditerOnglet <Fournisseur>(Fr); } Utilisateur U = ((FrameworkElement)sender).DataContext as Utilisateur; if (U != null) { EditerOnglet <Utilisateur>(U); } } }
public override Boolean Supprimer() { if (!EstCharge) { return(false); } SupprimerListe(_ListeLigneFacture); if (Devis != null) { Devis.ListeFacture.Remove(this); } if (Devis.Client != null) { Devis.Client.ListeFacture.Remove(this); } Bdd2.Supprimer(this); if (Devis != null) { Devis.CalculerFacture(); } return(true); }
public Heure(Devis D) { Bdd2.Ajouter(this); Devis = D; // 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 void Calculer() { if (!EstCharge) { return; } Devis.CalculerAchat(); }
private void Copier_Devis_Vers_Client(Client C, Devis DevisBase, ListBox Box) { Devis D = new Devis(C); D.Copier(DevisBase); Box.SelectedItem = C; EditerOnglet <Devis>(D); }
public void Importer(Devis DevisBase) { if ((!EstCharge) || (DevisBase == null) || (!DevisBase.EstCharge)) { return; } foreach (Poste Poste in DevisBase.ListePoste) { Poste pNewPoste = new Poste(this); pNewPoste.Copier(Poste); } }
public void CopierAvecIndice(Devis ObjetBase) { if (!EstCharge) { return; } Copier(ObjetBase); // D'abord copier l'indice Indice = ObjetBase.Client.ListeDevis.Where(x => x.No == ObjetBase.No).Max(y => y.Indice) + 1; // Puis le numero pour eviter le cas ou l'indice de this serait déjà supérieur No = ObjetBase.No; }
public override Boolean Supprimer() { if (!EstCharge) { return(false); } Devis.ListeAchat.Remove(this); Devis.CalculerAchat(); Bdd2.Supprimer <Achat>(this); return(true); }
private void Ouvrir_Dossier_Click(object sender, RoutedEventArgs e) { MenuItem I = sender as MenuItem; if (I != null) { DirectoryInfo Dir = null; ListBox B = ((ContextMenu)I.Parent).PlacementTarget as ListBox; if (B != null) { Client C = B.SelectedItem as Client; if (C != null) { Dir = C.Dossier; } Devis D = B.SelectedItem as Devis; if (D != null) { Dir = D.Dossier; } Facture F = B.SelectedItem as Facture; if (F != null) { Dir = F.Devis.Dossier; } } else { Grid Onglet = (I.Parent as ContextMenu).PlacementTarget as Grid; if (Onglet != null) { Devis D = Onglet.DataContext as Devis; if (D != null) { Dir = D.Dossier; } } } if (Dir != null) { System.Diagnostics.Process.Start(Dir.FullName); } } }
public void Calculer(Boolean Dependance = true) { if (!EstCharge) { return; } Double pPrix_Unitaire = 0; Double pDebours_Unitaire = 0; foreach (Ligne_Poste Ligne in ListeLignePoste) { if (!Ligne.Statut) { continue; } if (Ligne.Prix_Forfaitaire) { Ligne.Calculer(false); } pPrix_Unitaire += Ligne.Prix_Ht; pDebours_Unitaire += Ligne.Debours_Unitaire; } Prix_Unitaire = ArrondiEuro(Outils.Plafond(pPrix_Unitaire, Arrondi)); Marge_Unitaire = ArrondiEuro(Prix_Unitaire - pDebours_Unitaire); Prix_Ht = Prix_Unitaire * Qte; Marge = Marge_Unitaire * Qte; //Marge_Pct = ArrondiPct((Marge / Prix_Ht) * 100); if (Marge == Prix_Ht) { Marge_Pct = 100; } else { Marge_Pct = ArrondiPct(((Prix_Ht / (Prix_Ht - Marge)) - 1) * 100); } CalculerFacture(false); if (Dependance && (Devis != null)) { Devis.Calculer(); } }
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 void Editer_Click(object sender, RoutedEventArgs e) { MenuItem I = sender as MenuItem; if (I != null) { ListBox B = ((ContextMenu)I.Parent).PlacementTarget as ListBox; if (B != null) { Client C = B.SelectedItem as Client; if (C != null) { EditerOnglet <Client>(C); return; } Devis D = B.SelectedItem as Devis; if (D != null) { EditerOnglet <Devis>(D); return; } Facture F = B.SelectedItem as Facture; if (F != null) { EditerOnglet <Facture>(F); return; } Fournisseur Fr = B.SelectedItem as Fournisseur; if (Fr != null) { EditerOnglet <Fournisseur>(Fr); return; } Utilisateur U = B.SelectedItem as Utilisateur; if (U != null) { EditerOnglet <Utilisateur>(U); return; } } } }
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); } }
private void Fusionner_Devis_Click(object sender, RoutedEventArgs e) { ListBox V; ListeObservable <Devis> Liste; List <Devis> Ls; Devis L; if (Info(sender as MenuItem, out V, out Liste, out Ls, out L)) { Devis DevisBase = L; foreach (Devis D in Ls) { if (DevisBase != D) { DevisBase.Importer(D); } } DevisBase.ListePoste.Numeroter(); EditerOnglet <Devis>(DevisBase); } }
private void Deplacer_Devis_Vers_Client(Client C, Devis DevisBase, ListBox Box) { DirectoryInfo Dossier = DevisBase.DossierIndice; if (Dossier == null) { Dossier = DevisBase.Dossier; } DevisBase.Client = C; DevisBase.CreerDossier(true); try { if (Dossier != null) { String NomDossier = DevisBase.DossierIndice.FullName; foreach (FileInfo F in DevisBase.DossierIndice.GetFiles()) { String Chemin = Path.Combine(Dossier.FullName, Path.GetFileName(F.FullName)); if (File.Exists(Chemin)) { File.Delete(Chemin); F.MoveTo(Chemin); } } DevisBase.DossierIndice.Delete(true); Dossier.MoveTo(NomDossier); } } catch { } Box.SelectedItem = C; EditerOnglet <Devis>(DevisBase); }
public void CalculerFacture(Boolean Dependance = true) { Double pDeja_Facture_Ht = 0; foreach (Ligne_Facture Ligne in ListeLigneFacture) { if (!Ligne.Statut) { continue; } pDeja_Facture_Ht += Ligne.Ht; } Deja_Facture_Ht = pDeja_Facture_Ht; Reste_A_Facture_Ht = Math.Max(Prix_Ht - Deja_Facture_Ht, 0); if (Dependance && (Devis != null)) { Devis.CalculerFacture(); } }
private void Fusionner_Nouveau_Devis_Click(object sender, RoutedEventArgs e) { ListBox V; ListeObservable <Devis> Liste; List <Devis> Ls; Devis L; if (Info(sender as MenuItem, out V, out Liste, out Ls, out L)) { Devis DevisBase = Ajouter_List <Devis, Client>(sender, e, true).First(); foreach (Devis D in Ls) { DevisBase.Importer(D); D.Statut = StatutDevis_e.cIndice; if (!String.IsNullOrWhiteSpace(D.Description)) { DevisBase.Description = (DevisBase.Description.Flat() + Environment.NewLine + D.Description.Flat()).Trim(); } } DevisBase.ListePoste.Numeroter(); EditerOnglet <Devis>(DevisBase); } }
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++; } }