public DomiciliationPageVM()
        {
            PrintTaxe = new RelayCommand(() =>
            {
                var directory = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\ImportManager\Assets";

                if (!Directory.Exists(directory))
                {
                    Directory.CreateDirectory(directory);
                }

                var fullPath    = directory + @"\C25.pdf";
                var newFile     = directory + @"\C25_New.pdf";
                var reader      = new PdfReader(fullPath);
                var stamper     = new PdfStamper(reader, new FileStream(newFile, FileMode.OpenOrCreate));
                var importateur = IoCContainer.Get <Importation>().Importateur;
                var importation = IoCContainer.Get <Importation>();
                var fields      = stamper.AcroFields;

                fields.SetField("DE", RecetteImpots.Wilaya.Designation);
                fields.SetField("RECETTE DES IMPOTS DE", RecetteImpots.Designation);
                fields.SetField("Code de la recette Ll", RecetteImpots.Code);
                fields.SetField("Nom et prénom ou raison sociale", importateur.Denomination);
                fields.SetField("Statut juridique", importateur.StatutJuridique.Designation);
                fields.SetField("Capital social", importateur.Capital.ToString());
                var adresse = (importateur.Adresse1 as AdresseLocale);
                fields.SetField("Adresse", adresse.LigneAdresse + ", " + adresse.Commune + ", " + adresse.Wilaya.Designation);
                fields.SetField("Texte1", importateur.NIF);
                fields.SetField("Texte2", "NIF 2");
                fields.SetField("Texte4", importateur.RegistreCommerce.Substring(0, 2));
                fields.SetField("Texte3", importateur.RegistreCommerce.Substring(2));
                fields.SetField("Code dactivité", importation.Activite.Code);
                fields.SetField("Texte5", importateur.ComptesBancaires.SingleOrDefault(c => c.Banque == importation.BanqueImportateur.Banque)?.NumCompte);
                var gerant        = importateur.Gerant;
                var adresseGerant = gerant.Adresse as AdresseLocale;
                var nomGerant     = gerant.Nom + " " + gerant.Prenom + ", " + adresseGerant?.LigneAdresse + ", " + adresseGerant?.Commune + ", " + adresseGerant?.Wilaya.Designation;
                fields.SetField("Nom prénom et adresse du gérant", nomGerant);
                fields.SetField("LI 1", gerant.NIF);
                fields.SetField("Texte9", "NIF Gérant 2");
                var positions = importation.FactureProforma.LignesFacture.Select(l => l.Article.Produit.PositionTarifaire);

                fields.SetField("Texte6", "Position Tarifaire 1");
                fields.SetField("Texte7", positions.Select(p => p.Code.Replace(".", "")).Aggregate((current, next) => current + " " + (!current.Contains(next) ? next : "")));
                var proforma = new FactureProformaVM(importation.FactureProforma);
                fields.SetField("Texte8", proforma.TotalPrix + proforma.Devise.Designation + " = " + (proforma.TotalPrix * Cours) + " DA");
                fields.SetField("Texte10", Developpez.Dotnet.NumberConverter.Spell(Convert.ToInt64((proforma.TotalPrix * Cours).Value)) + " DA");
                fields.SetField("Numéro de la facture ou autre document commercial", proforma.InvoiceN);
                fields.SetField("Banque de domiciliation", AgenceBanqueImportateur.Banque.Denomination);
                fields.SetField("Désignation de lagence", AgenceBanqueImportateur.Designation);
                fields.SetField("Code de lagence", AgenceBanqueImportateur.Code);
                fields.SetField("Bénéficiaire étranger", importation.Fournisseur.Denomination);
                var adressFournisseur = importation.Fournisseur.Adresse1;
                fields.SetField("Adresse du bénéficiaire étranger", adressFournisseur.LigneAdresse + " " + adressFournisseur.CodePostal + " " + adressFournisseur.Pays.Designation);
                fields.SetField("le", DateTaxeDomiciliation.ToShortDateString());
                //fields.SetField("Numéro", "Numéro");
                //fields.SetField("Date", "Date");
                //fields.SetField("Mode de paiement", "Mode Paiement");
                fields.SetField("Fait à", RecetteImpots.Designation);
                //fields.SetField("Code de la recette Ll_3", "Code Recette");
                stamper.Close();
                reader.Close();

                Process.Start(newFile);
            });

            PrintFranchise = new RelayCommand(() =>
            {
                var directory = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\ImportManager\Assets";

                if (!Directory.Exists(directory))
                {
                    Directory.CreateDirectory(directory);
                }

                var fullPath    = directory + @"\DemFranchise.pdf";
                var newFile     = directory + @"\DemFranchise_New.pdf";
                var reader      = new PdfReader(fullPath);
                var stamper     = new PdfStamper(reader, new FileStream(newFile, FileMode.OpenOrCreate));
                var importateur = IoCContainer.Get <Importation>().Importateur;
                var importation = IoCContainer.Get <Importation>();
                var fields      = stamper.AcroFields;

                fields.SetField("RaisonSociale", importateur.Denomination);
                fields.SetField("RaisonSociale_AR", importateur.DenominationAR);
                fields.SetField("Tel", importateur.Tel);
                fields.SetField("Fax", importateur.Fax);
                var adresse = (importateur.Adresse1 as AdresseLocale);
                fields.SetField("Adresse", adresse.LigneAdresse + ", " + adresse.Commune + ", " + adresse.Wilaya.Designation);
                fields.SetField("DesignationMarchandise", "A Déterminer");
                fields.SetField("SousPosition", "A Déterminer");
                fields.SetField("AgenceCNRC", "A Déterminer");
                fields.SetField("AgenceCNRC_AR", "A Déterminer");
                fields.SetField("NIF", importateur.NIF);
                fields.SetField("PoidsNet", "A Déterminer");
                fields.SetField("ValeurFOB", "A Déterminer");
                fields.SetField("Fret", "A Déterminer");
                fields.SetField("PaysOrigine", importation.PaysOrigine.Designation);
                fields.SetField("PaysProvenance", importation.FactureProforma.PortEmbarquement.Pays.Designation);
                stamper.Close();
                reader.Close();
            });

            PrintOrdreAchat = new RelayCommand(() =>
            {
                var directory = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\ImportManager\Assets";

                if (!Directory.Exists(directory))
                {
                    Directory.CreateDirectory(directory);
                }

                var fullPath    = directory + @"\OrdreAchat.pdf";
                var newFile     = directory + @"\OrdreAchat_New.pdf";
                var reader      = new PdfReader(fullPath);
                var stamper     = new PdfStamper(reader, new FileStream(newFile, FileMode.OpenOrCreate));
                var importateur = IoCContainer.Get <Importation>().Importateur;
                var importation = IoCContainer.Get <Importation>();
                var fields      = stamper.AcroFields;

                fields.SetField("TypeMarchandise", "A Déterminer");
                fields.SetField("Quantite", new FactureProformaVM(importation.FactureProforma).TotalQuantite.ToString());
                fields.SetField("Prix", new FactureProformaVM(importation.FactureProforma).TotalPrix.ToString());
                fields.SetField("NumFacture", importation.FactureProforma.NumFacture);
                fields.SetField("Lieu", LieuOrdreAchat);
                fields.SetField("Date", DateOrdreAchat);
                stamper.Close();
                reader.Close();
            });
        }
