Files
Kanalsanierungsverwaltung/SanSystem/Global.cs
HuskyTeufel 09ec9b1cd1 Code cleanup
Offset werte können nun mit Datum versehen werden
2021-03-11 16:39:26 +01:00

147 lines
4.0 KiB
C#

using KlassenBIB;
using Microsoft.Win32;
using SanShared;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
namespace SanSystem
{
class Global
{
public event EventHandler RequestBuildNewLinerReste;
public static readonly Global instance = new Global();
const string userroot = "HKEY_CURRENT_USER\\Software";
const string firmkey = "Cosysda";
const string subkey = "SanManager";
const string speicherpfad_to_projekts = "projekte";
private readonly string programmversion = string.Empty;
string projektpfad = "18-850";
public CSVParser.AcceptedCSVFormats AnlageType = CSVParser.AcceptedCSVFormats.BLUELIGHT;
public void BuildNewLinerReste(EventArgs args)
{
EventHandler handler = RequestBuildNewLinerReste;
if (handler != null)
handler(this, args);
}
public string PROGRAMMVERSION
{
get
{
string version = string.Empty;
using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("SanSystem." + "version.txt"))
{
using (StreamReader reader = new StreamReader(stream))
{
version = reader.ReadToEnd();
}
}
return version;
}
}
public string ProjektNummer
{
get
{
return projektpfad;
}
set
{
projektpfad = value;
}
}
internal void SetProjekt(Projekt projekt)
{
Database.Datenbank.Instance.SaveProjekt();
this.ProjektNummer = projekt.Nummer;
Database.Datenbank.Instance.loadedProjekt = null;
Database.Datenbank.Instance.LoadProjekt(projekt.Nummer);
if (!Directory.Exists(Projektpfad)) Directory.CreateDirectory(Projektpfad);
Database.Datenbank.Instance.TeufelDB.Projekte.Add(projekt);
Database.Datenbank.Instance.InitProjekt(projekt, Projektpfad);
}
public string Projektpfad
{
get
{
return Path.Combine(Properties.Settings.Default.DATABASEMAIN,speicherpfad_to_projekts, projektpfad);
}
}
public ILanguage language = null;
public static Global Instance
{
get
{
return instance;
}
}
public void ChangeProjekt(string projektnummer)
{
Database.Datenbank.Instance.SaveProjekt();
this.ProjektNummer = projektnummer;
Database.Datenbank.Instance.loadedProjekt = null;
string pfad = Path.Combine(Projektpfad);
if (!Directory.Exists(pfad)) Directory.CreateDirectory(pfad);
Database.Datenbank.Instance.LoadProjekt(ProjektNummer);
}
void LadeRegistry()
{
string keyName = userroot + "\\" + firmkey + "\\" + subkey;
string lastProjektNummer = "";
try
{
if(Registry.GetValue(keyName,"LastProjekt","") != null)
lastProjektNummer = Registry.GetValue(keyName, "LastProjekt", "").ToString();
ProjektNummer = lastProjektNummer;
}
catch
{ }
}
void SpeicherInRegistry()
{
string keyName = userroot + "\\" + firmkey + "\\" + subkey;
Registry.SetValue(keyName, "LastProjekt", ProjektNummer);
}
public void LoadLanguage()
{
language = Language.Language.GetLanguage(Language.BUILTINLANGUAGES.GERMAN);
}
public Global()
{
LadeRegistry();
}
~Global()
{
SpeicherInRegistry();
}
}
}