public void PrintJahresrechnungsdatumUebersicht(IList<KundenData> kunden, PreisData preis) { PrintableDocument pdd = new PrintableDocument(); pdd.DocumentName = "Wasser Werk Verwaltung"; int seitencounter = 1; PrintablePage ppd = new PrintablePage(); ppd.AddPrintableObject(new PrintableTextObject("Seite " + seitencounter, new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand - 30, obererRand - 30)); ppd.AddPrintableObject(new PrintableTextObject("Rechnungsdaten " + preis.Jahr, new Font("Arial", 12, FontStyle.Bold), Brushes.Black, mittelinkerRand - 20, obererRand - 30)); ppd.AddPrintableObject(new PrintableTextObject(DateTime.Now.ToShortDateString(), new Font("Arial", 9, FontStyle.Bold), Brushes.Black, rechterRand, obererRand - 30)); ppd.AddPrintableObject(new PrintableTextObject("Name", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand - 30, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("Vorname", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 60, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("Objekt", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 160, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("Re-datum", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 300, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("AKonto 1/2", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 380, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("ReSum net.", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 460, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("10 % Mwst", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 540, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("ReSum brut.", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 620, obererRand + 15)); int kleinerZeilenabstand = 15; int zeile = 8; int counter = 0; ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)linkerRand - 30, (int)kleinerZeilenabstand * (int)(zeile), (int)linkerRand + 700, (int)kleinerZeilenabstand * (int)(zeile))); double sumRechnungsSummeNetto = 0; double sum10ProzMwst = 0; double sumReSumBrutto = 0; double sumAKonto = 0; foreach (KundenData kunde in kunden) { JahresDatenData jdd = this.GetJahresdataByKundenIDandYear(kunde.Id, preis.Jahr); bool rechnung; if (jdd.RechnungsDatumJahr.Day == 1 && jdd.RechnungsDatumJahr.Month == 1 && jdd.RechnungsDatumJahr.Year == 1901) { rechnung = false; } else { rechnung = true; } if (!rechnung) { ppd.AddPrintableObject(new PrintableFillRectangleObject(Brushes.LightGray, (int)linkerRand - 30, zeile * kleinerZeilenabstand + 1, 329, 13)); } ppd.AddPrintableObject(new PrintableTextObject(kunde.Nachname, new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand - 30, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableFillRectangleObject(Brushes.White,(int)linkerRand + 59,zeile * kleinerZeilenabstand + 1,300,13)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Vorname, new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 60, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableFillRectangleObject(Brushes.White, (int)linkerRand + 159, zeile * kleinerZeilenabstand + 1, 300, 13)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Objekt, new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 160, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableFillRectangleObject(Brushes.White, (int)linkerRand + 299, zeile * kleinerZeilenabstand + 1, 300, 13)); if (rechnung) { ppd.AddPrintableObject(new PrintableTextObject(jdd.RechnungsDatumJahr.ToShortDateString(), new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 300, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(this.FormatDezimal(jdd.HalbJahresBetrag) + "EUR", new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 380, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(this.FormatDezimal(this.calcJahresrechnungNetto(jdd, kunde, preis)) + "EUR", new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 460, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(this.FormatDezimal(this.calcMwSt(jdd, kunde, preis)) + "EUR", new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 540, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(this.FormatDezimal(this.calcJahresrechnungBrutto(jdd, kunde, preis)) + "EUR", new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 620, zeile * kleinerZeilenabstand)); } ppd.AddPrintableObject(new PrintableLineObject(Pens.LightGray, (int)linkerRand - 30, (int)kleinerZeilenabstand * (int)(zeile + 1), (int)linkerRand + 700, (int)kleinerZeilenabstand * (int)(zeile + 1))); if (rechnung) { sumRechnungsSummeNetto += this.calcJahresrechnungNetto(jdd, kunde, preis); sum10ProzMwst += this.calcMwSt(jdd, kunde, preis); sumReSumBrutto += this.calcJahresrechnungBrutto(jdd, kunde, preis); sumAKonto += jdd.HalbJahresBetrag; } zeile++; counter++; if ((counter % 65) == 0) { pdd.AddPrintPage(ppd); ppd = new PrintablePage(); zeile = 8; seitencounter++; ppd.AddPrintableObject(new PrintableTextObject("Seite " + seitencounter, new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand - 30, obererRand - 30)); ppd.AddPrintableObject(new PrintableTextObject("Rechnungsdaten " + preis.Jahr, new Font("Arial", 12, FontStyle.Bold), Brushes.Black, mittelinkerRand - 20, obererRand - 30)); ppd.AddPrintableObject(new PrintableTextObject(DateTime.Now.ToShortDateString(), new Font("Arial", 9, FontStyle.Bold), Brushes.Black, rechterRand, obererRand - 30)); ppd.AddPrintableObject(new PrintableTextObject("Name", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand - 30, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("Vorname", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 60, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("Objekt", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 160, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("Re-datum", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 300, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("AKonto 1/2", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 380, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("ReSum net.", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 460, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("10 % Mwst", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 540, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("ReSum brut.", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 620, obererRand + 15)); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)linkerRand - 30, (int)kleinerZeilenabstand * (int)(zeile), (int)linkerRand + 700, (int)kleinerZeilenabstand * (int)(zeile))); } } ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)linkerRand - 30, (int)kleinerZeilenabstand * (int)(zeile), (int)linkerRand + 700, (int)kleinerZeilenabstand * (int)(zeile))); ppd.AddPrintableObject(new PrintableTextObject("Summe", new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand - 30, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(this.FormatDezimal(sumAKonto) + "EUR", new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 380, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(this.FormatDezimal(sumRechnungsSummeNetto) + "EUR", new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 460, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(this.FormatDezimal(sum10ProzMwst)+"EUR", new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 540, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(this.FormatDezimal(sumReSumBrutto)+"EUR", new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 620, zeile * kleinerZeilenabstand)); if ((counter % 65) != 0) { pdd.AddPrintPage(ppd); } pdd.DoPrint(); }
public void AddPrintPage(PrintablePage page) { this.printPageList.Add(page); }
public void PrintMahnung1(IList<KundenData> kunden, PreisData preis) { PrintableDocument pdd = new PrintableDocument(); pdd.DocumentName = "Wasser Werk Verwaltung"; PrintablePage ppd; foreach (KundenData kunde in kunden) { ppd = new PrintablePage(); JahresDatenData jdd = this.GetJahresdataByKundenIDandYear(kunde.Id, preis.Jahr); if (jdd != null) { ppd.AddPrintableObject(new PrintableTextObject(WASSERWERK_WEINBERGER, new Font("Arial", 15, FontStyle.Bold), Brushes.Black, linkerRand, obererRand + 0 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(BAHNHOFSTRASSE_27, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 1 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(_3350_STADT_HAAG, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 2 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(TEL, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 3 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Herr/Frau/Fa", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 6 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Vorname + " " + kunde.Nachname, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 7 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Strasse, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 8 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Ort, new Font("Arial", stdFontSize, FontStyle.Bold | FontStyle.Underline), Brushes.Black, linkerRand, obererRand + 9 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Betrifft: Zahlungserinnerung Jahreswasserrechung " + preis.Jahr, new Font("Arial", 15, FontStyle.Bold), Brushes.Black, linkerRand, obererRand + 13 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(DateTime.Now.Date.ToString("dd.MM.yyyy", DateTimeFormatInfo.InvariantInfo), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand + 575, obererRand + 15 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Sehr geehrte/r Herr/Frau " + kunde.Nachname + "!", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 17 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Bitte denken Sie innerhalb der nächsten 14 Tagen an die Bezahlung unserer", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 20 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Jahreswasserrechnung " + preis.Jahr, new Font("Arial", stdFontSize, FontStyle.Bold), Brushes.Black, linkerRand, obererRand + 21 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("für das Objekt " + kunde.Objekt + ",", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand + 250, obererRand + 21 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("mit € " + this.calcJahresRechnungMinusBereitsBezahlt(jdd,kunde,preis) + " zuzüglich Mahnspesen von € 3,-.", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 22 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Sollte Ihre Bezahlung inzwischen schon unterwegs sein, betrachten Sie dieses ", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 24 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Schreiben bitte als gegenstandslos. Andernfalls überweisen Sie bitte den", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 25 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Betrag von € " + (this.calcJahresRechnungMinusBereitsBezahlt(jdd, kunde, preis) + 3.0).ToString() + " auf unser Konto Nummer 267 126 769 00, BLZ 20111, Erste Bank.", new Font("Arial", stdFontSize, FontStyle.Underline), Brushes.Black, linkerRand, obererRand + 26 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Mit bestem Dank,", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 30 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Ing. Waltraud Weinberger-Hairas", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 33 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(WASSERWERK_WEINBERGER, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 34 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(ATU_NUMMER, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 40 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(BANK_VERBINDUNG, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 41 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(TEL_FAX_MOBIL, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 42 * zeilenabstand)); pdd.AddPrintPage(ppd); } } pdd.DoPrint(); }
public void PrintMahnung2(IList<KundenData> kunden, PreisData preis) { PrintableDocument pdd = new PrintableDocument(); pdd.DocumentName = "Wasser Werk Verwaltung"; PrintablePage ppd; foreach (KundenData kunde in kunden) { ppd = new PrintablePage(); JahresDatenData jdd = this.GetJahresdataByKundenIDandYear(kunde.Id, preis.Jahr); if (jdd != null) { ppd.AddPrintableObject(new PrintableTextObject(WASSERWERK_WEINBERGER, new Font("Arial", 15, FontStyle.Bold), Brushes.Black, linkerRand, obererRand + 0 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(BAHNHOFSTRASSE_27, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 1 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(_3350_STADT_HAAG, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 2 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(TEL, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 3 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Herr/Frau/Fa", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 6 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Vorname + " " + kunde.Nachname, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 7 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Strasse, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 8 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Ort, new Font("Arial", stdFontSize, FontStyle.Bold | FontStyle.Underline), Brushes.Black, linkerRand, obererRand + 9 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Betrifft: 2. Zahlungserinnerung Jahreswasserrechung " + preis.Jahr, new Font("Arial", 16, FontStyle.Bold), Brushes.Black, linkerRand, obererRand + 13 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(DateTime.Now.Date.ToString("dd.MM.yyyy", DateTimeFormatInfo.InvariantInfo), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand + 575, obererRand + 15 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Sehr geehrte/r Herr/Frau " + kunde.Nachname + "!", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 17 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Trotz Zahlungserinnerung ist die Zahlung Ihrer Jahreswasserrechnung nicht bei uns", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 20 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("eingegangen.", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 21 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Wir ersuchen Sie dringend den Rechnungsbetrag von € " + this.calcJahresRechnungMinusBereitsBezahlt(jdd,kunde,preis) + " zuzüglich", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 23 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Mahnspesen von € 5,-, das sind", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 24 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("€ " + (this.calcJahresRechnungMinusBereitsBezahlt(jdd,kunde,preis) + 5) + " Mahnbetrag auf unser Konto Nummer", new Font("Arial", stdFontSize, FontStyle.Underline), Brushes.Black, linkerRand + 260, obererRand + 24 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("267 126 769 00, BLZ 20111, Erste Bank,", new Font("Arial", stdFontSize, FontStyle.Underline), Brushes.Black, linkerRand, obererRand + 25 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("zu überweisen.", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand + 330, obererRand + 25 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Sollte der Betrag bis zum", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 27 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(DateTime.Now.AddDays(14).Date.ToString("dd.MM.yyyy", DateTimeFormatInfo.InvariantInfo), new Font("Arial", stdFontSize, FontStyle.Bold | FontStyle.Underline), Brushes.Black, linkerRand + 205, obererRand + 27 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("nicht bei uns eingelangt sein, wird Ihr Akt", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand + 300, obererRand + 27 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("automatisch an unseren Rechtsvertreter weitergeleitet, wodurch für Sie mit", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 28 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("erheblichen Mehrkosten zu rechnen ist.", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 29 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Sollte Ihre Bezahlung inzwischen schon unterwegs sein, betrachten Sie dieses ", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 31 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Schreiben bitte als gegenstandslos.", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 32 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Mit bestem Dank,", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 35 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Ing. Waltraud Weinberger-Hairas", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 38 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(WASSERWERK_WEINBERGER, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 39 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(ATU_NUMMER, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 42 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(BANK_VERBINDUNG, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 43 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(TEL_FAX_MOBIL, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 44 * zeilenabstand)); pdd.AddPrintPage(ppd); } } pdd.DoPrint(); }
public void PrintKontrollZettel(IList<KundenData> kunden, PreisData preis) { PrintableDocument pdd = new PrintableDocument(); pdd.DocumentName = "Wasser Werk Verwaltung"; PrintablePage ppd = new PrintablePage(); int counter = 0; int zeile = 0; foreach (KundenData kunde in kunden) { JahresDatenData jdd = this.GetJahresdataByKundenIDandYear(kunde.Id, preis.Jahr); counter++; ppd.AddPrintableObject(new PrintableTextObject(kunde.Nachname + " " + kunde.Vorname + " Objekt: " + kunde.Objekt + " Jahreswasserre. " + DateTime.Now.Year.ToString(), new Font("Arial", stdFontSize, FontStyle.Bold), Brushes.Black, linkerRand, obererRand + zeile++ * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Zählerstand alt/neu m³ " + jdd.ZaehlerStandAlt + "/" + jdd.ZaehlerStandNeu + " Tz " + jdd.TauschZaehlerStandAlt + "/" + jdd.TauschZaehlerStandNeu, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + zeile++ * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Wasserverbrauch = " + this.calcVerbrauch(jdd) + " Wassergebühr pro m³ = " + preis.Preis.ToString(), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + zeile++ * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Wasserkosten = EUR " + Math.Round(this.calcVerbrauch(jdd) * preis.Preis,2) + " Zählermiete = EUR " + kunde.Zaehlermiete + " netto", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + zeile++ * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Sonstige Forderungen: " + jdd.SonstigeForderungenText + " = " + jdd.SonstigeForderungenValue, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + zeile++ * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Rechnungssumme netto = EUR " + this.calcJahresrechnungNetto(jdd,kunde,preis) + " zuzügl 10% Mwst = EUR " + this.calcMwSt(jdd,kunde,preis), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + zeile++ * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Jahresrechnungssumme gesamt incl. Mwst = EUR " + this.calcJahresrechnungBrutto(jdd,kunde,preis), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + zeile++ * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Abzüglich 1/2 Jahresrechnung = EUR " + jdd.HalbJahresBetrag, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + zeile++ * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Zahlbetrag = " + (this.calcJahresrechnungBrutto(jdd,kunde,preis) - jdd.HalbJahresBetrag) + " Bankverbindung: " + kunde.BankVerbindung, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + zeile++ * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Bekommt Rechnung: " + kunde.BekommtRechnung.ToString() + " ;" + jdd.getFullRechnungsNummerHalbJahr() + " " + jdd.getFullRechnungsNummerGanzJahr() + " Bemerkung: " + kunde.Bemerkung, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + zeile++ * zeilenabstand)); if ((counter % 5) == 0) { pdd.AddPrintPage(ppd); ppd = new PrintablePage(); zeile = 0; } else { ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)linkerRand, (int)(obererRand + zeile * zeilenabstand), (int)linkerRand + 680, (int)(obererRand + zeile * zeilenabstand))); } } if ((counter % 5) != 0) { pdd.AddPrintPage(ppd); } pdd.DoPrint(); }
public void PrintZaehlerstandabrechnungsFormular(IList<KundenData> selectedKundenList, PreisData preis, string textZaehlerstandformular, DateTime von, DateTime bis) { PrintableDocument pdd = new PrintableDocument(); pdd.DocumentName = "Wasser Werk Verwaltung"; PrintablePage ppd; foreach (KundenData kunde in selectedKundenList) { ppd = new PrintablePage(); JahresDatenData jdd = this.GetJahresdataByKundenIDandYear(kunde.Id, preis.Jahr); if (jdd != null) { ppd.AddPrintableObject(new PrintableTextObject(WASSERWERK_WEINBERGER, new Font("Arial", 15, FontStyle.Bold), Brushes.Black, linkerRand, obererRand - 2 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(BAHNHOFSTRASSE_27, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand - 1 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(_3350_STADT_HAAG, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 0 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(TEL, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 1 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Herr/Frau/Fa", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 4 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Vorname + " " + kunde.Nachname, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 5 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Strasse, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 6 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Ort, new Font("Arial", stdFontSize, FontStyle.Bold | FontStyle.Underline), Brushes.Black, linkerRand, obererRand + 7 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Ablesung des Zählerstandes " + preis.Jahr, new Font("Arial", 12, FontStyle.Bold), Brushes.Black, linkerRand, obererRand + 9 * zeilenabstand)); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)linkerRand, (int)(obererRand + 11 * zeilenabstand), (int)(linkerRand + 650), (int)(obererRand + 11 * zeilenabstand))); ppd.AddPrintableObject(new PrintableTextObject("Sehr geehrte/r Herr/Frau " + kunde.Nachname + "!", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 12 * zeilenabstand)); string[] lines = textZaehlerstandformular.Split(new string[] {"\r\n"}, StringSplitOptions.None); for(int i = 0; i < lines.Length; i++) { ppd.AddPrintableObject(new PrintableTextObject(lines[i], new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + (14 + i) * zeilenabstand)); } ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)linkerRand, (int)(obererRand + 23 * zeilenabstand), (int)(linkerRand + 650), (int)(obererRand + 23 * zeilenabstand))); ppd.AddPrintableObject(new PrintableTextObject("An das", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 24 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(WASSERWERK_WEINBERGER, new Font("Arial", 14, FontStyle.Bold), Brushes.Black, linkerRand, obererRand + 25 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(BAHNHOFSTRASSE_27, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 26 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(_3350_STADT_HAAG, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 27 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Abschnitt in den Briefschlitz", new Font("Arial", 10, FontStyle.Regular), Brushes.Black, linkerRand + 400, obererRand + 24 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Bahnhofstraße 27 werfen, oder", new Font("Arial", 10, FontStyle.Regular), Brushes.Black, linkerRand + 400, obererRand + 25 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Postgebühr beim Empfänger einheben.", new Font("Arial", 10, FontStyle.Regular), Brushes.Black, linkerRand + 400, obererRand + 26 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Ablesezeitraum: " + von.ToString("dd.MM.yyyy", DateTimeFormatInfo.InvariantInfo) + " bis " + bis.ToString("dd.MM.yyyy", DateTimeFormatInfo.InvariantInfo) + "!!!!", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 30 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Name:", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 31 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Vorname + " " + kunde.Nachname, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand + 160, obererRand + 31 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Straße:", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 32.5F * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Strasse, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand + 160, obererRand + 32.5F * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("PLZ, Ort:", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 34 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Ort, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand + 160, obererRand + 34 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Objekt:", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 35.5F * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Objekt, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand + 160, obererRand + 35.5F * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Telefon/Handy*:", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 37 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Tel, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand + 160, obererRand + 37 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Personen wohnhaft im", new Font("Arial", 10, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 38.5F * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Objekt (inkl. Kinder):", new Font("Arial", 10, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 39.2F * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.PersonenImObjekt.ToString(), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand + 160, obererRand + 38.5F * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Zähler-Nummer.", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 41.5F * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.ZaehlerNummer, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand + 160, obererRand + 41.5F * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Zähler-Stand:", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 43 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Ablesedatum:", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 44.5F * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Unterschrift:", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand + 350, obererRand + 44.5F * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("* Bitte Telefon- oder Handy-Nummer für den Fall eines Leitungsgebrechens angeben.", new Font("Arial", 10, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 46 * zeilenabstand)); for (int i = 0; i < 11; i++) { ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)linkerRand, (int)(obererRand + (31 + i * 1.5) * zeilenabstand), (int)(linkerRand + 650), (int)(obererRand + (31 + i * 1.5) * zeilenabstand))); } ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)(linkerRand), (int)(obererRand + (31) * zeilenabstand), (int)(linkerRand), (int)(obererRand + (31 + 10 * 1.5) * zeilenabstand))); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)(linkerRand + 158), (int)(obererRand + (31) * zeilenabstand), (int)(linkerRand + 158), (int)(obererRand + (31 + 6 * 1.5) * zeilenabstand))); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)(linkerRand + 403), (int)(obererRand + (31) * zeilenabstand), (int)(linkerRand + 403), (int)(obererRand + (31 + 6 * 1.5) * zeilenabstand))); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)(linkerRand + 650), (int)(obererRand + (31) * zeilenabstand), (int)(linkerRand + 650), (int)(obererRand + (31 + 10 * 1.5) * zeilenabstand))); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)(linkerRand + 158), (int)(obererRand + (31 + 7 * 1.5) * zeilenabstand), (int)(linkerRand + 158), (int)(obererRand + (31 + 10 * 1.5) * zeilenabstand))); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)(linkerRand + 403), (int)(obererRand + (31 + 7 * 1.5) * zeilenabstand), (int)(linkerRand + 403), (int)(obererRand + (31 + 8 * 1.5) * zeilenabstand))); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)(linkerRand + 348), (int)(obererRand + (31 + 9 * 1.5) * zeilenabstand), (int)(linkerRand + 348), (int)(obererRand + (31 + 10 * 1.5) * zeilenabstand))); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)(linkerRand + 452), (int)(obererRand + (31 + 9 * 1.5) * zeilenabstand), (int)(linkerRand + 452), (int)(obererRand + (31 + 10 * 1.5) * zeilenabstand))); //Fetter ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)(linkerRand + 349), (int)(obererRand + (31 + 9 * 1.5) * zeilenabstand), (int)(linkerRand + 349), (int)(obererRand + (31 + 10 * 1.5) * zeilenabstand))); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)(linkerRand + 453), (int)(obererRand + (31 + 9 * 1.5) * zeilenabstand), (int)(linkerRand + 453), (int)(obererRand + (31 + 10 * 1.5) * zeilenabstand))); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)(linkerRand + 347), (int)(obererRand + (31 + 9 * 1.5) * zeilenabstand), (int)(linkerRand + 347), (int)(obererRand + (31 + 10 * 1.5) * zeilenabstand))); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)(linkerRand + 451), (int)(obererRand + (31 + 9 * 1.5) * zeilenabstand), (int)(linkerRand + 451), (int)(obererRand + (31 + 10 * 1.5) * zeilenabstand))); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)(linkerRand + 651), (int)(obererRand + (31 + 8 * 1.5) * zeilenabstand), (int)(linkerRand + 651), (int)(obererRand + (31 + 10 * 1.5) * zeilenabstand))); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)(linkerRand + 157), (int)(obererRand + (31 + 8 * 1.5) * zeilenabstand), (int)(linkerRand + 157), (int)(obererRand + (31 + 10 * 1.5) * zeilenabstand))); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)(linkerRand + 649), (int)(obererRand + (31 + 8 * 1.5) * zeilenabstand), (int)(linkerRand + 649), (int)(obererRand + (31 + 10 * 1.5) * zeilenabstand))); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)(linkerRand + 159), (int)(obererRand + (31 + 8 * 1.5) * zeilenabstand), (int)(linkerRand + 159), (int)(obererRand + (31 + 10 * 1.5) * zeilenabstand))); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)(linkerRand + 158), (int)(obererRand + (31 + 8 * 1.5) * zeilenabstand) - 1, (int)(linkerRand + 650), (int)(obererRand + (31 + 8 * 1.5) * zeilenabstand) - 1)); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)(linkerRand + 158), (int)(obererRand + (31 + 9 * 1.5) * zeilenabstand) - 1, (int)(linkerRand + 650), (int)(obererRand + (31 + 9 * 1.5) * zeilenabstand) - 1)); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)(linkerRand + 158), (int)(obererRand + (31 + 8 * 1.5) * zeilenabstand) + 1, (int)(linkerRand + 650), (int)(obererRand + (31 + 8 * 1.5) * zeilenabstand) + 1)); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)(linkerRand + 158), (int)(obererRand + (31 + 9 * 1.5) * zeilenabstand) + 1, (int)(linkerRand + 650), (int)(obererRand + (31 + 9 * 1.5) * zeilenabstand) + 1)); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)(linkerRand + 158), (int)(obererRand + (31 + 10 * 1.5) * zeilenabstand) - 1, (int)(linkerRand + 350), (int)(obererRand + (31 + 10 * 1.5) * zeilenabstand) - 1)); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)(linkerRand + 452), (int)(obererRand + (31 + 10 * 1.5) * zeilenabstand) - 1, (int)(linkerRand + 650), (int)(obererRand + (31 + 10 * 1.5) * zeilenabstand) - 1)); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)(linkerRand + 158), (int)(obererRand + (31 + 10 * 1.5) * zeilenabstand) + 1, (int)(linkerRand + 350), (int)(obererRand + (31 + 10 * 1.5) * zeilenabstand) + 1)); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)(linkerRand + 452), (int)(obererRand + (31 + 10 * 1.5) * zeilenabstand) + 1, (int)(linkerRand + 650), (int)(obererRand + (31 + 10 * 1.5) * zeilenabstand) + 1)); pdd.AddPrintPage(ppd); } } pdd.DoPrint(); }
public void PrintBezahltCheckListe(IList<KundenData> kunden, PreisData preis) { PrintableDocument pdd = new PrintableDocument(); pdd.DocumentName = "Wasser Werk Verwaltung"; int seitencounter = 1; PrintablePage ppd = new PrintablePage(); ppd.AddPrintableObject(new PrintableTextObject("Seite " + seitencounter, new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand - 30, obererRand - 30)); ppd.AddPrintableObject(new PrintableTextObject("OFFENE RECHNUNGEN " + preis.Jahr, new Font("Arial", 12, FontStyle.Bold),Brushes.Black,mittelinkerRand - 20,obererRand - 30)); ppd.AddPrintableObject(new PrintableTextObject(DateTime.Now.ToShortDateString(), new Font("Arial", 9, FontStyle.Bold),Brushes.Black,rechterRand,obererRand - 30)); ppd.AddPrintableObject(new PrintableTextObject("Name, Vorname", new Font("Arial", 9, FontStyle.Bold),Brushes.Black,linkerRand - 30,obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("Objekt", new Font("Arial", 9, FontStyle.Bold),Brushes.Black,linkerRand + 190,obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("Rechnunssum", new Font("Arial", 9, FontStyle.Bold),Brushes.Black,linkerRand + 410,obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("bereits bezahlt", new Font("Arial", 9, FontStyle.Bold),Brushes.Black,linkerRand + 510,obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("Noch ausständig", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 610, obererRand + 15)); int kleinerZeilenabstand = 15; int zeile = 8; int counter = 0; ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)linkerRand - 30, (int)kleinerZeilenabstand * (int)(zeile), (int)linkerRand + 700, (int)kleinerZeilenabstand * (int)(zeile))); double sumSum = 0; double bereitsBezahlt = 0; double ausstaendig = 0; foreach (KundenData kunde in kunden) { JahresDatenData jdd = this.GetJahresdataByKundenIDandYear(kunde.Id, preis.Jahr); ppd.AddPrintableObject(new PrintableTextObject(kunde.Nachname + " " + kunde.Vorname, new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand - 30, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableFillRectangleObject(Brushes.White,(int)linkerRand+188,zeile * kleinerZeilenabstand + 1,300,13)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Objekt, new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 190, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(this.FormatDezimal(this.calcJahresrechnungBrutto(jdd, kunde, preis)) + " EUR", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 410, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(this.FormatDezimal(jdd.BereitsBezahlt) + " EUR", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 510, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(this.FormatDezimal(calcJahresRechnungMinusBereitsBezahlt(jdd,kunde,preis)) + " EUR", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 610, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableLineObject(Pens.LightGray, (int)linkerRand - 30, (int)kleinerZeilenabstand * (int)(zeile+1), (int)linkerRand + 700, (int)kleinerZeilenabstand * (int)(zeile+1))); sumSum += this.calcJahresrechnungBrutto(jdd, kunde, preis); bereitsBezahlt += jdd.BereitsBezahlt; ausstaendig += (this.calcJahresrechnungBrutto(jdd, kunde, preis) - jdd.BereitsBezahlt); zeile++; counter++; if ((counter % 65) == 0) { pdd.AddPrintPage(ppd); ppd = new PrintablePage(); zeile = 8; seitencounter++; ppd.AddPrintableObject(new PrintableTextObject("Seite " + seitencounter, new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand - 30, obererRand - 30)); ppd.AddPrintableObject(new PrintableTextObject("OFFENE RECHNUNGEN " + preis.Jahr, new Font("Arial", 12, FontStyle.Bold), Brushes.Black, mittelinkerRand - 20, obererRand - 30)); ppd.AddPrintableObject(new PrintableTextObject(DateTime.Now.ToShortDateString(), new Font("Arial", 9, FontStyle.Bold), Brushes.Black, rechterRand, obererRand - 30)); ppd.AddPrintableObject(new PrintableTextObject("Name, Vorname", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand - 30, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("Objekt", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 190, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("Rechnunssum", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 410, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("bereits bezahlt", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 510, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("Noch ausständig", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 610, obererRand + 15)); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)linkerRand - 30, (int)kleinerZeilenabstand * (int)(zeile), (int)linkerRand + 700, (int)kleinerZeilenabstand * (int)(zeile))); } } ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)linkerRand - 30, (int)kleinerZeilenabstand * (int)(zeile), (int)linkerRand + 700, (int)kleinerZeilenabstand * (int)(zeile))); ppd.AddPrintableObject(new PrintableTextObject("Summe", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand - 30, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(this.FormatDezimal(sumSum) + " EUR", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 410, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(this.FormatDezimal(bereitsBezahlt) + " EUR", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 510, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(this.FormatDezimal(ausstaendig) + " EUR", new Font("Arial", 9, FontStyle.Bold), Brushes.Black, linkerRand + 610, zeile * kleinerZeilenabstand)); if ((counter % 65) != 0) { pdd.AddPrintPage(ppd); } pdd.DoPrint(); }
public void PrintHalbJahresRechnungen(IList<KundenData> kunden, PreisData preis) { foreach (KundenData kunde in kunden) { if (kunde.BekommtRechnung != Rechnung.Halbjahres){ MessageBox.Show("Mindestens ein Kunde bekommt keine Halbjahresrechnung!\r\nVorgang abgebrochen!"); return; } } PrintableDocument pdd = new PrintableDocument(); pdd.DocumentName = "Wasser Werk Verwaltung"; PrintablePage ppd; foreach (KundenData kunde in kunden) { ppd = new PrintablePage(); JahresDatenData jdd = this.GetJahresdataByKundenIDandYear(kunde.Id, preis.Jahr); if (jdd != null) { if (jdd.RechnungsNummerHalbjahr == null) { jdd.RechnungsNummerHalbjahr = setHalbJahresRechnungsNummer(jdd.Id); } ppd.AddPrintableObject(new PrintableTextObject(WASSERWERK_WEINBERGER, new Font("Arial", 15, FontStyle.Bold), Brushes.Black, linkerRand, obererRand + 0 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(BAHNHOFSTRASSE_27, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 1 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(_3350_STADT_HAAG, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 2 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(TEL, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 3 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Herr/Frau/Fa", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 6 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Vorname + " " + kunde.Nachname, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 7 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Strasse, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 8 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Ort, new Font("Arial", stdFontSize, FontStyle.Bold | FontStyle.Underline), Brushes.Black, linkerRand, obererRand + 9 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("RechnungsNr: " + jdd.getFullRechnungsNummerHalbJahr(), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand + 423, obererRand + 9 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Halbjahreswasserrechnung " + preis.Jahr, new Font("Arial", 15, FontStyle.Bold), Brushes.Black, linkerRand + 180, obererRand + 13 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(DateTime.Now.Date.ToString("dd.MM.yyyy", DateTimeFormatInfo.InvariantInfo), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand + 575, obererRand + 15 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("für das Objekt:", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 17 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Objekt, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 17 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Die Rechnung ist eine Akontierung und entspricht", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 18 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("ca. der Hälfte der Vorjahresrechnung.", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 19 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Nettobetrag =", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 22 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("EUR " + FormatDezimal(calcHalbJahresrechnungNetto(jdd)) + " + " + FormatDezimal(calcHalbJahresrechnungMwSt(jdd)) + " (10% Mwst) = EUR " + FormatDezimal(jdd.HalbJahresBetrag), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 22 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Einzuzahlender Betrag =", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 25 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("EUR " + FormatDezimal(jdd.HalbJahresBetrag), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 25 * zeilenabstand)); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)linkerRand, (int)(obererRand + 26 * zeilenabstand), (int)linkerRand + 680, (int)(obererRand + 26 * zeilenabstand))); ppd.AddPrintableObject(new PrintableTextObject(kunde.Zahlung, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 29 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(ATU_NUMMER, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 35 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(BANK_VERBINDUNG, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 36 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(TEL_FAX_MOBIL, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 37 * zeilenabstand)); pdd.AddPrintPage(ppd); } this.SetRechnungsDatumHalbjahr(kunde, preis.Jahr, DateTime.Now); } pdd.DoPrint(); }
public void PrintJahresRechnungen(IList<KundenData> kunden, PreisData preis) { foreach (KundenData kunde in kunden) { if (kunde.BekommtRechnung == Rechnung.Keine) { MessageBox.Show("Mindestens ein Kunde bekommt keine Rechnung!\r\nVorgang abgebrochen!"); return; } } PrintableDocument pdd = new PrintableDocument(); pdd.DocumentName = "Wasser Werk Verwaltung"; PrintablePage ppd; CultureInfo ci = Thread.CurrentThread.CurrentCulture; NumberFormatInfo nfi = ci.NumberFormat; foreach(KundenData kunde in kunden){ ppd = new PrintablePage(); JahresDatenData jdd = this.GetJahresdataByKundenIDandYear(kunde.Id, preis.Jahr); if (jdd != null) { if (jdd.RechnungsNummerJahr == null) { jdd.RechnungsNummerJahr = setGanzJahresRechnungsNummer(jdd.Id); } ppd.AddPrintableObject(new PrintableTextObject(WASSERWERK_WEINBERGER, new Font("Arial", 15, FontStyle.Bold), Brushes.Black, linkerRand, obererRand + 0 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(BAHNHOFSTRASSE_27, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 1 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(_3350_STADT_HAAG, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 2 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(TEL, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 3 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Herr/Frau/Fa", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 6 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Vorname + " " + kunde.Nachname, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 7 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Strasse, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 8 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Ort, new Font("Arial", stdFontSize, FontStyle.Bold | FontStyle.Underline), Brushes.Black, linkerRand, obererRand + 9 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("RechnungsNr: " + jdd.getFullRechnungsNummerGanzJahr(), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand + 437, obererRand + 9.1F * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Jahreswasserrechnung " + preis.Jahr, new Font("Arial", 15, FontStyle.Bold), Brushes.Black, linkerRand + 180, obererRand + 13 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(DateTime.Now.Date.ToString("dd.MM.yyyy", DateTimeFormatInfo.InvariantInfo), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand + 575, obererRand + 15 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("für das Objekt:", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 17 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Objekt, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 17 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Zählerstand alt/neu =", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 18 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(jdd.ZaehlerStandAlt + " m³ / " + jdd.ZaehlerStandNeu + " m³", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 18 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Tauschzählerst. Einbau/neu =", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 19 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(jdd.TauschZaehlerStandAlt + " m³ / " + jdd.TauschZaehlerStandNeu + " m³", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 19 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Wasserverbrauch =", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 20 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(this.calcVerbrauch(jdd) + " m³", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 20 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Wassergebühr/m³ =", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 21 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("EUR " + FormatDezimal(preis.Preis) + " + Mwst", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 21 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Wasserkosten =", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 23 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("EUR " + FormatDezimal(Math.Round(this.calcVerbrauch(jdd) * preis.Preis, 2)), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittlererRand, obererRand + 23 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("netto", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, rechterRand, obererRand + 23 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Zählermiete/Grundgebühr =", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 24 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("EUR " + FormatDezimal(kunde.Zaehlermiete), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittlererRand, obererRand + 24 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("netto", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, rechterRand, obererRand + 24 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Sonstige Forderungen: " + jdd.SonstigeForderungenText + " =", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 25 * zeilenabstand)); ppd.AddPrintableObject(new PrintableFillRectangleObject(Brushes.White, (int)mittlererRand + 2, (int)(obererRand + 25 * zeilenabstand), 300, 20)); ppd.AddPrintableObject(new PrintableTextObject("EUR " + FormatDezimal(jdd.SonstigeForderungenValue), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittlererRand, obererRand + 25 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("netto", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, rechterRand, obererRand + 25 * zeilenabstand)); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)linkerRand, (int)(obererRand + 26 * zeilenabstand), (int)linkerRand + 680, (int)(obererRand + 26 * zeilenabstand))); ppd.AddPrintableObject(new PrintableTextObject("Rechnungssumme netto =", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 26 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("EUR " + FormatDezimal(this.calcJahresrechnungNetto(jdd, kunde, preis)), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittlererRand, obererRand + 26 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("zuzügl 10% Mwst =", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 27 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("EUR " + FormatDezimal(this.calcMwSt(jdd,kunde,preis)), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittlererRand, obererRand + 27 * zeilenabstand)); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)linkerRand, (int)(obererRand + 28 * zeilenabstand), (int)linkerRand + 680, (int)(obererRand + 28 * zeilenabstand))); ppd.AddPrintableObject(new PrintableTextObject("Jahressumme gesamt =", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 28 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("EUR " + FormatDezimal(this.calcJahresrechnungBrutto(jdd,kunde,preis)), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittlererRand, obererRand + 28 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("incl. Mwst.", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, rechterRand, obererRand + 28 * zeilenabstand)); if (kunde.BekommtRechnung == Rechnung.Halbjahres) { ppd.AddPrintableObject(new PrintableTextObject("Abzüglich Akontozahlung Halbjahr inkl. Mwst =", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 29 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("EUR -" + FormatDezimal(jdd.BereitsBezahlt), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittlererRand, obererRand + 29 * zeilenabstand)); } ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)linkerRand, (int)(obererRand + 31 * zeilenabstand), (int)linkerRand + 680, (int)(obererRand + 31 * zeilenabstand))); ppd.AddPrintableObject(new PrintableTextObject("Einzuzahlender Betrag = ", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 31 * zeilenabstand)); if (kunde.BekommtRechnung == Rechnung.Halbjahres) { ppd.AddPrintableObject(new PrintableTextObject("EUR " + FormatDezimal(this.calcJahresRechnungMinusBereitsBezahlt(jdd,kunde,preis)), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittlererRand, obererRand + 31 * zeilenabstand)); } if (kunde.BekommtRechnung == Rechnung.Jahres) { ppd.AddPrintableObject(new PrintableTextObject("EUR " + FormatDezimal((this.calcJahresrechnungBrutto(jdd, kunde, preis))), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittlererRand, obererRand + 31 * zeilenabstand)); } ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)linkerRand, (int)(obererRand + 32 * zeilenabstand), (int)linkerRand + 680, (int)(obererRand + 32 * zeilenabstand))); ppd.AddPrintableObject(new PrintableTextObject(kunde.Zahlung, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 33 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(ATU_NUMMER, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 37 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(BANK_VERBINDUNG, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 38 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(TEL_FAX_MOBIL, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 39 * zeilenabstand)); pdd.AddPrintPage(ppd); } this.SetRechnungsDatumJahr(kunde, preis.Jahr, DateTime.Now); } pdd.DoPrint(); }
//ID Vorname Name Objekt Re-Betrag netto Mwst Re-Betrag brutto public void PrintRechnungsAusgangsListe(IList<KundenData> kunden, PreisData preis) { PrintableDocument pdd = new PrintableDocument(); pdd.DocumentName = "Wasser Werk Verwaltung"; int seitencounter = 1; int kleinerZeilenabstand = 15; int zeile = 8; int counter = 0; PrintablePage ppd = new PrintablePage(); ppd.AddPrintableObject(new PrintableTextObject("Seite " + seitencounter, new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand - 30, obererRand - 30)); ppd.AddPrintableObject(new PrintableTextObject("RechnungsAusgangsListe " + preis.Jahr, new Font("Arial", 12, FontStyle.Bold), Brushes.Black, mittelinkerRand - 20, obererRand - 30)); ppd.AddPrintableObject(new PrintableTextObject(DateTime.Now.ToShortDateString(), new Font("Arial", 8, FontStyle.Bold), Brushes.Black, rechterRand, obererRand - 30)); ppd.AddPrintableObject(new PrintableTextObject("ID", new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand - 40, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("Name, Vorname", new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand -10, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("Objekt", new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 155, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("Re-Betrag netto", new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 350, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("Mwst", new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 450, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("Re-Betrag brutto", new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 510, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("RechnungsNr", new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 610, obererRand + 15)); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)linkerRand - 40, (int)kleinerZeilenabstand * (int)(zeile), (int)linkerRand + 695, (int)kleinerZeilenabstand * (int)(zeile))); foreach (KundenData kunde in kunden) { JahresDatenData jdd = this.GetJahresdataByKundenIDandYear(kunde.Id, preis.Jahr); ppd.AddPrintableObject(new PrintableTextObject(Convert.ToString(kunde.Id), new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand - 40, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Nachname + " " + kunde.Vorname, new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand - 10, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableFillRectangleObject(Brushes.White, (int)linkerRand + 153, zeile * kleinerZeilenabstand + 1, 300, 13)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Objekt, new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 155, zeile * kleinerZeilenabstand)); if (kunde.BekommtRechnung == Rechnung.Halbjahres) { ppd.AddPrintableObject(new PrintableTextObject(FormatDezimal(calcHalbJahresrechnungNetto(jdd)), new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 350, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(FormatDezimal(calcHalbJahresrechnungMwSt(jdd)), new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 450, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(FormatDezimal(jdd.HalbJahresBetrag), new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 510, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(jdd.getFullRechnungsNummerHalbJahr(), new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 610, zeile * kleinerZeilenabstand)); zeile++; } if (kunde.BekommtRechnung == Rechnung.Halbjahres || kunde.BekommtRechnung == Rechnung.Jahres) { ppd.AddPrintableObject(new PrintableTextObject(FormatDezimal(this.calcJahresrechnungNetto(jdd, kunde, preis)), new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 350, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(FormatDezimal(this.calcMwSt(jdd, kunde, preis)), new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 450, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(FormatDezimal(this.calcJahresrechnungBrutto(jdd, kunde, preis)), new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 510, zeile * kleinerZeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(jdd.getFullRechnungsNummerGanzJahr(), new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 610, zeile * kleinerZeilenabstand)); } if (kunde.BekommtRechnung == Rechnung.Keine) { ppd.AddPrintableObject(new PrintableTextObject("Kunde bekommt keine Rechnung!", new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 350, zeile * kleinerZeilenabstand)); } ppd.AddPrintableObject(new PrintableLineObject(Pens.Gray, (int)linkerRand - 40, (int)kleinerZeilenabstand * (int)(zeile + 1), (int)linkerRand + 700, (int)kleinerZeilenabstand * (int)(zeile + 1))); zeile++; counter++; if ((counter % 33) == 0) { pdd.AddPrintPage(ppd); ppd = new PrintablePage(); zeile = 8; seitencounter++; ppd.AddPrintableObject(new PrintableTextObject("Seite " + seitencounter, new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand - 30, obererRand - 30)); ppd.AddPrintableObject(new PrintableTextObject("RechnungsAusgangsListe " + preis.Jahr, new Font("Arial", 12, FontStyle.Bold), Brushes.Black, mittelinkerRand - 20, obererRand - 30)); ppd.AddPrintableObject(new PrintableTextObject(DateTime.Now.ToShortDateString(), new Font("Arial", 8, FontStyle.Bold), Brushes.Black, rechterRand, obererRand - 30)); ppd.AddPrintableObject(new PrintableTextObject("ID", new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand - 40, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("Name, Vorname", new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand - 10, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("Objekt", new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 155, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("Re-Betrag netto", new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 350, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("Mwst", new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 450, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("Re-Betrag brutto", new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 510, obererRand + 15)); ppd.AddPrintableObject(new PrintableTextObject("RechnungsNr", new Font("Arial", 8, FontStyle.Bold), Brushes.Black, linkerRand + 610, obererRand + 15)); ppd.AddPrintableObject(new PrintableLineObject(Pens.Black, (int)linkerRand - 40, (int)kleinerZeilenabstand * (int)(zeile), (int)linkerRand + 695, (int)kleinerZeilenabstand * (int)(zeile))); } } if ((counter % 33) != 0) { pdd.AddPrintPage(ppd); } pdd.DoPrint(); }
public void PrintStammdaten(IList<KundenData> kunden) { PrintableDocument pdd = new PrintableDocument(); pdd.DocumentName = "Wasser Werk Verwaltung Stammdaten"; PrintablePage ppd; foreach (KundenData kunde in kunden) { ppd = new PrintablePage(); ppd.AddPrintableObject(new PrintableTextObject(WASSERWERK_WEINBERGER, new Font("Arial", 15, FontStyle.Bold), Brushes.Black, linkerRand, obererRand + 0 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(BAHNHOFSTRASSE_27, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 1 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(_3350_STADT_HAAG, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 2 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(TEL, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 3 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(DateTime.Now.Date.ToString("dd.MM.yyyy", DateTimeFormatInfo.InvariantInfo), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand + 575, obererRand + 0 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Kundenstammdatenblatt ", new Font("Arial", stdFontSize + 1, FontStyle.Bold), Brushes.Black, linkerRand, obererRand + 6 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Kundennummer: ", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 8 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Id.ToString(), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 8 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Vorname: ", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 9 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Vorname, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 9 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Nachname: ", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 10 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Nachname, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 10 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Strasse: ", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 11 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Strasse, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 11 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Ort: ", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 12 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Ort, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 12 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Objekt: ", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 13 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Objekt, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 13 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Tel: ", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 14 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Tel, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 14 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Hausbesitzer: ", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 15 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Hausbesitzer, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 15 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Bankverbindung: ", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 16 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.BankVerbindung, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 16 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Eichdatum: ", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 17 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.EichDatum.Date.ToString("dd.MM.yyyy", DateTimeFormatInfo.InvariantInfo), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 17 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Zählernummer: ", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 18 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.ZaehlerNummer, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 18 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Einbaudatum: ", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 19 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.EinbauDatum.Date.ToString("dd.MM.yyyy", DateTimeFormatInfo.InvariantInfo), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 19 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Erklährung: ", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 20 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Erkl, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 20 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Tauschdatum: ", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 21 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.TauschDatum.Date.ToString("dd.MM.yyyy", DateTimeFormatInfo.InvariantInfo), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 21 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Zählermiete: ", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 22 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Zaehlermiete.ToString(), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 22 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Bemerkung: ", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 23 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Bemerkung, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 23 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Zahlung: ", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 24 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Zahlung, new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 24 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Leitungskreis: ", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 25 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.Leitungskreis.ToString(), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 25 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Personen im Objekt: ", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 26 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.PersonenImObjekt.ToString(), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 26 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject("Rechnung: ", new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, linkerRand, obererRand + 27 * zeilenabstand)); ppd.AddPrintableObject(new PrintableTextObject(kunde.BekommtRechnung.ToString(), new Font("Arial", stdFontSize, FontStyle.Regular), Brushes.Black, mittelinkerRand, obererRand + 27 * zeilenabstand)); pdd.AddPrintPage(ppd); } pdd.DoPrint(); }