예제 #1
0
        /// <summary>
        /// 初始化服务
        /// </summary>
        /// <param name="yt"></param>
        public void InitService(YiTingShanFuSetting yt)
        {
            YiTingShanFuService s = null;

            if (_Services.ContainsKey(yt.GetType()))
            {
                s = _Services[yt.GetType()] as YiTingShanFuService;
                if (s.Setting != null && s.Setting.IP == yt.IP && s.Setting.Port == yt.Port) //如果通讯参数不变,则不用重新初始化服务
                {
                    s.Setting = yt;
                }
                else
                {
                    s.Dispose();
                    s = null;
                }
            }
            if (s == null)
            {
                s                       = new YiTingShanFuService(yt);
                s.OnReadCard           += new EventHandler <OpenCardEventArgs>(s_OnReadCard);
                s.OnPaying             += new EventHandler <OpenCardEventArgs>(s_OnPaying);
                s.OnPaidOk             += new EventHandler <OpenCardEventArgs>(s_OnPaidOk);
                s.OnPaidFail           += new EventHandler <OpenCardEventArgs>(s_OnPaidFail);
                s.OnError              += new EventHandler <OpenCardEventArgs>(s_OnError);
                _Services[yt.GetType()] = s;
                s.Init();
            }
        }
예제 #2
0
        public static void GetYiTingConfig(this AppSettings aps, YiTingShanFuSetting yt)
        {
            yt.IP = "127.0.0.1";
            string temp = aps.GetConfigContent("YiTingIP");

            if (!string.IsNullOrEmpty(temp))
            {
                yt.IP = temp;
            }
            else
            {
                System.Net.IPAddress addr = Ralid.GeneralLibrary.NetTool.GetFirstIP();
                if (addr != null)
                {
                    yt.IP = addr.ToString();
                }
            }
            int port = 0;

            temp = aps.GetConfigContent("YiTingPort");
            if (!string.IsNullOrEmpty(temp))
            {
                int.TryParse(temp, out port);
            }
            if (port == 0)
            {
                port = 16171;
            }
            yt.Port = port;
        }
예제 #3
0
 public YiTingShanFuService(YiTingShanFuSetting setting)
 {
     Setting = setting;
 }
예제 #4
0
 public static void SaveYiTingConfig(this AppSettings aps, YiTingShanFuSetting yt)
 {
     aps.SaveConfig("YiTingIP", yt.IP);
     aps.SaveConfig("YiTingPort", yt.Port.ToString());
 }