63 lines
1.8 KiB
C#
63 lines
1.8 KiB
C#
using System.Collections.Generic;
|
|
using System.Text;
|
|
|
|
namespace Logof_Client;
|
|
|
|
public class CsvBuilder
|
|
{
|
|
private readonly string Header;
|
|
private readonly List<object> Instances;
|
|
private readonly KasAddressList KasAddressList;
|
|
private readonly char Separator;
|
|
|
|
public CsvBuilder(string header, List<object> instances, char separator = ',')
|
|
{
|
|
Header = header;
|
|
Instances = instances;
|
|
Separator = separator;
|
|
}
|
|
|
|
public CsvBuilder(string header, KasAddressList instances, char separator = ',')
|
|
{
|
|
Header = header;
|
|
KasAddressList = instances;
|
|
Separator = separator;
|
|
}
|
|
|
|
public string? BuildKas()
|
|
{
|
|
var result = new StringBuilder();
|
|
|
|
result.AppendLine(Header);
|
|
foreach (var l in KasAddressList.KasPersons)
|
|
|
|
result.AppendLine(
|
|
l.refsid + Separator +
|
|
l.anrede + Separator +
|
|
l.titel + Separator +
|
|
l.vorname + Separator +
|
|
l.adel + Separator +
|
|
l.name + Separator +
|
|
l.namezus + Separator +
|
|
l.anredzus + Separator +
|
|
l.strasse + Separator +
|
|
l.strasse2 + Separator +
|
|
l.plz + Separator +
|
|
l.ort + Separator +
|
|
l.land + Separator +
|
|
l.pplz + Separator +
|
|
l.postfach + Separator +
|
|
l.name1 + Separator +
|
|
l.name2 + Separator +
|
|
l.name3 + Separator +
|
|
l.name4 + Separator +
|
|
l.name5 + Separator +
|
|
l.funktion + Separator +
|
|
l.funktion2 + Separator +
|
|
l.abteilung + Separator +
|
|
l.funktionad);
|
|
|
|
// weitere Cases
|
|
return result.ToString();
|
|
}
|
|
} |