示例#1
0
        private void save_config()
        {
            string str_detect = "N";

            if (CheckDetect.Checked)
            {
                str_detect = "Y";
            }
            BathClass.set_config_by_key(ConfigKeys.KEY_CHECK_DETECT, str_detect);

            string str_server = "N";

            if (CheckServer.Checked)
            {
                str_server = "Y";
            }
            BathClass.set_config_by_key(ConfigKeys.KEY_CHECK_SERVER, str_server);

            string str_auto = "N";

            if (CheckAuto.Checked)
            {
                str_auto = "Y";
            }
            BathClass.set_config_by_key(ConfigKeys.KEY_CHECK_AUTO, str_auto);

            string str_time = TextTimeLimit.Text.Trim();

            if (str_time != "")
            {
                timeLimit = MConvert <int> .ToTypeOrDefault(str_time, -1);

                BathClass.set_config_by_key(ConfigKeys.KEY_TIME_LIMIT, str_time);
            }

            string str_money = TextMoneyLimit.Text.Trim();

            if (str_money != "")
            {
                moneyLimit = MConvert <int> .ToTypeOrDefault(str_money, -1);

                BathClass.set_config_by_key(ConfigKeys.KEY_MONEY_LIMIT, str_money);
            }

            string str_checkSMS = "N";

            if (CheckSMS.Checked)
            {
                str_checkSMS = "Y";
            }
            BathClass.set_config_by_key(ConfigKeys.KEY_SMS_OPERATION, str_checkSMS);

            string str_smsPort = "";

            if (cmbComPort.Enabled)
            {
                str_smsPort = cmbComPort.Text.Trim();
            }
            if (str_smsPort != "")
            {
                BathClass.set_config_by_key(ConfigKeys.KEY_SMSPORT, str_smsPort);
            }

            string str_baudrate = "";

            if (txtBoxBaudRate.Enabled)
            {
                str_baudrate = txtBoxBaudRate.Text.Trim();
            }
            if (str_baudrate != "")
            {
                BathClass.set_config_by_key(ConfigKeys.KEY_SMSBAUD, str_baudrate);
            }
        }
示例#2
0
        private void BtnOk_Click(object sender, EventArgs e)
        {
            save_config();

            #region 检测是否需要启动检测手牌异常线程
            if (CheckDetect.Checked)
            {
                timeLimit = MConvert <int> .ToTypeOrDefault(TextTimeLimit.Text, -1);

                moneyLimit = MConvert <double> .ToTypeOrDefault(TextMoneyLimit.Text, -1);

                if (m_thread_detect == null)
                {
                    m_thread_detect = new Thread(new ThreadStart(detect_unnormal_seat_thread));
                    m_thread_detect.IsBackground = true;
                    m_thread_detect.Start();
                }
            }
            #endregion

            #region 检测是否需要启动自动滚消费线程
            if (CheckAuto.Checked)
            {
                if (m_thread_auto == null)
                {
                    m_thread_auto = new Thread(new ThreadStart(order_auto_add_thread));
                    m_thread_auto.IsBackground = true;
                    m_thread_auto.Start();
                }
            }
            #endregion

            #region 检测是否需要启动UDP服务器线程
            if (CheckServer.Checked)
            {
                if (udp_Server == null)
                {
                    try
                    {
                        udp_Server = new UdpListenerPlus(Constants.LocalUdpPort);
                        udp_Server.OnThreadTaskRequest += new UdpListenerPlus.ThreadTaskRequest(Handle_Udp_Msg);
                    }

                    catch (Exception)
                    {
                        if (udp_Server != null)
                        {
                            udp_Server.Stop();
                            udp_Server = null;
                        }
                        MessageBox.Show(this, "启动UDP服务器失败!", "信息");
                    }
                }
                else
                {
                    udp_Server.Stop();
                    udp_Server = null;
                }
            }
            #endregion

            #region 启动云服务器上传线程

            if (m_uploadCloud == null)
            {
                m_uploadCloud = new UploadCloud(connectionString);
                m_uploadCloud.start();
            }

            #endregion


            #region 检测是否启用短信操控
            if (CheckSMS.Checked)
            {
                BtnOk.Enabled = false;
                string port = IOUtil.get_config_by_key(ConfigKeys.KEY_SMSPORT);
                if (port != "")
                {
                    comport = MConvert <uint> .ToTypeOrDefault(port.Substring(3, port.Length - 3), 0);
                }
                string str_baudrate = IOUtil.get_config_by_key(ConfigKeys.KEY_SMSBAUD);
                baudrate = MConvert <uint> .ToTypeOrDefault(str_baudrate, 0);

                string mobileType     = "";
                string CopyRightToCOM = "";
                string CopyRight      = "//上海迅赛信息技术有限公司,网址www.xunsai.com//";
                if (SmsClass.Sms_Connection(CopyRight, comport, baudrate, out mobileType, out CopyRightToCOM) == 0)
                {
                    MessageBox.Show("短信猫打开失败,请重新配置!");
                    BtnOk.Enabled = true;
                    return;
                }
                m_thread_smsOpertion = new Thread(new ThreadStart(sms_operation_thread));
                m_thread_smsOpertion.IsBackground = true;
                m_thread_smsOpertion.Start();
            }


            #endregion


            this.WindowState = FormWindowState.Minimized;
            BtnOk.Enabled    = true;
        }
