Initial Project Commit
This commit is contained in:
160
Business/VorgangInpro.cs
Normal file
160
Business/VorgangInpro.cs
Normal file
@@ -0,0 +1,160 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace MergeCMInpro.Business
|
||||
{
|
||||
internal class VorgangInpro : Vorgang
|
||||
{
|
||||
#region Properties
|
||||
public string Abteilung { get; set; }
|
||||
|
||||
public string IdStrasse { get; set; }
|
||||
|
||||
public string Hausnummer1Von { get; set; }
|
||||
|
||||
public string Hausnummer1Bis { get; set; }
|
||||
|
||||
public string HsNrVonZusatz { get; set; }
|
||||
|
||||
public string HsNrBisZusatz { get; set; }
|
||||
|
||||
public DateTime Eingangsdatum { get; set; }
|
||||
|
||||
public string Beschreibung1 { get; set; }
|
||||
|
||||
public string Beschreibung2 { get; set; }
|
||||
|
||||
public string Bezeichnung2 { get; set; }
|
||||
|
||||
public string Checkliste { get; set; }
|
||||
|
||||
public string DocsSZ { get; set; }
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
public VorgangInpro()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override string GenerateVorgang(Vorgang v)
|
||||
{
|
||||
string documentType = FileOperations.LowerDocumentType(v.DocType.Split(" ").FirstOrDefault());
|
||||
string band = string.Concat(string.Concat(documentType, " ", string.Concat(v.DocType.Split(" ").FirstOrDefault().Substring(0, 1), v.DocType.Split(" ").FirstOrDefault().Substring(1).ToLower()), " ", v.DocType.Split(" ", 2).Skip(1).FirstOrDefault()));
|
||||
|
||||
StringBuilder sbInpro = new StringBuilder();
|
||||
sbInpro.Append(string.Concat(v.Id, ";"));//Barcode
|
||||
sbInpro.Append(string.Concat(v.Aktenzeichen, ";"));//Vorgangsnummer
|
||||
sbInpro.Append(string.Concat(string.Empty, ";"));//Abteilung
|
||||
sbInpro.Append(string.Concat(this.IdStrasse, ";"));//Strasse1ID
|
||||
sbInpro.Append(string.Concat(v.Strasse1, ";").Trim());//Strasse1
|
||||
|
||||
|
||||
sbInpro.Append(string.Concat(v.Hausnummer1, ";").Trim());//Hausnummer1
|
||||
sbInpro.Append(string.Concat(this.Hausnummer1Von, ";").Trim());//Hausnummer1Von
|
||||
sbInpro.Append(string.Concat(this.HsNrVonZusatz, ";").Trim());//Hausnummer1VonZusatz
|
||||
sbInpro.Append(string.Concat(this.Hausnummer1Bis, ";").Trim());//Hausnummer1Bis
|
||||
sbInpro.Append(string.Concat(this.HsNrBisZusatz, ";").Trim());//Hausnummer1BisZusatz
|
||||
|
||||
|
||||
sbInpro.Append(string.Concat(this.Strasse2, ";").Trim());//Strasse2
|
||||
sbInpro.Append(string.Concat(this.Hausnummer2, ";").Trim());//Hausnummer2
|
||||
|
||||
sbInpro.Append(string.Concat(band, ";"));//Bezeichnung1 bzw. Band
|
||||
sbInpro.Append(string.Concat(this.Eingangsdatum.ToShortDateString(), ";"));//Eingangsdatum
|
||||
sbInpro.Append(string.Concat("Digitalisierte Akte", ";"));//Beschreibung1
|
||||
sbInpro.Append(string.Concat(string.Empty, ";")); //Beschreibung2
|
||||
sbInpro.Append(string.Concat(string.Empty, ";"));//Bezeichnung2
|
||||
sbInpro.Append(string.Concat(this.DocsSZ, ";"));//Bezeichnung3
|
||||
sbInpro.Append(string.Concat(v.FameId, ".pdf", ";"));//Dateiname
|
||||
sbInpro.Append(string.Concat(v.FameId, ";"));//FameId
|
||||
sbInpro.Append(string.Concat(v.VorgangsDefinition, ";").Trim());//Vorgangsart
|
||||
sbInpro.Append(string.Concat(this.Checkliste, ";").Trim());//Checkliste
|
||||
sbInpro.Append(string.Concat(this.Enddatum.ToShortDateString(), ";"));//Abschlussdatum
|
||||
sbInpro.Append(string.Concat(base.GenerateLangbezeichnungFromPath(v.AbsoluteFilePath), v.Id));
|
||||
return sbInpro.ToString();
|
||||
}
|
||||
|
||||
//string GenerateLangbezeichnungFromPath(string path)
|
||||
//{
|
||||
// var temp = path.Split('\\').SkipLast(2).LastOrDefault().Split(' ').Skip(3);
|
||||
// string result = string.Concat(temp.ElementAt(0), " ", temp.ElementAt(1), " ", temp.ElementAt(2), " Datensatz ");
|
||||
|
||||
// //#region TESTING
|
||||
// //string testing = "TEST";
|
||||
// //string result = testing;
|
||||
// //#endregion
|
||||
|
||||
// return result;
|
||||
//}
|
||||
|
||||
|
||||
public void SplittedHausnummerZusatz(Vorgang v)
|
||||
{
|
||||
string hausnummerZusatzVon = string.Empty;
|
||||
string hausnummerZusatzBis = string.Empty;
|
||||
|
||||
Tuple<string, string> result;
|
||||
|
||||
if (v.Hausnummer1.Contains('-')) //13-15, 13a-15
|
||||
{
|
||||
hausnummerZusatzVon = v.Hausnummer1.Split('-').FirstOrDefault();
|
||||
hausnummerZusatzBis = v.Hausnummer1.Split('-').LastOrDefault();
|
||||
result = ExtractingZusatzFromHausnummer(hausnummerZusatzVon);
|
||||
this.Hausnummer1Von = result.Item1;
|
||||
this.HsNrVonZusatz = result.Item2;
|
||||
result = ExtractingZusatzFromHausnummer(hausnummerZusatzBis);
|
||||
this.Hausnummer1Bis = result.Item1;
|
||||
this.HsNrBisZusatz = result.Item2;
|
||||
|
||||
if (this.HsNrBisZusatz.Length >= 2 || this.HsNrVonZusatz.Length >= 2)
|
||||
{
|
||||
this.HsNrVonZusatz = this.HsNrVonZusatz != string.Empty ? this.HsNrVonZusatz.FirstOrDefault().ToString() : string.Empty;
|
||||
this.HsNrBisZusatz = this.HsNrBisZusatz != string.Empty ? this.HsNrBisZusatz.LastOrDefault().ToString() : string.Empty;
|
||||
}
|
||||
}
|
||||
else if (v.Hausnummer1.Contains("bis"))
|
||||
{
|
||||
//Vorkommen von "bis"
|
||||
int firstBisIndex = v.Hausnummer1.IndexOf("bis");
|
||||
int lastBisIndex = v.Hausnummer1.LastIndexOf("bis") + "bis".Length;
|
||||
this.Hausnummer1Von = v.Hausnummer1.Substring(0, firstBisIndex);
|
||||
result = ExtractingZusatzFromHausnummer(this.Hausnummer1Von);
|
||||
this.Hausnummer1Von = result.Item1;
|
||||
this.HsNrVonZusatz = result.Item2;
|
||||
this.Hausnummer1Bis = v.Hausnummer1.Substring(lastBisIndex, v.Hausnummer1.Length - lastBisIndex);
|
||||
result = ExtractingZusatzFromHausnummer(this.Hausnummer1Bis);
|
||||
this.Hausnummer1Bis = result.Item1;
|
||||
this.HsNrBisZusatz = result.Item2;
|
||||
}
|
||||
else //13
|
||||
{
|
||||
result = ExtractingZusatzFromHausnummer(v.Hausnummer1);
|
||||
this.Hausnummer1Von = result.Item1;
|
||||
this.HsNrVonZusatz = result.Item2;
|
||||
}
|
||||
}
|
||||
|
||||
public static Tuple<string, string> ExtractingZusatzFromHausnummer(string input)
|
||||
{
|
||||
StringBuilder sbHausnummer = new StringBuilder();
|
||||
StringBuilder sbZusatz = new StringBuilder();
|
||||
|
||||
for (int i = 0; i < input.Length; i++)
|
||||
{
|
||||
if (char.IsDigit(input[i]))
|
||||
{
|
||||
sbHausnummer.Append(input[i]);
|
||||
}
|
||||
else
|
||||
{
|
||||
sbZusatz.Append(input[i]);
|
||||
}
|
||||
}
|
||||
return new Tuple<string, string>(sbHausnummer.ToString(), sbZusatz.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user