/// <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));
        }
Exemple #2
0
 /// <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));
        }
Exemple #5
0
 /// <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;
 }
Exemple #6
0
 /// <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;
 }