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