public BelegDruckDTO(VorgangDTO vorgang, BelegDTO beleg) { CultureInfo culture = new CultureInfo("de-de"); Salden = new ObservableCollection <BelegSaldoDruckDTO>(); PositionsObjekte = new ObservableCollection <BelegPositionDruckDTO>(); if (beleg != null && vorgang != null) { beleg.SetupObjekte(vorgang); this.BelegGuid = beleg.BelegGuid; this.BelegArt = beleg.BelegArt; this.BelegNummer = beleg.BelegNummer; this.BelegDatum = beleg.BelegDatum; this.BelegJahr = beleg.BelegJahr; this.Schlusstext = beleg.Schlusstext; this.Kommission = string.IsNullOrEmpty(vorgang.Kommission)?String.Empty : "Kommission: " + vorgang.Kommission; this.Ausfuehrungsdatum = string.IsNullOrEmpty(beleg.AusfuehrungsDatum) ? String.Empty : "Ausführungsdatum: " + beleg.AusfuehrungsDatum; if (string.IsNullOrEmpty(beleg.BelegTitelUeberschrift)) { switch (beleg.BelegArt) { case "AB": BelegTitelUeberschrift = "Auftragsbestätigung"; break; default: BelegTitelUeberschrift = beleg.BelegArt; break; } if (string.IsNullOrEmpty(beleg.BelegTitelZeile1)) { switch (beleg.BelegArt) { case "Rechnung": BelegTitelZeile1 = $"Nr. {beleg.BelegNummer} vom {beleg.BelegDatum.ToString(culture.DateTimeFormat.ShortDatePattern, culture)}"; BelegTitelZeile2 = $"Vorgang Nr. {vorgang.VorgangsNummer}"; break; default: BelegTitelZeile1 = $"Vorgang Nr. {vorgang.VorgangsNummer} vom " + beleg.BelegDatum.ToString(culture.DateTimeFormat.ShortDatePattern, culture); break; } } } else { BelegTitelUeberschrift = beleg.BelegTitelUeberschrift; BelegTitelZeile1 = beleg.BelegTitelZeile1; BelegTitelZeile2 = beleg.BelegTitelZeile2; } this.TextFuerAnschreiben = beleg.TextFuerAnschreiben; this.BelegAdresse = new AdresseDruckDTO(beleg.BelegAdresse); this.VersandAdresse = new AdresseDruckDTO(beleg.VersandAdresse); bool preiseAnzeigen = beleg.BelegArt != "Lieferschein" && beleg.BelegArt != "Bestellschein"; foreach (BelegPositionDTO dto in beleg.PositionsObjekte) { if (!dto.IstAktiv && !dto.IstAlternativPosition) { continue; } this.PositionsObjekte.Add(new BelegPositionDruckDTO(dto, preiseAnzeigen)); } if (preiseAnzeigen) { foreach (BelegSaldoDTO dto in beleg.Salden) { this.Salden.Add(new BelegSaldoDruckDTO(dto)); } } } }
public void SetupObjekte(VorgangDTO vorgang) { PositionsObjekte = new ObservableCollection <BelegPositionDTO>(); Positionen.ForEach(p => this.PositionsObjekte.Add(vorgang.Positionen.Single( pos => pos.BelegPositionGuid == p))); }