173 lines
4.7 KiB
C#
173 lines
4.7 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 event EventHandler OnStatusMessageChanged;
|
|
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;
|
|
|
|
public string AktuelleBesatzung = string.Empty;
|
|
|
|
string projektpfad = "18-850";
|
|
|
|
string statusMessage = "";
|
|
|
|
public string StatusMessage
|
|
{
|
|
get
|
|
{
|
|
return statusMessage;
|
|
}
|
|
set
|
|
{
|
|
if (statusMessage == value) return;
|
|
statusMessage = value;
|
|
StatusMessageChanged(EventArgs.Empty);
|
|
}
|
|
}
|
|
|
|
public CSVParser.AcceptedCSVFormats AnlageType = CSVParser.AcceptedCSVFormats.BLUELIGHT;
|
|
|
|
public void StatusMessageChanged(EventArgs args)
|
|
{
|
|
EventHandler handler = OnStatusMessageChanged;
|
|
if (handler != null)
|
|
handler(this, args);
|
|
}
|
|
|
|
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();
|
|
}
|
|
}
|
|
}
|