示例#3
0
        //上传账单数据
        private void run_account()
        {
            while (true)
            {
                try
                {
                    var db = new BathDBDataContext(connectionString);

                    long maxId                 = -1;
                    var  abandonIds            = new List <long>();
                    var  account_uploadRecords = db.UploadRecords.FirstOrDefault(x => x.tableName == "Account");
                    if (account_uploadRecords != null)
                    {
                        maxId = MConvert <long> .ToTypeOrDefault(account_uploadRecords.maxId, -1);

                        if (account_uploadRecords.abandonId != null)
                        {
                            var idArray = account_uploadRecords.abandonId.Split(Constants.SplitChar);
                            abandonIds = Array.ConvertAll <string, long>(idArray, delegate(string s) { return(MConvert <long> .ToTypeOrDefault(s, -1)); }).ToList();
                        }
                    }
                    else
                    {
                        account_uploadRecords           = new UploadRecords();
                        account_uploadRecords.tableName = "Account";
                        db.UploadRecords.InsertOnSubmit(account_uploadRecords);
                        db.SubmitChanges();
                    }

                    #region 更新abandonIds,去除掉夜审之前的,以免abandonIds过长

                    var maxTime = DateTime.Parse("2013-01-01 00:00:00");
                    if (db.ClearTable.Any())
                    {
                        maxTime = db.ClearTable.Max(x => x.clearTime);
                    }
                    var max_passed_account_id = db.Account.Where(x => x.payTime <= maxTime).Max(x => x.id);
                    abandonIds.RemoveAll(x => x <= max_passed_account_id);

                    var _idArray = Array.ConvertAll <long, string>(abandonIds.ToArray(), delegate(long s) { return(s.ToString()); });
                    account_uploadRecords.abandonId = string.Join(Constants.SplitChar.ToString(), _idArray);
                    db.SubmitChanges();

                    #endregion

                    var accounts  = db.Account.Where(x => x.id > maxId);
                    var _accounts = db.Account.Where(x => x.payTime >= maxTime && x.abandon != null && !abandonIds.Contains(x.id));
                    accounts = accounts.Union(_accounts).Distinct();

                    bool changed = false;
                    foreach (var account in accounts)
                    {
                        bool sucess = false;
                        while (!sucess)
                        {
                            sucess = upload_json(BathClass.ConvertToJsonString(account), "account");
                            if (sucess)
                            {
                                changed = true;
                                if (maxId < account.id)
                                {
                                    maxId = account.id;
                                    account_uploadRecords.maxId = account.id;
                                }
                                if (account.abandon != null && account.id >= max_passed_account_id)
                                {
                                    account_uploadRecords.abandonId += Constants.SplitChar + account.id.ToString();
                                }
                            }
                        }
                    }

                    if (changed)
                    {
                        db.SubmitChanges();
                    }
                }
                catch (System.Exception ex)
                {
                    IOUtil.insert_file(BathClass.getErrorFileName(), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "run_account" + ex.Message);
                }
            }
        }