Esempio n. 2
0
        public EntrepriseVM(Entreprise entreprise)
        {
            Entreprise = entreprise;
            AddAgence  = new RelayCommand(() =>
            {
                var banque = Entreprise as Banque;
                banque.Agences.Add(new AgenceBanque());
                IoCContainer.Get <ModelContainer>().SaveChanges();
                OnPropertyChanged(nameof(Agences));
            });

            DeleteAgence = new RelayCommand(() =>
            {
                if (SelectedAgence.Agence == null)
                {
                    return;
                }
                var container = IoCContainer.Get <ModelContainer>();
                container.AgenceBanques.Remove(SelectedAgence.Agence);
                container.SaveChanges();
                OnPropertyChanged(nameof(Agences));
            });

            AddCompte = new RelayCommand(() =>
            {
                Entreprise.ComptesBancaires.Add(new CompteBancaire());
                IoCContainer.Get <ModelContainer>().SaveChanges();
                OnPropertyChanged(nameof(Comptes));
            });

            DeleteCompte = new RelayCommand(() =>
            {
                if (SelectedCompte.Compte == null)
                {
                    return;
                }
                var container = IoCContainer.Get <ModelContainer>();
                container.ComptesBancaires.Remove(SelectedCompte.Compte);
                container.SaveChanges();
                OnPropertyChanged(nameof(Comptes));
            });

            AddMotif = new RelayCommand(() =>
            {
                Entreprise.Motifs.Add(new MotifFacture());
                IoCContainer.Get <ModelContainer>().SaveChanges();
                OnPropertyChanged(nameof(Motifs));
            });

            DeleteMotif = new RelayCommand(() =>
            {
                if (SelectedMotif == null)
                {
                    return;
                }
                var container = IoCContainer.Get <ModelContainer>();
                Entreprise.Motifs.Remove(SelectedMotif);
                container.SaveChanges();
                OnPropertyChanged(nameof(Motifs));
                OnPropertyChanged(nameof(ListeMotifs));
            });

            SelectMotif = new RelayCommand(() =>
            {
                if (AvailableMotif == null)
                {
                    return;
                }
                Entreprise.Motifs.Add(AvailableMotif);
                IoCContainer.Get <ModelContainer>().SaveChanges();
                OnPropertyChanged(nameof(Motifs));
            });

            DeleteActivite = new RelayCommand(() =>
            {
                (Entreprise as Importateur).Activites.Remove(SelectedActivite);
                IoCContainer.Get <ModelContainer>().SaveChanges();
                OnPropertyChanged(nameof(Activites));
            });

            SelectActivite = new RelayCommand(() =>
            {
                if (AvailableActivite == null)
                {
                    return;
                }
                (Entreprise as Importateur).Activites.Add(AvailableActivite);
                IoCContainer.Get <ModelContainer>().SaveChanges();
                OnPropertyChanged(nameof(Activites));
            });
        }