using System.Configuration;
using System.Web;
namespace CallCenter.Utility
{
    public class Configs
    {
        //public static System.Xml.XmlDocument xDoc;
        //public static System.Xml.XmlNode xNode;

        //static Configs()
        //{
        //    xDoc = new System.Xml.XmlDocument();
        //    xDoc.Load(HttpContext.Current.Server.MapPath("~/Configs/system.config"));
        //    xNode = xDoc.SelectSingleNode("//appSettings");
        //}
        /// <summary>
        /// 根据Key取Value值
        /// </summary>
        /// <param name="key"></param>
        public static string GetValue(string key)
        {
            try
            {
                System.Xml.XmlDocument xDoc = new System.Xml.XmlDocument();
                xDoc.Load(HttpContext.Current.Server.MapPath("~/Configs/system.config"));
                System.Xml.XmlNode xNode = xDoc.SelectSingleNode("//appSettings");
                var xElem1 = (System.Xml.XmlElement)xNode.SelectSingleNode("//add[@key='" + key + "']");
                return xElem1?.GetAttribute("value") ?? "";
            }
            catch
            {
                return "";
            }
        }
        /// <summary>
        /// 根据Key修改Value
        /// </summary>
        /// <param name="key">要修改的Key</param>
        /// <param name="value">要修改为的值</param>
        public static void SetValue(string key, string value)
        {
            try
            {
                System.Xml.XmlDocument xDoc = new System.Xml.XmlDocument();
                xDoc.Load(HttpContext.Current.Server.MapPath("~/Configs/system.config"));
                System.Xml.XmlNode xNode = xDoc.SelectSingleNode("//appSettings");
                //System.Xml.XmlNode xNode;
                System.Xml.XmlElement xElem1;
                System.Xml.XmlElement xElem2;
                xElem1 = (System.Xml.XmlElement)xNode.SelectSingleNode("//add[@key='" + key + "']");
                if (xElem1 != null) xElem1.SetAttribute("value", value);
                else
                {
                    xElem2 = xDoc.CreateElement("add");
                    xElem2.SetAttribute("key", key);
                    xElem2.SetAttribute("value", value);
                    xNode.AppendChild(xElem2);
                }
                xDoc.Save(HttpContext.Current.Server.MapPath("~/Configs/system.config"));
            }
            catch
            { }
        }
    }
}
