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