BaseConfigFileLoader.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. namespace ConfigOperator;
  2. public class BaseConfigFileLoader
  3. {
  4. public static string ConfigPath
  5. {
  6. get { return Path.Combine(Paths.BaseFolder, $"BasicInfo.xml"); }
  7. }
  8. public static bool Load(out BasicInfo? basicInfo)
  9. {
  10. if (!XmlHelper.DeserializeXml(ConfigPath, out basicInfo) || basicInfo is null)
  11. return false;
  12. return true;
  13. }
  14. public static bool Load(string path, out BasicInfo? basicInfo)
  15. {
  16. if(string.IsNullOrWhiteSpace(path) || !Path.Exists(path))
  17. {
  18. basicInfo = null;
  19. return false;
  20. }
  21. if (!XmlHelper.DeserializeXml(path, out basicInfo) || basicInfo is null)
  22. return false;
  23. return true;
  24. }
  25. public static void Save(BasicInfo basicInfo)
  26. {
  27. XmlFileHelper.WriteFile(ConfigPath, basicInfo);
  28. }
  29. public static void Save(string path, BasicInfo basicInfo)
  30. {
  31. XmlFileHelper.WriteFile(path, basicInfo);
  32. }
  33. }
  34. public class BasicInfo
  35. {
  36. public string? DBConnectionString { get; set; }
  37. public string? ServerAddress { get; set; }
  38. public int ServerPort { get; set; }
  39. public int SelectedDisplay { get; set; }
  40. public string? RTServerAddress { get; set; }
  41. public ushort RTServerPort { get; set; }
  42. public string? GasPanelWindowName { get; set; }
  43. public DateTime DBClearTime { get; set; }
  44. public int DBKeepRange { get; set; }
  45. public int AlarmDelaySeconds { get; set; }
  46. }