示例#4
0
        //上传ClearTable数据
        private void run_clearTable()
        {
            while (true)
            {
                try
                {
                    var      db            = new BathDBDataContext(connectionString);
                    long     maxId         = -1;
                    DateTime clearTime     = DateTime.Now;
                    var      uploadRecords = db.UploadRecords.FirstOrDefault(x => x.tableName == "ClearTable");
                    if (uploadRecords != null)
                    {
                        maxId = MConvert <long> .ToTypeOrDefault(uploadRecords.maxId, -1);

                        clearTime = MConvert <DateTime> .ToTypeOrDefault(uploadRecords.clearTime, clearTime);
                    }
                    else
                    {
                        uploadRecords           = new UploadRecords();
                        uploadRecords.tableName = "ClearTable";
                        db.UploadRecords.InsertOnSubmit(uploadRecords);
                        db.SubmitChanges();
                    }

                    var clearTables  = db.ClearTable.Where(x => x.id > maxId);
                    var _clearTables = db.ClearTable.Where(x => x.id == maxId && x.clearTime != clearTime);
                    clearTables = clearTables.Union(_clearTables).Distinct();

                    bool changed = false;
                    foreach (var clearTable in clearTables)
                    {
                        bool sucess = false;
                        while (!sucess)
                        {
                            sucess = upload_json(BathClass.ConvertToJsonString(clearTable), "ClearTable");
                            if (sucess)
                            {
                                changed = true;
                                if (maxId < clearTable.id)
                                {
                                    maxId = clearTable.id;
                                    uploadRecords.maxId = clearTable.id;
                                }
                                if (clearTable.clearTime != clearTime)
                                {
                                    clearTime = clearTable.clearTime;
                                    uploadRecords.clearTime = clearTable.clearTime;
                                }
                                db.SubmitChanges();
                            }
                        }
                    }
                    if (changed)
                    {
                        db.SubmitChanges();
                    }
                }
                catch (System.Exception ex)
                {
                }
            }
        }
示例#5
0
        //上传会员卡销售
        private void run_cardSale()
        {
            while (true)
            {
                try
                {
                    var db = new BathDBDataContext(connectionString);

                    long maxId         = -1;
                    var  abandonIds    = new List <long>();
                    var  uploadRecords = db.UploadRecords.FirstOrDefault(x => x.tableName == "CardSale");
                    if (uploadRecords != null)
                    {
                        maxId = MConvert <long> .ToTypeOrDefault(uploadRecords.maxId, -1);

                        if (uploadRecords.abandonId != null)
                        {
                            var idArray = uploadRecords.abandonId.Split(Constants.SplitChar);
                            abandonIds = Array.ConvertAll <string, long>(idArray, delegate(string s) { return(MConvert <long> .ToTypeOrDefault(s, -1)); }).ToList();
                        }
                    }
                    else
                    {
                        uploadRecords           = new UploadRecords();
                        uploadRecords.tableName = "CardSale";
                        db.UploadRecords.InsertOnSubmit(uploadRecords);
                        db.SubmitChanges();
                    }

                    #region 更新abandonIds,去除掉夜审之前的,以免abandonIds过长

                    var maxTime = DateTime.Parse("2013-01-01 00:00:00");
                    if (db.ClearTable.Any())
                    {
                        maxTime = db.ClearTable.Max(x => x.clearTime);
                    }
                    var max_passed_id = db.CardSale.Where(x => x.payTime <= maxTime).Max(x => x.id);
                    abandonIds.RemoveAll(x => x <= max_passed_id);

                    var _idArray = Array.ConvertAll <long, string>(abandonIds.ToArray(), delegate(long s) { return(s.ToString()); });
                    uploadRecords.abandonId = string.Join(Constants.SplitChar.ToString(), _idArray);
                    db.SubmitChanges();

                    #endregion

                    var cardSales  = db.CardSale.Where(x => x.id > maxId);
                    var _cardSales = db.CardSale.Where(x => x.payTime >= maxTime && x.abandon != null && !abandonIds.Contains(x.id));
                    cardSales = cardSales.Union(_cardSales).Distinct();

                    bool changed = false;
                    foreach (var cardSale in cardSales)
                    {
                        bool sucess = false;
                        while (!sucess)
                        {
                            sucess = upload_json(BathClass.ConvertToJsonString(cardSale), "CardSale");
                            if (sucess)
                            {
                                changed = true;
                                if (maxId < cardSale.id)
                                {
                                    maxId = cardSale.id;
                                    uploadRecords.maxId = cardSale.id;
                                }
                                if (cardSale.abandon != null && cardSale.id >= max_passed_id)
                                {
                                    uploadRecords.abandonId += Constants.SplitChar + cardSale.id.ToString();
                                }
                            }
                        }
                    }
                    if (changed)
                    {
                        db.SubmitChanges();
                    }
                }
                catch (System.Exception ex)
                {
                }
            }
        }