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 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 string PROGRAMMVERSION { get { return programmversion; } } 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; if (!Directory.Exists(Projektpfad)) Directory.CreateDirectory(Projektpfad); Database.Datenbank.Instance.InitProjekt(projekt, Projektpfad); } public string Projektpfad { get { return Path.Combine(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, Projektpfad); } void LadeRegistry() { string keyName = userroot + "\\" + firmkey + "\\" + subkey; string lastProjektNummer = ""; try { 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(); programmversion = ReadProgrammVersion(); } private string ReadProgrammVersion() { // Nachfolgend zeigt alle resources an //string[] resourceNames = Assembly.GetExecutingAssembly().GetManifestResourceNames(); string version = string.Empty; using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("SanSystem." + "version.txt")) { using (StreamReader reader = new StreamReader(stream)) { version = reader.ReadToEnd(); } } return version; } ~Global() { SpeicherInRegistry(); } } }