Service/Import/AvisImport/LvrAvisCsvReader.cs - Import der csv Dateien
This commit is contained in:
@@ -10,7 +10,6 @@ namespace BeWo.Service.Import.AvisImport
|
||||
{
|
||||
public class AviseImporter
|
||||
{
|
||||
|
||||
//Der Rückgabewert wird beim Client in einer Messagebox angezeigt
|
||||
public virtual String ImportAvise(List<Avis> avise)
|
||||
{
|
||||
|
||||
77
Service/Import/AvisImport/LvrAvisCsvReader.cs
Normal file
77
Service/Import/AvisImport/LvrAvisCsvReader.cs
Normal file
@@ -0,0 +1,77 @@
|
||||
using DevExpress.Pdf;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BeWo.Service.Import.AvisImport
|
||||
{
|
||||
public class LvrAvisCsvReader
|
||||
{
|
||||
public List<Avis> LeseEinzelAvise(string importfile)
|
||||
{
|
||||
List<Avis> liste = new List<Avis>();
|
||||
String[] lines = importfile.Split('\n');
|
||||
|
||||
for (int i = 0; i < lines.Count(); i++)
|
||||
{
|
||||
string line = lines[i];
|
||||
var fields = line.Split(';');
|
||||
if (fields.Length >= 15)
|
||||
{
|
||||
if (!String.IsNullOrEmpty(fields[0]) && !String.IsNullOrEmpty(fields[7]))
|
||||
{
|
||||
try
|
||||
{
|
||||
DateTime gueltigkeitsTag = DateTime.Now;
|
||||
decimal betrag = 0m;
|
||||
|
||||
var neuerAvis = new Avis();
|
||||
neuerAvis.Aktenzeichen = fields[0];
|
||||
decimal.TryParse(fields[7], out betrag);
|
||||
neuerAvis.Betrag = betrag;
|
||||
fields[12] = fields[12].Trim();
|
||||
if (!String.IsNullOrEmpty(fields[12]))
|
||||
{
|
||||
neuerAvis.Verwendungszweck = fields[12];
|
||||
var datumMonat = fields[12].Substring(fields[12].Length - 7, 2);
|
||||
var datumJahr = fields[12].Substring(fields[12].Length - 4, 4);
|
||||
if (int.TryParse(datumMonat, out int resultMonat) && int.TryParse(datumJahr, out int resultJahr))
|
||||
{
|
||||
gueltigkeitsTag = new DateTime(resultJahr, resultMonat, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (DateTime.TryParse(fields[9], out DateTime resultHp))
|
||||
{
|
||||
gueltigkeitsTag = resultHp;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
neuerAvis.Verwendungszweck = fields[11];
|
||||
}
|
||||
neuerAvis.GueltigkeitsDatum = gueltigkeitsTag;
|
||||
neuerAvis.BuchungsDatum = DateTime.Now;
|
||||
neuerAvis.Klient = fields[1] + ", " + fields[2];
|
||||
neuerAvis.Sachbearbeiter = fields[13] + ", " + fields[14];
|
||||
if (neuerAvis.Betrag != 0)
|
||||
{
|
||||
liste.Add(neuerAvis);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
//ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return liste;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -39,8 +39,6 @@ namespace BeWo.Service.Import.AvisImport
|
||||
public String ImportTextAvise(String text)
|
||||
{
|
||||
var reader = new LvrAvisTextReader();
|
||||
|
||||
|
||||
var avise = reader.LeseAvise(text);
|
||||
|
||||
return ImportAvise(avise);
|
||||
@@ -48,10 +46,11 @@ namespace BeWo.Service.Import.AvisImport
|
||||
|
||||
public String ImportCsvAvise(String csv)
|
||||
{
|
||||
// noch nicht implementiert
|
||||
return null;
|
||||
}
|
||||
|
||||
var reader = new LvrAvisCsvReader();
|
||||
var avise = reader.LeseEinzelAvise(csv);
|
||||
|
||||
return ImportAvise(avise);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -417,6 +417,7 @@
|
||||
<Compile Include="Import\AvisImport\LvrAviseImporter.cs" />
|
||||
<Compile Include="Import\AvisImport\AviseImporter.cs" />
|
||||
<Compile Include="Import\AvisImport\HilfeplanInfo.cs" />
|
||||
<Compile Include="Import\AvisImport\LvrAvisCsvReader.cs" />
|
||||
<Compile Include="Import\AvisImport\LvrAvisTextReader.cs" />
|
||||
<Compile Include="Import\AvisImport\LvrAvisTextAbschnittReader.cs" />
|
||||
<Compile Include="Import\AvisImport\LvrAvisMonatGesamt.cs" />
|
||||
|
||||
Reference in New Issue
Block a user