KlassenDLL im Main integriert

This commit is contained in:
HuskyTeufel
2022-04-20 14:59:34 +02:00
parent 70ec1019cd
commit d2537d1a75
122 changed files with 16199 additions and 1165 deletions

View File

@@ -0,0 +1,37 @@
using SanShared;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB
{
/// <summary>
///
/// </summary>
public class Auftraggeber :IAuftraggeber
{
/// <summary>
///
/// </summary>
public string Name { get; set; }
/// <summary>
///
/// </summary>
public string Strasse { get; set; }
/// <summary>
///
/// </summary>
public string Ort { get; set; }
/// <summary>
///
/// </summary>
public string Ansprechpartner { get; set; }
public override string ToString()
{
return string.Format("{0} / {1}", Name, Ansprechpartner);
}
}
}

View File

@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB
{
/// <summary>
///
/// </summary>
public class AusgefuehrteTaetigkeiten
{
/// <summary>
///
/// </summary>
public DateTime Datum { get; set; }
/// <summary>
///
/// </summary>
public LeistungsVerzeichnis Leistungsverzeichnis { get; set; }
/// <summary>
///
/// </summary>
public decimal Menge { get; set; }
/// <summary>
///
/// </summary>
public decimal Station { get; set; }
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB.Collections
{
public class AbwasserTechnischeAnlage : List<Inspektionsobjekt>
{
}
}

View File

@@ -0,0 +1,13 @@
using SanShared;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB.Collections
{
public class AuftraggeberList : List<IAuftraggeber>
{
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB.Collections
{
public class AusgefuehrteTaetigkeiten : List<KlassenBIB.AusgefuehrteTaetigkeiten>
{
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB.Collections
{
public class Bilder : List<SavedBilder>
{
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB
{
public class ChargeNummerCollection : List<StructChargeNummern>
{
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB.Collections
{
public class ImprägnierBericht : List<WerkseitigImprägniert>
{
}
}

View File

@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB.Collections
{
[Browsable(false)]
public class Inspektionskuerzeln : List<KlassenBIB.Inspektionskuerzeln>
{
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB.Collections
{
public class Leistungsverzeichnis : List<LeistungsVerzeichnis>
{
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB.Collections
{
public class Projekte : List<Projekt>
{
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB.Collections
{
public class Sanierung : List<KlassenBIB.Sanierung>
{
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB.Collections
{
public class Sanierungskonzept : List<KlassenBIB.Sanierungskonzept>
{
}
}

View File

@@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB
{
public class DB
{
public int DatabaseVersion { get; set; }
public Collections.Projekte Projekte { get; set; }
public Collections.AuftraggeberList Auftraggeber { get; set; }
public Collections.ImprägnierBericht Imprägnierungen { get; set; }
public DB()
{
DatabaseVersion = 1;
Projekte = new Collections.Projekte();
Auftraggeber = new Collections.AuftraggeberList();
Imprägnierungen = new Collections.ImprägnierBericht();
}
}
}

View File

@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB
{
/// <summary>
/// Interface zur Import von Daten
/// </summary>
public interface IImportedObjekte
{
/// <summary>
/// Angaben zur XMLDatei die importiert werden soll
/// </summary>
string XMLFile { get; set; }
/// <summary>
/// Angaben zur Projektnummern die eingetragen werden soll in die Objekte
/// </summary>
string Projektnummer { get; set; }
/// <summary>
/// Funktion der die Inspektionsobjekte übergibt
/// </summary>
/// <returns></returns>
List<Inspektionsobjekt> GetInspektionsobjekte();
}
}

View File

@@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Markup;
namespace KlassenBIB
{
/// <summary>
///
/// </summary>
public class Inspektionskuerzeln
{
public decimal Station { get; set; }
public string Hauptkode { get; set; }
public string Charakterisierung1 { get; set; }
public string Charakterisierung2 { get; set; }
public uint Quantifizierung1 { get; set; }
public uint Quantifizierung2 { get; set; }
public uint LageAmUmfangStart { get; set; }
public uint LageAmUmfangEnde { get; set; }
public bool ImVerbindung { get; set; }
public string FotoReferenz { get; set; }
public string VideoReferenz { get; set; }
public string Anmerkung { get; set; }
public Collections.Sanierungskonzept Sanierungskonzepts { get; set; }
}
}

View File

@@ -0,0 +1,68 @@
using SanShared;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Markup;
namespace KlassenBIB
{
/// <summary>
///
/// </summary>
[ContentProperty("Sanierung")]
public class Inspektionsobjekt : IInspektionsobjekt
{
private string strasseName = "none";
public IAuftraggeber OverrideAuftraggeber { get; set; }
public bool GeschlossenesEnde { get; set; }
public string StrasseName { get => strasseName; set => strasseName = value; }
public string OrtName { get; set; }
public string Hausnummer { get; set; }
public string Projektnummer { get; set; }
public string Objektbezeichnung { get; set; }
public string VonPunkt { get; set; }
public string BisPunkt { get; set; }
public string RohrMaterial { get; set; }
public uint Kanalrohrweite { get; set; }
public double Haltungslaenge { get; set; }
public double Schachtlaenge { get; set; }
public DateTime HaltungGemessen { get; set; }
public Collections.Inspektionskuerzeln Schadenskuerzeln { get; set; }
public string Bemerkung { get; set; }
public Collections.Sanierung Sanierung { get;set; }
public Collections.AusgefuehrteTaetigkeiten AusgefuehrteTaetigkeiten { get; set; }
public string Inspektionsrichtung { get; set; }
public string Sanierungsnummer { get; set; }
public Guid Guid { get; set; }
public Inspektionsobjekt()
{
Schadenskuerzeln = new Collections.Inspektionskuerzeln();
Sanierung = new Collections.Sanierung();
AusgefuehrteTaetigkeiten = new Collections.AusgefuehrteTaetigkeiten();
if (HaltungGemessen <= DateTime.MinValue || HaltungGemessen >= DateTime.MaxValue) HaltungGemessen = DateTime.Now;
}
}
}

View File

@@ -0,0 +1,35 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB
{
/// <summary>
///
/// </summary>
public class LeistungsVerzeichnis
{
/// <summary>
///
/// </summary>
public string PositionsNummer { get; set; }
/// <summary>
///
/// </summary>
public string PositionsBeschreibung { get; set; }
/// <summary>
///
/// </summary>
public string PositionsEinheit { get; set; }
/// <summary>
///
/// </summary>
/// <returns></returns>
public override string ToString()
{
return PositionsBeschreibung;
}
}
}

View File

@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB
{
/// <summary>
///
/// </summary>
public class Lieferschein
{
}
}

View File

@@ -0,0 +1,41 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB
{
public static class LinerChargen
{
public static Dictionary<string, List<string>> GenLinerChargenOverview(List<Projekt> ProjektListe)
{
Dictionary<string, List<string>> Daten = new Dictionary<string, List<string>>();
foreach(Projekt projekt in ProjektListe)
{
foreach(Inspektionsobjekt objekt in projekt.Objekte)
{
foreach(Sanierung sanierung in objekt.Sanierung)
{
if (!(sanierung is InlinerSanierung)) continue;
if (!((sanierung as InlinerSanierung).Imprägnierungsbericht is WerkseitigImprägniert)) continue;
WerkseitigImprägniert imprignierung = ((sanierung as InlinerSanierung).Imprägnierungsbericht as WerkseitigImprägniert);
string datenbezeichnung = projekt.Nummer + " # " + objekt.Objektbezeichnung;
if (Daten.ContainsKey(imprignierung.Imprägniernummer))
{
Daten[imprignierung.Imprägniernummer].Add(datenbezeichnung);
}
else
{
Daten.Add(imprignierung.Imprägniernummer, new List<string>() { datenbezeichnung });
}
}
}
}
return Daten;
}
}
}

View File

@@ -0,0 +1,32 @@
using SanShared;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Markup;
[assembly: XmlnsDefinition("http://schemas.cosysda.de/sanVerwaltung/xaml","KlassenBIB")]
namespace KlassenBIB
{
[ContentProperty("Objekte")]
public class Projekt :IProjekt
{
public string Nummer { get; set; }
public string Ort { get; set; }
public IAuftraggeber Auftraggeber { get; set; }
public Collections.Leistungsverzeichnis Leistungsverzeichnis { get; set; }
public Collections.AbwasserTechnischeAnlage Objekte { get; set; }
public string SanierungsIDPrefix { get; set; }
public string SanierungsIDSuffix { get; set; }
/// <summary>
///
/// </summary>
public Projekt()
{
Objekte = new Collections.AbwasserTechnischeAnlage();
Leistungsverzeichnis = new Collections.Leistungsverzeichnis();
Auftraggeber = new Auftraggeber();
}
}
}

View File

@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB
{
public abstract class AbstractSanieren : Sanierung
{
DateTime datum = new DateTime();
bool fertig = false;
string verzeichnispfad;
/// <summary>
/// Dient zum Überschreiben
/// </summary>
DateTime offset;
#region getSeters
public string Besatzung { get; set; }
public DateTime Datum { get => datum; set => datum = value; }
public bool Fertig { get => fertig; set => fertig = value; }
public string Verzeichnispfad { get => verzeichnispfad; protected set => verzeichnispfad = value; }
public DateTime Offset { get => offset; set => offset = value; }
#endregion
}
}

View File

@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB
{
public abstract class AbstractImprägnier
{
public string Schlauchnummer { get; set; }
public ImprägnierungStrukture ImprägnierungBeginn { get; set; }
public ImprägnierungStrukture ImprägnierungEnde { get; set; }
public string ImprägnierDatum
{
get
{
if (ImprägnierungBeginn == null) return "Nicht definiert";
return ImprägnierungBeginn.Zeitstempel.ToShortDateString();
}
}
public uint DN { get; set; }
public double Wanddicke { get; set; }
public double Länge { get; set; }
public double Harzmenge { get; set; }
public string Bediener { get; set; }
public double HarzTemperatur { get; set; }
public double Vakuum { get; set; }
public string HarzTyp { get; set; }
public double Walzenabstand { get; set; }
public bool NochVorhanden { get; set; }
}
}

View File

@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB
{
public class ImprägnierungStrukture
{
public DateTime Zeitstempel { get; set; }
public double Temperature { get; set; }
}
}

View File

@@ -0,0 +1,343 @@
using BerichtGen;
using CSVParser;
using SanShared;
using SanShared.Exceptions;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB
{
/// <summary>
/// Inliner class
///
/// </summary>
public sealed class InlinerSanierung : AbstractSanieren, IMakeProtokol
{
double kalibrierUnterdruck = -0.5;
double kalibierWalzenAbstand = 0.9;
double harzKalibrierTemperatur;
DateTime datumKalibrierung;
string harzChargenummer;
string linerChargenummer;
string harzTyp;
string linerTyp;
double harzbedarf = 1.8;
uint rueckholgeschwindigkeit;
bool geschlosseneEnde = false; // Todo Rausschmeißen
bool preliner = false;
int lagerungTemperatur;
int temperaturEinbau;
double inversionsDruck;
DateTime anfangAushaertung;
DateTime endeAushaertung;
string ort;
string bediener;
DateTime anfangKalibrierung;
DateTime endeKalibirierung;
AbstractImprägnier imprägnierungsbericht;
Dictionary<int, TimeSpan> lagerungZeiten = new Dictionary<int, TimeSpan>();
public double GetGesamtHarzbedarf(double haltungslaenge)
{
return haltungslaenge * harzbedarf;
}
public override string CheckVerzeichnisse(string projektpfad)
{
string path = Path.Combine(projektpfad, PfadZurSan);
if (!Directory.Exists(path)) Directory.CreateDirectory(path);
//string mypath = Path.Combine(path, Verzeichnispfad);
//if (!Directory.Exists(mypath)) Directory.CreateDirectory(mypath);
return path;
}
public Hashtable MakeProtokoll(string destinationPath, IProjekt projekt, DateTime offset)
{
IEnumerable<string> files = Directory.EnumerateFiles(destinationPath, "*.csv", SearchOption.AllDirectories);
IAuftraggeber auftraggeber = null;
if (Inspektionsobjekt.OverrideAuftraggeber == null)
auftraggeber = projekt.Auftraggeber;
else
auftraggeber = Inspektionsobjekt.OverrideAuftraggeber;
IReadCSVData csvFile = null;
List<UVcsvStrukture> struktures = null;
if (files.Count() > 0)
{
csvFile = CsvParserFactory.ReadCSVFile(AcceptedCSVFormats.BLUELIGHT, files.Last());
try
{
try
{
struktures = csvFile.ReadCSVStrukture();
}
catch (CSVImportException)
{
//MessageBox.Show("Es scheint den Falschen Anlagentyp angegeben worden sein.", "CSV Datei konnte nicht gelesen werden", MessageBoxButtons.OK, MessageBoxIcon.Error);
//return false;
}
this.AnfangAushaertung = struktures.Select(x => x.Zeitstempel).Min();
this.EndeAushaertung = struktures.Select(x => x.Zeitstempel).Max();
if (!(offset == DateTime.MinValue))
{
TimeSpan duration = EndeAushaertung.Subtract(AnfangAushaertung);
AnfangAushaertung = offset;
EndeAushaertung = AnfangAushaertung.Add(duration);
}
this.Rueckholgeschwindigkeit = 0;
}
catch (FileNotFoundException)
{
//Trace.WriteLine(ex.Message);
//MessageBox.Show(string.Format("Datei {0} wurde nicht gefunden", ex.FileName));
}
}
if (struktures != null)
{
makeGraphic.GetGraphics(struktures, destinationPath);
}
Hashtable grunddaten = new Hashtable()
{
{"AG_Vorname","" },
{"hausnummer","" },
{"KLP_Nummer","" },
{"KLP_Datum","" },
{"AG_Ort","" },
{"AG_Strasse","" },
{"AG_Ansprechpartner","" },
{"BM_Ort","" },
{"BM_Strasse","" },
{"BM_Schacht_von","" },
{"BM_Schacht_bis","" },
{"BM_Haltungsmat","" },
{"BM_Haltung_DN","" },
{"BM_Haltunglaenge","" },
{ "KL_Wetter","" },
{ "Temp_Aussen","" },
{ "KL_Temp_Kanal","" },
{ "KL_Gen","" },
{ "KL_WH","" },
{ "KL_STVO","" },
{ "KL_HD_true","" },
{ "KL_mech_true","" },
{ "KL_rob_true","" },
{ "KL_HD_date","" },
{ "KL_Besatzung", "" },
{"liner_laenge","" },
{"Charge_Liner","" },
{"Charge_Harz","" },
{"harz_bedarf_m","" },
{"gesamt_harz","" },
{"temperatur_harz","" },
{"datum_kalibrierung","" },
{"walzen_abstand","" },
{"vakuum","" },
{"time_start","" },
{"time_ende","" },
{"UVImageTemp","" },
{"UVImageDruck","" },
{"UVImageSpeed","" },
{"liner_type","" },
{"rueckhol_speed","" },
{"harz_type","" },
{"preliner_verwendet","" },
{"geschlossene_ende","" },
{"schlauch_dn","" },
{"TV_Kontrolle","" },
{"Einbau_Temperatur","" },
{"Inversion_Druck","" },
{"Lagerung_Text","" },
{"Lagerung_Temp","" },
{"Projekt_NR","" }
};
double LaengeGesamt = this.Inspektionsobjekt.Haltungslaenge + this.Inspektionsobjekt.Schachtlaenge;
string KLP_Nummer = Inspektionsobjekt.Sanierungsnummer;
if (projekt.SanierungsIDPrefix != string.Empty)
KLP_Nummer = string.Format("{0}{1}", KLP_Nummer, projekt.SanierungsIDPrefix);
if (projekt.SanierungsIDSuffix != string.Empty)
KLP_Nummer = string.Format("{0}{1}", projekt.SanierungsIDSuffix,KLP_Nummer);
if (auftraggeber != null)
{
grunddaten["AG_Vorname"] = auftraggeber.Name;
grunddaten["AG_Ort"] = auftraggeber.Ort;
grunddaten["AG_Strasse"] = auftraggeber.Strasse;
grunddaten["AG_Ansprechpartner"] = auftraggeber.Ansprechpartner;
}
grunddaten["hausnummer"] = Inspektionsobjekt.Hausnummer;
grunddaten["KLP_Nummer"] = KLP_Nummer;
grunddaten["KLP_Datum"] = this.Datum.ToShortDateString();
grunddaten["BM_Ort"] = Inspektionsobjekt.OrtName;
grunddaten["BM_Strasse"] = Inspektionsobjekt.StrasseName;
grunddaten["BM_Schacht_von"] = Inspektionsobjekt.VonPunkt;
grunddaten["BM_Schacht_bis"] = Inspektionsobjekt.BisPunkt ;
grunddaten["BM_Haltungsmat"] = Inspektionsobjekt.RohrMaterial;
grunddaten["BM_Haltung_DN"] = Inspektionsobjekt.Kanalrohrweite;
grunddaten["BM_Haltunglaenge"] = Inspektionsobjekt.Haltungslaenge;
grunddaten["KL_Wetter"] = this.Wetter;
grunddaten["Temp_Aussen"] = this.TempAusen;
grunddaten["KL_Temp_Kanal"] = this.TempKanal;
grunddaten["KL_Gen"] = this.GenehmigungVorhanden ? "ja" : "nein";
grunddaten["KL_WH"] = this.WasserhaltungEingerichtet ? "ja" : "nein";
grunddaten["KL_STVO"] = this.STVOAbsicherung ? "ja" : "nein";
grunddaten["KL_HD_true"] = this.HDReinigung ? "X" : " ";
grunddaten["KL_mech_true"] = this.VorbereitetMechanisch ? "X": " ";
grunddaten["KL_rob_true"] = this.VorbereitetRoboter ? "X": " ";
grunddaten["KL_HD_date"] = this.Datum.ToShortDateString();
grunddaten["KL_Besatzung"] = this.Besatzung;
grunddaten["liner_laenge"] = Inspektionsobjekt.Haltungslaenge; //LaengeGesamt;
grunddaten["Charge_Liner"] = this.imprägnierungsbericht == null ? this.LinerChargenummer : this.imprägnierungsbericht.Schlauchnummer;
grunddaten["Charge_Harz"] = this.imprägnierungsbericht == null ? this.HarzChargenummer : (this.imprägnierungsbericht as WerkseitigImprägniert).Imprägniernummer;
grunddaten["harz_bedarf_m"] = this.imprägnierungsbericht == null ? harzbedarf : this.imprägnierungsbericht.Harzmenge;
grunddaten["gesamt_harz"] = Inspektionsobjekt.Haltungslaenge * harzbedarf;
grunddaten["temperatur_harz"] = this.imprägnierungsbericht == null ? this.HarzKalibrierTemperatur : this.imprägnierungsbericht.HarzTemperatur;
grunddaten["datum_kalibrierung"] = this.imprägnierungsbericht == null ? this.DatumKalibrierung.ToShortDateString() : this.imprägnierungsbericht.ImprägnierDatum;
grunddaten["walzen_abstand"] = this.imprägnierungsbericht == null ? this.KalibierWalzenAbstand : this.imprägnierungsbericht.Walzenabstand;
grunddaten["schlauch_dn"] = this.Imprägnierungsbericht != null ? this.imprägnierungsbericht.DN : 0;
grunddaten["vakuum"] = this.imprägnierungsbericht == null ? this.KalibrierUnterdruck : this.imprägnierungsbericht.Vakuum;
grunddaten["time_start"] = this.AnfangAushaertung;
grunddaten["time_ende"] = this.EndeAushaertung;
grunddaten["preliner_verwendet"] = this.Preliner ? "ja" : "nein";
grunddaten["geschlossene_ende"] = Inspektionsobjekt.GeschlossenesEnde ? "Geschlossenes" : "Offenes";
grunddaten["Projekt_NR"] = this.Inspektionsobjekt.Projektnummer;
grunddaten["UVImageTemp"] = Path.Combine(destinationPath, "linerGraph_temp.jpg");
grunddaten["UVImageDruck"] = Path.Combine(destinationPath, "linerGraph_druck.jpg");
grunddaten["UVImageSpeed"] = Path.Combine(destinationPath, "linerGraph_speed.jpg");
grunddaten["rueckhol_speed"] = rueckholgeschwindigkeit;
grunddaten["liner_type"] = LinerTyp;
try
{
grunddaten["TV_Kontrolle"] = string.Format("Ja, am {0}", AnfangAushaertung.Subtract(TimeSpan.FromMinutes(20)));
}
catch(ArgumentOutOfRangeException)
{
grunddaten["TV_Kontrolle"] = "UNDEFINIED";
}
grunddaten["harz_type"] = this.imprägnierungsbericht == null ? HarzTyp : this.imprägnierungsbericht.HarzTyp;
grunddaten["Lagerung_Temp"] = lagerungTemperatur;
grunddaten["Einbau_Temperatur"] = temperaturEinbau;
grunddaten["Inversion_Druck"] = inversionsDruck;
try
{
grunddaten["Lagerung_Text"] = GetLagerungText(DateTime.Parse(imprägnierungsbericht.ImprägnierDatum), this.Datum, lagerungTemperatur);
}
catch(NullReferenceException)
{
grunddaten["Lagerung_Text"] = "UNDEFINIED (Kein Liner ausgewählt)";
}
return grunddaten;
}
public InlinerSanierung()
{
//datumKalibrierung = new DateTime();
lagerungZeiten.Add(10, TimeSpan.FromDays(90));
lagerungZeiten.Add(20, TimeSpan.FromDays(30));
lagerungZeiten.Add(25, TimeSpan.FromDays(7));
lagerungZeiten.Add(31, TimeSpan.FromDays(3));
Verzeichnispfad = "UVAnlage";
if (datumKalibrierung <= DateTime.MinValue || datumKalibrierung >= DateTime.MaxValue) datumKalibrierung = DateTime.Now;
}
private TimeSpan GetMaxLagerung(int lagerungTemp)
{
Dictionary<int, TimeSpan>.KeyCollection x = lagerungZeiten.Keys;
int laufer = 0;
if (lagerungTemp > 31) lagerungTemp = 31;
foreach(int temp in x)
{
if(lagerungTemp <= temp)
{
laufer = temp;
break;
}
}
return lagerungZeiten[laufer];
}
private string GetLagerungText(DateTime Kalibrierdatum, DateTime Einbaudatum, int lagerungTemperatur)
{
TimeSpan lagerungszeit = GetMaxLagerung(lagerungTemperatur);
if(Einbaudatum.Subtract(Kalibrierdatum) <= lagerungszeit)
{
return "Die Lagerungsdauer wurde somit nicht überschritten";
}
return "Die Lagerungsdauer wurde somit überschritten";
}
public double KalibrierUnterdruck { get => kalibrierUnterdruck; set => kalibrierUnterdruck = value; }
public double KalibierWalzenAbstand { get => kalibierWalzenAbstand; set => kalibierWalzenAbstand = value; }
public double HarzKalibrierTemperatur { get => harzKalibrierTemperatur; set => harzKalibrierTemperatur = value; }
public DateTime DatumKalibrierung
{
get
{
return datumKalibrierung;
}
set
{
datumKalibrierung = value;
}
}
public string HarzChargenummer { get => harzChargenummer; set => harzChargenummer = value; }
public string LinerChargenummer { get => linerChargenummer; set => linerChargenummer = value; }
public double Harzbedarf { get => harzbedarf; set => harzbedarf = value; }
public uint Rueckholgeschwindigkeit { get => rueckholgeschwindigkeit; set => rueckholgeschwindigkeit = value; }
public bool GeschlosseneEnde { get => geschlosseneEnde; set => geschlosseneEnde = value; }
public double HarzBedarf { get => harzbedarf; set => harzbedarf = value; }
public string HarzTyp { get => harzTyp; set => harzTyp = value; }
public string LinerTyp { get => linerTyp; set => linerTyp = value; }
public DateTime AnfangAushaertung { get => anfangAushaertung; set => anfangAushaertung = value; }
public DateTime EndeAushaertung { get => endeAushaertung; set => endeAushaertung = value; }
public string Ort { get => ort; set => ort = value; }
public string Bediener { get => bediener; set => bediener = value; }
public DateTime AnfangKalibrierung { get => anfangKalibrierung; set => anfangKalibrierung = value; }
public DateTime EndeKalibirierung { get => endeKalibirierung; set => endeKalibirierung = value; }
public bool Preliner { get => preliner; set => preliner = value; }
public int LagerungTemperatur { get => lagerungTemperatur; set => lagerungTemperatur = value; }
public int EinbauTemperatur { get => temperaturEinbau; set => temperaturEinbau = value; }
public double InversionsDruck { get => inversionsDruck; set => inversionsDruck = value; }
public AbstractImprägnier Imprägnierungsbericht { get => imprägnierungsbericht; set => imprägnierungsbericht = value; }
}
}

View File

@@ -0,0 +1,21 @@
namespace KlassenBIB
{
/// <summary>
///
/// </summary>
public class UVAnlagenTyp
{
/// <summary>
///
/// </summary>
public string Name { get; set; }
/// <summary>
///
/// </summary>
public string Hersteller { get; set; }
/// <summary>
///
/// </summary>
public string Seriennummer { get; set; }
}
}

View File

@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB
{
public sealed class VorOrtImprägnier : AbstractImprägnier
{
public double WalzenAbstandSoll
{
get
{
return 2*Wanddicke + 1.0;
}
}
public double WalzenAbstandIst { get; set; }
public bool VakuumKorrekt { get; set; }
public bool EinbautempKorrekt { get; set; }
}
}

View File

@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB
{
public class WerkseitigImprägniert : AbstractImprägnier
{
public string Imprägniernummer { get; set; }
public bool LagerungKorrekt { get; set; }
public string LängeCode { get; set; }
public decimal LinerLänge { get; set; }
public override string ToString()
{
return string.Format("{0} ({1})",Imprägniernummer,DN);
}
}
}

View File

@@ -0,0 +1,40 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB
{
/// <summary>
/// Abstrakte Klasse zur Darstellung einer Partielle Reparatur
/// </summary>
public abstract class Reparatur : AbstractSanieren
{
decimal positionImKanal;
/// <summary>
///
/// </summary>
public decimal PositionImKanal
{
get
{
return positionImKanal;
}
set
{
positionImKanal = value;
}
}
/// <summary>
///
/// </summary>
/// <param name="projektpfad"></param>
/// <returns></returns>
public override string CheckVerzeichnisse(string projektpfad)
{
throw new NotImplementedException();
}
}
}

View File

@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB
{
/// <summary>
/// Zulaufeinbindung
/// </summary>
public class Hutprofil : SanMitHarz
{
}
}

View File

@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB
{
/// <summary>
/// Partielle Reparatur
/// </summary>
public class Kurzliner : SanMitHarz
{
}
}

View File

@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB
{
/// <summary>
/// Quicklock manschette
/// </summary>
public class Quicklock : Reparatur
{
}
}

View File

@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB
{
/// <summary>
///
/// </summary>
public class SanMitHarz : Reparatur
{
ChargeNummerCollection chargeNummerns;
/// <summary>
/// Liste mit die Chargenummern
/// </summary>
public ChargeNummerCollection ChargeNummern
{
get
{
return chargeNummerns;
}
set
{
chargeNummerns = value;
}
}
}
}

View File

@@ -0,0 +1,93 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB
{
[EditorBrowsable(EditorBrowsableState.Never)]
[Browsable(false)]
public abstract class Sanierung : INotifyPropertyChanged
{
Guid guid;
double tempAusen;
double tempKanal;
string wetter;
bool genehmigungVorhanden;
bool wasserhaltungEingerichtet;
bool sTVOAbsicherung;
bool hDReinigung;
bool vorbereitetMechanisch;
bool vorbereitetRoboter;
DateTime hDReinigungDatum;
//DateTime sanierungsDatum;
Inspektionsobjekt inspektionsobjekt;
protected string pfadZurSan;
[Browsable(false)]
public Sanierung()
{
//if (inspektionsobjekt == null) return;
//pfadZurSan = string.Format();
}
public abstract string CheckVerzeichnisse(string projektpfad);
public Guid Guid { get => guid; set => guid = value; }
public double TempAusen
{
get => tempAusen;
set
{
if(tempAusen != value)
{
tempAusen = value;
NotifyPropertyChanged();
}
}
}
public double TempKanal { get => tempKanal; set => tempKanal = value; }
public string Wetter { get => wetter; set => wetter = value; }
public bool GenehmigungVorhanden { get => genehmigungVorhanden; set => genehmigungVorhanden = value; }
public bool WasserhaltungEingerichtet { get => wasserhaltungEingerichtet; set => wasserhaltungEingerichtet = value; }
public bool STVOAbsicherung { get => sTVOAbsicherung; set => sTVOAbsicherung = value; }
public bool HDReinigung { get => hDReinigung; set => hDReinigung = value; }
public DateTime HDReinigungDatum { get => hDReinigungDatum; set => hDReinigungDatum = value; }
public Inspektionsobjekt Inspektionsobjekt { get => inspektionsobjekt; set => inspektionsobjekt = value; }
protected string PfadZurSan {
get
{
return string.Format("{0}-{1}", Inspektionsobjekt.VonPunkt, Inspektionsobjekt.BisPunkt);
}
}
public bool VorbereitetMechanisch { get => vorbereitetMechanisch; set => vorbereitetMechanisch = value; }
public bool VorbereitetRoboter { get => vorbereitetRoboter; set => vorbereitetRoboter = value; }
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged([CallerMemberName] string propertyName = null)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}

View File

@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB
{
/// <summary>
///
/// </summary>
public struct StructChargeNummern
{
/// <summary>
/// Bezeichnung des Harzes oder Material
/// </summary>
public string Bezeichnung;
/// <summary>
/// ChargeNummer vom Material
/// </summary>
public string ChargeNummer;
}
}

View File

@@ -0,0 +1,54 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Markup;
namespace KlassenBIB
{
/// <summary>
///
/// </summary>
public class Sanierungskonzept
{
string anweisung;
/// <summary>
/// Anweisung zur Darstellung vom Art des Reparatur
/// </summary>
public string Anweisung
{
get
{
return anweisung;
}
set
{
anweisung = value;
}
}
/// <summary>
/// Die Reparatur
/// </summary>
public Reparatur Reparatur { get; set; }
/// <summary>
///
/// </summary>
/// <returns></returns>
public override string ToString()
{
string result = "";
bool sanVorhanden = Reparatur != null;
bool sanAbgeschlossen = (sanVorhanden && Reparatur.Fertig);
result = string.Format("{0} abgeschlossen : {1}", Anweisung, sanAbgeschlossen);
return result;
}
}
}

View File

@@ -0,0 +1,34 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB
{
/// <summary>
///
/// </summary>
public class SavedBilder
{
/// <summary>
///
/// </summary>
public string Bildname { get; set; }
/// <summary>
///
/// </summary>
public string Speicherpfad { get; set; }
/// <summary>
///
/// </summary>
public string Bemerkung { get; set; }
/// <summary>
///
/// </summary>
public override string ToString()
{
return Bildname;
}
}
}

View File

@@ -0,0 +1,51 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KlassenBIB
{
/// <summary>
///
/// </summary>
public class SchachtAnbindung : AbstractSanieren
{
string schachtNummer;
Collections.Bilder savedBilders;
#region GettersSetters
/// <summary>
///
/// </summary>
public string SchachtNummer { get => schachtNummer; set => schachtNummer = value; }
/// <summary>
///
/// </summary>
public Collections.Bilder SavedBilders { get => savedBilders; set => savedBilders = value; }
#endregion
/// <summary>
///
/// </summary>
public SchachtAnbindung()
{
Verzeichnispfad = "Schachtanbindung";
SavedBilders = new Collections.Bilder();
}
/// <summary>
///
/// </summary>
public override string CheckVerzeichnisse(string projektpfad)
{
string path = Path.Combine(projektpfad, PfadZurSan);
if (!Directory.Exists(path)) Directory.CreateDirectory(path);
string mypath = Path.Combine(path, Verzeichnispfad);
if (!Directory.Exists(mypath)) Directory.CreateDirectory(mypath);
return mypath;
}
}
}