using System; using System.IO; using System.Windows.Forms; using BO.Utils; namespace MaterialRequisition { public static class MaterialRequisitionContext { private static string loginConfigPath = Application.StartupPath + "\\MaterialRequisitionConfig.xml"; private static MaterialRequisitionConfig _config; public static MaterialRequisitionConfig Config { get { if (_config == null) _config = CreateConfig(); return _config; } } static MaterialRequisitionConfig CreateConfig() { var config = new MaterialRequisitionConfig(); 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 MaterialRequisitionConfig { 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; } public int WeightType { get; set; } public decimal MinWeight { get; set; } public decimal MaxWeight { get; set; } } }