using SanShared;
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
{
///
/// Inliner class
///
///
public sealed class InlinerSanierung : Sanieren, 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 = 24;
bool geschlosseneEnde = false;
DateTime anfangAushaertung;
DateTime endeAushaertung;
///
/// Gibt den kompletten Harzbedarf auf die Haltungslänge bezogen zurück
///
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 mypath;
}
///
///
///
///
/// Projekt
///
public Hashtable MakeProtokoll(string destinationPath, IProjekt projekt)
{
Hashtable grunddaten = new Hashtable()
{
{"AG_Vorname","" },
{"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","" },
{"UVImage","" }
};
double LaengeGesamt = this.Inspektionsobjekt.Haltungslaenge + this.Inspektionsobjekt.Schachtlaenge;
grunddaten["AG_Vorname"] = projekt.Auftraggeber.Name;
grunddaten["KLP_Nummer"] = "";
grunddaten["KLP_Datum"] = DateTime.Now.ToShortDateString();
grunddaten["AG_Ort"] = projekt.Auftraggeber.Ort;
grunddaten["AG_Strasse"] = projekt.Auftraggeber.Strasse;
grunddaten["AG_Ansprechpartner"] = projekt.Auftraggeber.Ansprechpartner;
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"] = "";
grunddaten["liner_laenge"] = LaengeGesamt;
grunddaten["Charge_Liner"] = this.LinerChargenummer;
grunddaten["Charge_Harz"] = this.HarzChargenummer;
grunddaten["harz_bedarf_m"] = harzbedarf;
grunddaten["gesamt_harz"] = LaengeGesamt * harzbedarf;
grunddaten["temperatur_harz"] = this.HarzKalibrierTemperatur;
grunddaten["datum_kalibrierung"] = this.DatumKalibrierung.ToShortDateString();
grunddaten["walzen_abstand"] = this.KalibierWalzenAbstand;
grunddaten["vakuum"] = this.KalibrierUnterdruck;
grunddaten["time_start"] = this.AnfangAushaertung;
grunddaten["time_ende"] = this.EndeAushaertung;
grunddaten["UVImage"] = Path.Combine(destinationPath, "linerGraph.jpg");
return grunddaten;
}
///
///
///
public InlinerSanierung()
{
//datumKalibrierung = new DateTime();
Verzeichnispfad = "UVAnlage";
if (datumKalibrierung <= DateTime.MinValue || datumKalibrierung >= DateTime.MaxValue) datumKalibrierung = DateTime.Now;
}
///
///
///
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
{
Trace.WriteLine("DatumKali abgefragt");
return datumKalibrierung;
}
set
{
Trace.WriteLine("Datum kali gesetzt");
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; }
}
}