Files
Kanalsanierungsverwaltung/SanSystem/Global.cs
HuskyTeufel 59495e4193 Namensumbenennung Inliner zu Schlauchliner
Fehler beim Speichern einer Imprägnierungsbericht ohne Daten behoben
Fehler beim Starten einer "first" start anwendung
Beim anlegen einer neuer Projekt wird das Dialog gleich geschlossen
2021-03-11 15:28:34 +01:00

145 lines
3.9 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 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();
}
}
}