コード例 #1
0
ファイル: Devis.cs プロジェクト: Titifonky/Gestion_App-V6
        private void CalculerTva()
        {
            if (!EstCharge)
            {
                return;
            }

            Tva = ArrondiEuro(Prix_Ht * Tva_Pct / 100);

            foreach (Facture Facture in ListeFacture)
            {
                Facture.Calculer();
            }
        }
コード例 #2
0
        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);
                }
            }
        }
コード例 #3
0
        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;
                    }
                }
            }
        }
コード例 #4
0
        private void MajFacture_Click(object sender, RoutedEventArgs e)
        {
            Facture F = null;

            MenuItem M    = sender as MenuItem;
            Grid     Grid = ((sender as MenuItem).Parent as ContextMenu).PlacementTarget as Grid;

            if (Grid != null)
            {
                F = Grid.DataContext as Facture;
            }
            else
            {
                ListBox V; ListeObservable <Facture> Liste; List <Facture> Ls; Facture L;
                if (Info(sender as MenuItem, out V, out Liste, out Ls, out L))
                {
                    F = L;
                }
            }

            F.MajLigne_Facture();
        }
コード例 #5
0
        public void Calculer(Boolean Dependance = true)
        {
            if (!EstCharge)
            {
                return;
            }

            Ht = Ht_Unitaire * Qte;

            switch (CalculLigne_Facture)
            {
            case CalculLigne_Facture_e.cQuantite:
                break;

            case CalculLigne_Facture_e.cPourcentageUnitaire:
                Ht = ArrondiEuro(Ht * 0.01);
                break;

            case CalculLigne_Facture_e.cPourcentageTotal:
                Ht = ArrondiEuro(Ht * 0.01);
                break;

            default:
                break;
            }

            if (Dependance)
            {
                if (Poste != null)
                {
                    Poste.CalculerFacture();
                }

                Facture.Calculer();
            }
        }
コード例 #6
0
        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();
        }
コード例 #7
0
        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++;
            }
        }