/// <summary> /// 添加一个实体 /// </summary> /// <param name="model"></param> /// <returns></returns> public static string AddConfig(IpEntity model) { bool isPass = true; var msg = CheckIpEntity(model, ref isPass); if (!isPass) { return(msg); } XmlConfig xmlConfig = LoadItems(); xmlConfig.Items.Add(model); return(SaveConfig(xmlConfig)); }
/// <summary> /// 保存实体 /// </summary> /// <param name="xmlConfig"></param> /// <returns></returns> public static string SaveConfig(XmlConfig xmlConfig) { var msg = "Ok"; var xml = string.Empty; try { xml = XmlHelper.Serializer(xmlConfig); File.WriteAllText(fileName, xml, Encoding.UTF8); } catch (Exception e) { msg=e.Message; } return msg; }
/// <summary> /// 保存实体 /// </summary> /// <param name="xmlConfig"></param> /// <returns></returns> public static string SaveConfig(XmlConfig xmlConfig) { var msg = "Ok"; var xml = string.Empty; try { xml = XmlHelper.Serializer(xmlConfig); File.WriteAllText(fileName, xml, Encoding.UTF8); } catch (Exception e) { msg = e.Message; } return(msg); }
/// <summary> /// 修改配置 /// </summary> /// <param name="model"></param> /// <returns></returns> public static string UpdateConfig(IpEntity model) { bool isPass = true; var msg = CheckIpEntity(model, ref isPass); if (!isPass) { return(msg); } XmlConfig xmlConfig = LoadItems(); var index = xmlConfig.Items.FindIndex(a => a.Id.Equals(model.Id)); if (index < 0 || index > xmlConfig.Items.Count) { return("更新失败"); } xmlConfig.Items[index] = model; return(SaveConfig(xmlConfig)); }
/// <summary> /// 从文件载入配置 /// </summary> /// <returns></returns> public static XmlConfig LoadItems() { string xml = string.Empty; using (FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate)) { using (StreamReader sr = new StreamReader(fs)) { xml=sr.ReadToEnd(); } } XmlConfig res = null; if (string.IsNullOrEmpty(xml)) { return new XmlConfig { Items = new List<IpEntity> () }; } try { res = XmlHelper.Deserialize<XmlConfig>(xml); } catch (Exception) { if (File.Exists(fileName)) { File.Delete(fileName); } res = new XmlConfig { Items = new List<IpEntity>() }; } return res; }
/// <summary> /// 获取当前配置项 /// </summary> /// <param name="ls"></param> /// <param name="addModel"></param> private void GetNowStatus(XmlConfig ls,IpEntity addModel=null) { var status = string.Empty; var defaultModel = IpSwitchHelper.CreateDefault(); var nowModel = addModel!=null&&addModel!=default(IpEntity)? addModel: ls.Items.Where(a => a.IpAddress.Equals(defaultModel.IpAddress) && a.DNS.Equals(defaultModel.DNS) && a.SubnetMask.Equals(defaultModel.SubnetMask) && a.Gateway.Equals(defaultModel.Gateway)).FirstOrDefault(); if (nowModel!=default(IpEntity)) { status = nowModel.Name; for (int i = 0; i < itemsComboBox.Items.Count; i++) { var ipEntity = (IpEntity)itemsComboBox.Items[i]; if (ipEntity.Id.Equals(nowModel.Id)) { itemsComboBox.SelectedIndex = i; } } formNotifyIcon.ContextMenuStrip.Items.RemoveAt(0); formNotifyIcon.ContextMenuStrip.Items.Insert(0,new ToolStripMenuItem("当前:"+status)); } statusLabel.Text = status; }