133 lines
4.4 KiB
C#
133 lines
4.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace ProductionUiCordonelLegacy
|
|
{
|
|
|
|
/// <summary>
|
|
/// Configuration of ProductionUi
|
|
/// </summary>
|
|
public class ApplicationSettings
|
|
{
|
|
|
|
public class Pos
|
|
{
|
|
public Double Left { get; set; }
|
|
public Double Top { get; set; }
|
|
public Double Height { get; set; }
|
|
public Double Width { get; set; }
|
|
}
|
|
public class MultiFormChilds
|
|
{
|
|
public Type ViewModelType { get; set; }
|
|
public Boolean Visisble { get; set; }
|
|
public String Name { get; set; }
|
|
public Int32 Slot { get; set; }
|
|
public String TextPort { get; set; }
|
|
public Pos StartPos { get; set; }
|
|
|
|
}
|
|
public Int32 Slot { get; set; }
|
|
|
|
public Int32? PressureStationId { get; set; }
|
|
public Boolean AutoDetect { get; set; }
|
|
|
|
public Boolean AccessToPresuretestTab { get; set; }
|
|
public Boolean AccessToMarrieTab { get; set; }
|
|
public Boolean AccessToFinalcheckTab { get; set; }
|
|
|
|
public Boolean AccessToSettingTab { get; set; }
|
|
public Boolean AccessToStatusTab { get; set; }
|
|
public Boolean AccessToPickingTab { get; set; }
|
|
|
|
|
|
public Int32? SirtComport433 { get; set; }
|
|
public Int32? SirtComport866 { get; set; }
|
|
public Int32? SirtBoxNr { get; set; }
|
|
|
|
public Int32? StationId { get; set; }
|
|
|
|
public List<MultiFormChilds> ChildForms { get; set; }
|
|
|
|
/// <summary>
|
|
/// ctor
|
|
/// </summary>
|
|
public ApplicationSettings()
|
|
{
|
|
Slot = 0;
|
|
AutoDetect = false;
|
|
AccessToPresuretestTab = false;
|
|
AccessToMarrieTab = false;
|
|
AccessToFinalcheckTab = false;
|
|
AccessToSettingTab = false;
|
|
AccessToPickingTab = false;
|
|
AccessToStatusTab = false;
|
|
PressureStationId = null;
|
|
SirtComport433 = null;
|
|
SirtComport866 = null;
|
|
SirtBoxNr = null;
|
|
ChildForms = new List<MultiFormChilds>();
|
|
StationId = null;
|
|
}
|
|
/// <inheritdoc />
|
|
public ApplicationSettings(String file)
|
|
{
|
|
//var configFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), nameof(Xylem.Common.Hardware.WaterMeter.Genesis), file);
|
|
|
|
//if (!File.Exists(configFile))
|
|
//{
|
|
var configFile = Path.Combine(file);
|
|
if (!File.Exists(configFile))
|
|
{
|
|
Slot = 0;
|
|
AutoDetect = false;
|
|
AccessToPresuretestTab = false;
|
|
AccessToMarrieTab = false;
|
|
AccessToFinalcheckTab = false;
|
|
AccessToSettingTab = false;
|
|
AccessToPickingTab = false;
|
|
AccessToStatusTab = false;
|
|
PressureStationId = null;
|
|
ChildForms = new List<MultiFormChilds>();
|
|
StationId = null;
|
|
return;
|
|
}
|
|
//}
|
|
|
|
using (var tr = new StreamReader(configFile))
|
|
{
|
|
var meterConfig = JsonConvert.DeserializeObject<ApplicationSettings>(tr.ReadToEnd());
|
|
Slot = meterConfig.Slot;
|
|
AutoDetect = meterConfig.AutoDetect;
|
|
AccessToPresuretestTab = meterConfig.AccessToPresuretestTab;
|
|
AccessToMarrieTab = meterConfig.AccessToMarrieTab;
|
|
AccessToFinalcheckTab = meterConfig.AccessToFinalcheckTab;
|
|
AccessToSettingTab = meterConfig.AccessToSettingTab;
|
|
AccessToPickingTab = meterConfig.AccessToPickingTab;
|
|
AccessToStatusTab = meterConfig.AccessToStatusTab;
|
|
PressureStationId = meterConfig.PressureStationId;
|
|
|
|
ChildForms = meterConfig.ChildForms;
|
|
StationId = meterConfig.StationId;
|
|
}
|
|
|
|
}
|
|
|
|
public void Update(String file)
|
|
{
|
|
var configFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), nameof(Xylem.Common.Hardware.WaterMeter.Genesis), file);
|
|
|
|
if (!File.Exists(configFile))
|
|
{
|
|
configFile = Path.Combine(file);
|
|
}
|
|
|
|
File.WriteAllText(file, JsonConvert.SerializeObject(this));
|
|
}
|
|
|
|
|
|
}
|
|
}
|