Пример #1
0
        public static void RunService()
        {
            try
            {
                int       minute         = 0;
                int       hour           = 0;
                int       value          = 0;
                int       sleep          = 0;
                DataTable table          = new DataTable();
                DataTable table_maincard = new DataTable();

                SCBPhone = classUtilities.GetStringValueFromConfig("SCB_Contact_Phone");
                value    = classUtilities.GetIntValueFromConfig("Send_Email_Minute");
                sleep    = classUtilities.GetIntValueFromConfig("Send_Email_Second");
                while (_exitThread == false)
                {
                    minute = DateTime.Now.Minute;
                    if (minute % value == 0)
                    //if (1==1)
                    {
                        classSendEmailLogWriter.WriteLog("----------------Begin Process-----------------");
                        _dataAccess = new classDataAccess();
                        table_maincard.Rows.Clear();
                        table_maincard = Get_SendEmail_MainCard();
                        if (table_maincard.Rows.Count > 0)
                        {
                            Process_Send_Email_MainCard(table_maincard);
                        }

                        table.Rows.Clear();
                        table = Get_SendEmail();
                        if (table.Rows.Count > 0)
                        {
                            Process_Send_Email(table);
                        }

                        classSendEmailLogWriter.WriteLog("----------------End Process----------------- at: " + DateTime.Now.ToString());
                        //Thread.Sleep(1000 * 30);
                    }

                    if (value > 2)
                    {
                        if ((value - (minute % value) - 1) > 0)
                        {
                            classSendEmailLogWriter.WriteLog("sleep " + (value - (minute % value) - 1) + " minute");
                            Thread.Sleep(1000 * (value - (minute % value) - 1) * 55);
                        }
                        else
                        {
                            Thread.Sleep(1000 * 10);// truong hop start vao -1 ph
                        }
                    }
                    else
                    {
                        Thread.Sleep(1000 * sleep); // 10 giay moi check 1 lan
                    }
                }
            }
            catch (Exception ex)
            {
                classSendEmailLogWriter.WriteLog("Error RunService(), " + ex.Message);
            }
        }