using BO.Utils; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WeighAndGrading { public static class GradeContext { //#if debug //private static string loginConfigPath = @"C:\BwpB3Project\src\B3ButcherManageClient\ButcherManageClient\bin\Debug\GradeConfig.xml"; //#endif //#if !debug private static string loginConfigPath = Application.StartupPath + "\\GradeConfig.xml"; //#endif private static GradeConfig _config; public static GradeConfig Config { get { if (_config == null) _config = CreateConfig(); return _config; } } static GradeConfig CreateConfig() { var config = new GradeConfig(); if (!File.Exists(loginConfigPath)) { XmlUtil.SerializerObjToFile(config, loginConfigPath); } else config = XmlUtil.DeserializeFromFile(loginConfigPath); return config; } public static void Save() { if (string.IsNullOrEmpty(_config.WeightSet)) throw new Exception("请选择称型号"); if (string.IsNullOrEmpty(_config.ComSet)) throw new Exception("请选择Com口"); if (_config.RateSet == null) throw new Exception("请选择波特率"); if (_config.BitSet == null) throw new Exception("请选择数据位"); if (string.IsNullOrEmpty(_config.Format)) throw new Exception("请填写显示格式"); try { string.Format("{0:" + _config.Format + "}", 1); } catch (Exception ex) { throw new Exception("显示格式填写错误\n" + ex.Message); } XmlUtil.SerializerObjToFile(_config, loginConfigPath); } } public class GradeConfig { public string WeightSet { get; set; } public string ComSet { get; set; } public int? RateSet { get; set; } public int? BitSet { get; set; } public string Format { get; set; } public decimal? Discont { get; set; } } }