Files
BeWoPlaner/Service/Dokumentverwaltung/VgaPlaceholderManager.cs
2025-11-28 14:54:24 +01:00

150 lines
12 KiB
C#

using BeWo.Data.Access;
using BeWo.Data.Entities;
using BS.Shared;
using BS.Shared.DataContracts;
using DevExpress.XtraRichEdit;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Media.Imaging;
namespace BeWo.Service.Dokumentverwaltung
{
public class VgaPlaceholderManager : PlaceholderManager
{
public override List<PlatzhalterDC> GetPlatzhalter()
{
List<PlatzhalterDC> liste = new List<PlatzhalterDC>();
PlatzhalterDC vga = new PlatzhalterDC()
{
Bezeichnung = "Vermittlung gemeinnütziger Arbeit",
Children = new List<PlatzhalterDC>(),
IconType = "BoyAndGirl"
};
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "AZ der Staatsanwaltschaft/des Gerichts", Platzhalter = "AktenzeichenGericht", FieldName = "CustomerVermittlungArbeit.AktenzeichenGericht", IconType = "AB"});
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Eigenes Aktenzeichen", Platzhalter = "EigenesAktenzeichen", FieldName = "CustomerVermittlungArbeit.EigenesAktenzeichen", IconType = "AB" });
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Auftragseingang", Platzhalter = "Auftragseingang", FieldName = "CustomerVermittlungArbeit.Auftragseingang", IconType = "AB", Format = "dd.MM.yyyy" });
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Auftragsherkunft", Platzhalter = "Auftragsherkunft", FieldName = "CustomerVermittlungArbeit.Auftragsherkunft.Value", IconType = "AB" });
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Vermittlungsgrundlage", Platzhalter = "Vermittlungsgrundlage", FieldName = "CustomerVermittlungArbeit.Vermittlungsgrundlage.Value", IconType = "AB" });
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Tagessätze", Platzhalter = "Tagessatze", FieldName = "CustomerVermittlungArbeit.Tagessatze", IconType = "AB", Format = "c" });
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Tagessatzhöhe", Platzhalter = "Tagessatzhohe", FieldName = "CustomerVermittlungArbeit.Tagessatzhohe", IconType = "AB", Format = "c" });
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Höhe der Geldstrafe", Platzhalter = "HoheDerGeldstrafe", FieldName = "CustomerVermittlungArbeit.HoheDerGeldstrafe", IconType = "AB", Format = "c" });
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Zu leistende Arbeitsstunden", Platzhalter = "ZuLeistendeArbeitsstunden", FieldName = "CustomerVermittlungArbeit.ZuLeistendeArbeitsstunden", IconType = "AB", Format = "0.0#" });
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Hinweis", Platzhalter = "Hinweis", FieldName = "CustomerVermittlungArbeit.Hinweis", IconType = "AB" });
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Termin", Platzhalter = "Termin", FieldName = "CustomerVermittlungArbeit.Termin", IconType = "AB", Format = "dd.MM.yyyy" });
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Bearbeitungsstatus", Platzhalter = "CustomerVermittlungBearbeitungsstatus", FieldName = "CustomerVermittlungArbeit.CustomerVermittlungBearbeitungsstatus", IconType = "AB" });
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Auftragsrückgabe", Platzhalter = "Auftragsruckgabe", FieldName = "CustomerVermittlungArbeit.Auftragsruckgabe", IconType = "AB", Format = "dd.MM.yyyy" });
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Verlauf", Platzhalter = "Verlauf", FieldName = "CustomerVermittlungArbeit.Verlauf.Value", IconType = "AB" });
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Abgeleistete Stunden", Platzhalter = "AbgeleisteteStunden", FieldName = "CustomerVermittlungArbeit.AbgeleisteteStunden", IconType = "AB", Format = "0.0#" });
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Ersparte Hafttage", Platzhalter = "ErsparteHafttage", FieldName = "CustomerVermittlungArbeit.ErsparteHafttage", IconType = "AB", Format = "0.##" });
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Geleistete Ratenzahlung", Platzhalter = "GeleisteteRatenzahlung", FieldName = "CustomerVermittlungArbeit.GeleisteteRatenzahlung", IconType = "AB", Format = "c" });
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Geleistete Einmalzahlung", Platzhalter = "GeleisteteEinmalzahlung", FieldName = "CustomerVermittlungArbeit.GeleisteteEinmalzahlung", IconType = "AB", Format = "c" });
vga.Children.Add(new PlatzhalterDC() { Bezeichnung = "Bemerkung", Platzhalter = "Bemerkung", FieldName = "CustomerVermittlungArbeit.Bemerkung", IconType = "AB" });
PlatzhalterDC auftraggeber = new PlatzhalterDC()
{
Bezeichnung = "Auftraggeber",
Children = new List<PlatzhalterDC>(),
IconType = "BoyAndGirl"
};
auftraggeber.Children.Add(new PlatzhalterDC { Bezeichnung = "Institution", Platzhalter = "AGInstitution", FieldName = "CustomerVermittlungArbeit.Auftraggeber.Name", IconType = "AB" });
auftraggeber.Children.Add(new PlatzhalterDC { Bezeichnung = "Anrede", Platzhalter = "AGAnrede", FieldName = "CustomerVermittlungArbeit.AuftraggeberAnsprechpartner.Anrede", IconType = "AB" });
auftraggeber.Children.Add(new PlatzhalterDC { Bezeichnung = "Briefanrede", Platzhalter = "AGBriefanrede", FieldName = "CustomerVermittlungArbeit.AuftraggeberAnsprechpartner.Briefanrede", IconType = "AB" });
auftraggeber.Children.Add(new PlatzhalterDC() { Bezeichnung = "Vorname", Platzhalter = "AGVorname", FieldName = "CustomerVermittlungArbeit.AuftraggeberAnsprechpartner.FirstName", IconType = "AB" });
auftraggeber.Children.Add(new PlatzhalterDC() { Bezeichnung = "Nachname", Platzhalter = "AGNachname", FieldName = "CustomerVermittlungArbeit.AuftraggeberAnsprechpartner.LastName", IconType = "AB" });
auftraggeber.Children.Add(new PlatzhalterDC() { Bezeichnung = "Straße", Platzhalter = "AGStrasse", IconType = "AB", FieldName = "CustomerVermittlungArbeit.AuftraggeberAnsprechpartner.Address.Street" });
auftraggeber.Children.Add(new PlatzhalterDC() { Bezeichnung = "PLZ", Platzhalter = "AGPLZ", IconType = "AB", FieldName = "CustomerVermittlungArbeit.AuftraggeberAnsprechpartner.Address.PostalCode" });
auftraggeber.Children.Add(new PlatzhalterDC() { Bezeichnung = "Ort", Platzhalter = "AGOrt", IconType = "AB", FieldName = "CustomerVermittlungArbeit.AuftraggeberAnsprechpartner.Address.Town" });
auftraggeber.Children.Add(new PlatzhalterDC() { Bezeichnung = "Telefon", Platzhalter = "AGTelefon", FieldName = "CustomerVermittlungArbeit.AuftraggeberAnsprechpartner.Contacts", IconType = "AB" });
auftraggeber.Children.Add(new PlatzhalterDC() { Bezeichnung = "Handy", Platzhalter = "AGHandy", FieldName = "CustomerVermittlungArbeit.AuftraggeberAnsprechpartner.Contacts", IconType = "AB" });
auftraggeber.Children.Add(new PlatzhalterDC() { Bezeichnung = "E-Mail", Platzhalter = "AGEmail", FieldName = "CustomerVermittlungArbeit.AuftraggeberAnsprechpartner.Contacts", IconType = "AB" });
auftraggeber.Children.Add(new PlatzhalterDC() { Bezeichnung = "Fax", Platzhalter = "AGFax", FieldName = "CustomerVermittlungArbeit.AuftraggeberAnsprechpartner.Contacts", IconType = "AB" });
vga.Children.Add(auftraggeber);
PlatzhalterDC einsatzstelle = new PlatzhalterDC()
{
Bezeichnung = "Einsatzstelle",
Children = new List<PlatzhalterDC>(),
IconType = "BoyAndGirl"
};
einsatzstelle.Children.Add(new PlatzhalterDC { Bezeichnung = "Institution", Platzhalter = "ESInstitution", FieldName = "CustomerVermittlungArbeit.Einsatzstelle.Name", IconType = "AB" });
einsatzstelle.Children.Add(new PlatzhalterDC { Bezeichnung = "Anrede", Platzhalter = "ESAnrede", FieldName = "CustomerVermittlungArbeit.EinsatzstelleAnsprechpartner.Anrede", IconType = "AB" });
einsatzstelle.Children.Add(new PlatzhalterDC { Bezeichnung = "Briefanrede", Platzhalter = "ESBriefanrede", FieldName = "CustomerVermittlungArbeit.EinsatzstelleAnsprechpartner.Briefanrede", IconType = "AB" });
einsatzstelle.Children.Add(new PlatzhalterDC() { Bezeichnung = "Vorname", Platzhalter = "ESVorname", FieldName = "CustomerVermittlungArbeit.EinsatzstelleAnsprechpartner.FirstName", IconType = "AB" });
einsatzstelle.Children.Add(new PlatzhalterDC() { Bezeichnung = "Nachname", Platzhalter = "ESNachname", FieldName = "CustomerVermittlungArbeit.EinsatzstelleAnsprechpartner.LastName", IconType = "AB" });
einsatzstelle.Children.Add(new PlatzhalterDC() { Bezeichnung = "Straße", Platzhalter = "ESStrasse", IconType = "AB", FieldName = "CustomerVermittlungArbeit.EinsatzstelleAnsprechpartner.Address.Street" });
einsatzstelle.Children.Add(new PlatzhalterDC() { Bezeichnung = "PLZ", Platzhalter = "ESPLZ", IconType = "AB", FieldName = "CustomerVermittlungArbeit.EinsatzstelleAnsprechpartner.Address.PostalCode" });
einsatzstelle.Children.Add(new PlatzhalterDC() { Bezeichnung = "Ort", Platzhalter = "ESOrt", IconType = "AB", FieldName = "CustomerVermittlungArbeit.EinsatzstelleAnsprechpartner.Address.Town" });
einsatzstelle.Children.Add(new PlatzhalterDC() { Bezeichnung = "Telefon", Platzhalter = "ESTelefon", FieldName = "CustomerVermittlungArbeit.EinsatzstelleAnsprechpartner.Contacts", IconType = "AB" });
einsatzstelle.Children.Add(new PlatzhalterDC() { Bezeichnung = "Handy", Platzhalter = "ESHandy", FieldName = "CustomerVermittlungArbeit.EinsatzstelleAnsprechpartner.Contacts", IconType = "AB" });
einsatzstelle.Children.Add(new PlatzhalterDC() { Bezeichnung = "E-Mail", Platzhalter = "ESEmail", FieldName = "CustomerVermittlungArbeit.EinsatzstelleAnsprechpartner.Contacts", IconType = "AB" });
einsatzstelle.Children.Add(new PlatzhalterDC() { Bezeichnung = "Fax", Platzhalter = "ESFax", FieldName = "CustomerVermittlungArbeit.EinsatzstelleAnsprechpartner.Contacts", IconType = "AB" });
vga.Children.Add(einsatzstelle);
liste.Add(vga);
return liste;
}
public override String GetPlaceholderValue(PlatzhalterDC ph, Object obj)
{
return GetPlaceholderValueForCustomer(ph, obj as Customer);
}
public String GetPlaceholderValueForCustomer(PlatzhalterDC ph, Customer customer)
{
if (customer == null)
{
return String.Empty;
}
if (ph.FieldName.Contains("CustomerVermittlungArbeit"))
{
var cva = GetCurrentCustomerVermittlungArbeit(customer);
if (cva != null)
{
return GetPlaceholderValueForCustomerVermittlungArbeit(ph, cva);
}
}
return String.Empty;
}
public String GetPlaceholderValueForCustomerVermittlungArbeit(PlatzhalterDC ph, CustomerVermittlungArbeit cva)
{
if (cva == null)
{
return String.Empty;
}
var value = base.GetPlaceholderValue(ph.FieldName, cva);
if (value != null)
{
return value.ToString();
}
return String.Empty;
}
private CustomerVermittlungArbeit GetCurrentCustomerVermittlungArbeit(Customer customer)
{
return customer.CustomerVermittlungArbeiten.OrderByDescending(a => a.Auftragseingang).FirstOrDefault(a => a.VgaType == VgaTypeEnum.Vga);
}
}
}