using System; using System.Collections.Generic; using AdeptusPrinting.Framework; using RvWIN.Data.EF; using RvWIN.Modules.Anwendung.Models.Tools; namespace RvWIN.Printing.PrintingBusinessClasses { class GebuchteExtrasPrintingBusinessClass : PrintingBusinessClass { #region properties public String AnzahlGebucht { get; set; } public String Text { get; set; } public String TatsaechlicherPreis { get; set; } public String BerechneteSumme { get; set; } #endregion #region constructors static GebuchteExtrasPrintingBusinessClass() { AddFriendlyName("GebuchteExtrasPrintingBusinessClass", "Gebuchtes Extra"); } public GebuchteExtrasPrintingBusinessClass() : base() { } public GebuchteExtrasPrintingBusinessClass(GebuchtesExtra aGebuchtesExtra) : base() { AnzahlGebucht = String.Format("{0,2}", aGebuchtesExtra.AnzahlGebucht); Text = aGebuchtesExtra.ReisenExtra.Text; TatsaechlicherPreis = String.Format("{0,8:c}", aGebuchtesExtra.ReisenExtra.TatsaechlicherPreis); BerechneteSumme = String.Format("{0,8:c}", aGebuchtesExtra.BerechneteSumme); } #endregion } class BuchungPrintingBusinessClass : PrintingBusinessClass { #region Properties #region Kunde public String KundeAnrede { get; set; } public String KundeTitel { get; set; } public String KundeNachname { get; set; } public String KundeVorname { get; set; } public String KundeVorname2 { get; set; } public String KundeVornamen { get; set; } public String KundeStrasse { get; set; } public String KundeStrasseZusatz { get; set; } public String KundeStrasseNummer { get; set; } public String KundePLZ { get; set; } public String KundeOrt { get; set; } public String KundeOrtsteil { get; set; } public String KundeAnsprache { get; set; } public String KundeNummer { get; set; } public String KundeNummerFuerAnschriftenFeld { get; set; } #endregion #region Reise public String ReiseNummer { get; set; } public String ReiseName { get; set; } public String ReisePreis { get; set; } public String ReiseZahlungsZiel { get; set; } public int ReiseZahlungsZielAlsZahl { get; set; } #endregion #region Termin public String TerminNummer { get; set; } public String TerminDatumHinfahrt { get; set; } #endregion #region Einstieg public String EinstiegDatum { get; set; } public String EinstiegUhrzeit { get; set; } public String EinstiegHalstestelle { get; set; } #endregion #region Buchung public String BuchungNummer { get; set; } public String BuchungPAX { get; set; } public String BuchungZimmerZusammenfassung { get; set; } public String BuchungTeilnehmerListe { get; set; } public String BuchungExterneBemerkungen { get; set; } public String BuchungInterneBemerkungen { get; set; } public String BuchungGrundpreis { get; set; } public String BuchungGesammteSumme { get; set; } public String BuchungEingeloesteGutscheine { get; set; } public String BuchungEingegangeneZahlungen { get; set; } public String BuchungNochOffeneSumme { get; set; } public decimal BuchungNochOffeneSummeAlsZahl { get; set; } public List BuchungGebuchteExtras { get; set; } public String BuchungSummeSonstiges { get; set; } #endregion #endregion #region Constructors static BuchungPrintingBusinessClass() { AddFriendlyName("BuchungPrintingBusinessClass", "Buchung"); } public BuchungPrintingBusinessClass() : base() { } public BuchungPrintingBusinessClass(Buchung aBuchung) : base() { KundeAnrede = aBuchung.Kunde.Anrede; KundeTitel = aBuchung.Kunde.Titel; KundeNachname = aBuchung.Kunde.Nachname; KundeVorname = aBuchung.Kunde.Vorname; KundeVorname2 = aBuchung.Kunde.Vorname2; KundeVornamen = KundeVorname2 != null && KundeVorname2 != "" ? KundeVorname + " u. " + KundeVorname2 : KundeVorname; KundeStrasse = aBuchung.Kunde.Strasse; KundeStrasseZusatz = aBuchung.Kunde.StrasseZusatz; KundeStrasseNummer = aBuchung.Kunde.StrasseNummer; KundePLZ = aBuchung.Kunde.PLZ; KundeOrt = aBuchung.Kunde.Ort; KundeOrtsteil = aBuchung.Kunde.Ortsteil; KundeAnsprache = aBuchung.Kunde.Ansprache; KundeNummer = aBuchung.Kunde.Nummer.ToString(); KundeNummerFuerAnschriftenFeld = String.Format("##{0:0000000000}##", aBuchung.Kunde.Nummer); ReiseNummer = RvWinTools.FormatRTB(aBuchung.RNr); ReiseName = aBuchung.Reise.Name; ReisePreis = String.Format("{0,10:c}", aBuchung.Termin.Grundpreis); ReiseZahlungsZielAlsZahl = aBuchung.Reise.ZahlungsZiel; ReiseZahlungsZiel = ((TimeSpan)(aBuchung.Termin.Hinfahrt - DateTime.Today)).Days > aBuchung.Reise.ZahlungsZiel ? String.Format("Ihre Zahlung muß spätestens zum {0:d} auf unserem Konto verbucht sein.", ((DateTime)(aBuchung.Termin.Hinfahrt)).AddDays(-1 * aBuchung.Reise.ZahlungsZiel)) : "Wir erwarten Ihre Zahlung umgehend auf unser Konto."; TerminNummer = RvWinTools.FormatRTB(aBuchung.RNr, aBuchung.TNr); TerminDatumHinfahrt = String.Format("{0:D}", aBuchung.Termin.Hinfahrt); EinstiegDatum = String.Format("{0:D}", aBuchung.Einstieg.EinstiegsDatum); EinstiegUhrzeit = String.Format("{0:HH:mm} Uhr", Convert.ToDateTime(aBuchung.Einstieg.Uhrzeit.ToString())); EinstiegHalstestelle = aBuchung.Einstieg.EinstiegsOrt; BuchungNummer = RvWinTools.FormatRTB(aBuchung.RNr, aBuchung.TNr, aBuchung.BNr); BuchungPAX = String.Format("{0,2}", aBuchung.PAX); BuchungZimmerZusammenfassung = ""; if (aBuchung.Gebuchte4BettZimmer > 0) BuchungZimmerZusammenfassung += String.Format("{0,2}", aBuchung.Gebuchte4BettZimmer) + "x 4Z"; if (aBuchung.Gebuchte3BettZimmer > 0) BuchungZimmerZusammenfassung += (BuchungZimmerZusammenfassung != "" ? ", " : "") + String.Format("{0,2}", aBuchung.Gebuchte3BettZimmer) + "x 3Z"; if (aBuchung.Gebuchte2BettZimmer > 0) BuchungZimmerZusammenfassung += (BuchungZimmerZusammenfassung != "" ? ", " : "") + String.Format("{0,2}", aBuchung.Gebuchte2BettZimmer) + "x DZ"; if (aBuchung.Gebuchte1BettZimmer > 0) BuchungZimmerZusammenfassung += (BuchungZimmerZusammenfassung != "" ? ", " : "") + String.Format("{0,2}", aBuchung.Gebuchte1BettZimmer) + "x EZ"; if (BuchungZimmerZusammenfassung == "" && aBuchung.WirdBeherbergt) BuchungZimmerZusammenfassung = "DZ mit " + aBuchung.WohnVerhaeltnisDatenAsString; if (aBuchung.Beherbergt) BuchungZimmerZusammenfassung += " (DZ mit " + aBuchung.WohnVerhaeltnisDatenAsString + ")"; BuchungTeilnehmerListe = ""; foreach (BuchungsMitfahrer objMitfahrer in aBuchung.GebuchteMitfahrer) BuchungTeilnehmerListe += (BuchungTeilnehmerListe != "" ? "\n" : "") + objMitfahrer.ToString(); BuchungExterneBemerkungen = aBuchung.ExterneBemerkungen; BuchungInterneBemerkungen = aBuchung.InterneBemerkungen; BuchungGrundpreis = String.Format("{0,10:c}", aBuchung.PAX * aBuchung.Termin.Grundpreis); BuchungGesammteSumme = String.Format("{0,10:c}", aBuchung.ZuZahlen); BuchungEingeloesteGutscheine = ""; foreach (BuchungsGutschein objGutschein in aBuchung.EingeloesteGutscheine) BuchungEingeloesteGutscheine += (BuchungEingeloesteGutscheine != "" ? "\n" : "") + String.Format("{0:000000} vom {1:d} mit Wert {2,8:C}", objGutschein.Gutschein.GutscheinNr, objGutschein.Gutschein.ErstellungsDatum, objGutschein.Gutschein.Wert); if (BuchungEingeloesteGutscheine != "") BuchungEingeloesteGutscheine += "\n" + new String(' ', 38) + String.Format("+ {0,10:c}", aBuchung.SummeDerEingeloestenGutscheine); BuchungEingegangeneZahlungen = aBuchung.GesamtBezahlt > 0 ? String.Format("{0,10:c}", aBuchung.GesamtBezahlt) : ""; BuchungNochOffeneSummeAlsZahl = aBuchung.NochOffeneSumme; BuchungNochOffeneSumme = String.Format("{0,10:c}", aBuchung.NochOffeneSumme); BuchungGebuchteExtras = new List(); foreach (GebuchtesExtra objGebuchtesExtra in aBuchung.GebuchteExtras) BuchungGebuchteExtras.Add(new GebuchteExtrasPrintingBusinessClass(objGebuchtesExtra)); BuchungSummeSonstiges = String.Format("{0,10:c}", aBuchung.Sonstiges); } #endregion } }