Esempio n. 1
0
        /// <summary>
        /// 清空数据和客户端
        /// </summary>
        private void ClearDataAndService()
        {
            // 先记录一下日志
            OperateLog.Instance.RecordAll();
            //如果服务列表存在则清空
            if (Resources.GetRes().Services.Count > 0)
            {
                // 清空前先把日志保存掉

                Resources.GetRes().Services.Clear();
            }
            // 清空数据
            if (DBOperate.GetDBOperate().IsDataReady)
            {
                DBOperate.GetDBOperate().ClearData();
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 检测KEY
        /// </summary>
        /// <param name="IsFirt"></param>
        private void CheckKey(bool IsInstall = false, bool IsIgnoreData = false, bool IsFirt = true)
        {
            //如果都没发现,那就直接跳过检测
            if (IsFind == false)
            {
                FindKey();
                if (IsFind == false)
                {
                    IsCheck       = false;
                    IsOpen        = false;
                    IsInitialTime = false;

                    return;
                }
            }

            //检测
            bool Result = true; // return CheckKey()

            if (Result)
            {
                IsCheck = true;
                if (IsOpen == false)
                {
                    //如果是安装版忽略打开
                    if (!IsInstall)
                    {
                        if (!Resources.GetRes().IsCreateMainCheckThread)
                        {
                            return;
                        }

                        // 检查
                        if (!Check())
                        {
                            System.Environment.Exit(0);
                            return;
                        }
                        // 打开前先检查是否过期
                        IsExpired();
                        if (Resources.GetRes().IsExpired == 1)
                        {
                            Request();
                            GetUid();
                        }
                        else
                        {
                            Open();
                            if (IsOpen)
                            {
                                Resources.GetRes().KEY_NAME_0 = GetName(Key.GetKeys().LANG_TYPE_0);
                                Resources.GetRes().KEY_NAME_1 = GetName(Key.GetKeys().LANG_TYPE_1);
                                Resources.GetRes().KEY_NAME_2 = GetName(Key.GetKeys().LANG_TYPE_2);
                                GetPass();
                                GetCount();
                                GetUid();
                                //GetKey();
                                // 获取剩余时间
                                CalculateLeftDays();

                                // 不忽略数据时重新获取数据
                                if (!IsIgnoreData && !DBOperate.GetDBOperate().IsDataReady)
                                {
                                    //获取数据(之所以打算在新线程运行, 是因为怕第二次KeyCheck请求因为获取数据时会堵住.   但也之所以去掉是因为(貌似数据还没准备好这个错误不是很友好, 所以已在KeyCheck加入了锁)
                                    //Task.Factory.StartNew(() =>
                                    //{
                                    DBOperate.GetDBOperate().LoadData();
                                    //});
                                }
                            }
                            else
                            {
                                IsCheck = false;
                            }
                        }
                    }
                }
            }
            else
            {
                IsCheck       = false;
                IsFind        = false;
                IsOpen        = false;
                IsInitialTime = false;


                if (IsFirt)
                {
                    CheckKey(IsInstall, IsIgnoreData, false);
                }
            }
        }