Initila commit

This commit is contained in:
dev-mkoebis
2026-04-23 14:26:26 +02:00
parent 7d4d43fb5a
commit cccbb667a8
14 changed files with 1293 additions and 0 deletions

160
Business/VorgangInpro.cs Normal file
View 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());
}
}
}