⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 functions.cs.svn-base

📁 sms短信发送方面的东东。仅供参考使用。有问题可以和我联系
💻 SVN-BASE
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;

namespace PlaneSale
{
    class Functions
    {
        private System.Threading.Timer timerBegin = null;
        private System.Threading.Timer timerEnd = null;
        private System.Threading.Timer timerWarn = null;
        
        public string GetMessage(string key)
        {
            string str = null;
            try
            {
              str = Global.doc.GetElementsByTagName(key)[0].ChildNodes[0].Value;  
            }
            catch(Exception ex)
            {
                
            }
            return str;    
        }
        
        /// <summary>
        /// 根据输入的Code和要取得信息的key来取得相应的信息
        /// </summary>
        /// <param name="key"></param>
        /// <param name="code"></param>
        /// <returns></returns>
        public string GetMessageByCode(string key,string code)
        {
            string str = null;
            try
            {
                string tmp = "//info/" + key + "/text()[../../Code/text()='" + code + "']";
                str = Global.doc.SelectSingleNode(tmp).Value;
            }
            catch (Exception ex)
            {

            }
            return str;
        }
        
        /// <summary>
        /// 设定开始时间
        /// </summary>
        private TimeSpan SetBeginTimeSpan()
        {
            DateTime t_now = DateTime.Now;
            DateTime t_begin = DateTime.Parse(Global.BeginTime);
            TimeSpan ts = t_begin.Subtract(t_now);
            int i_day = ts.Days;
            int i_hour = ts.Hours;
            int i_minutes = ts.Minutes;
            int i_second = ts.Seconds;
            if (i_day >= 0 && i_hour >= 0 && i_minutes >= 0 && i_second >= 0)
            {
               Global.form.AddMessage(string.Format("离活动开始还有{0}天{1}小时{2}分{3}秒", i_day, i_hour, i_minutes, i_second));
               Global.DOProcessTag = 0;
            }
            else
            {
                Global.form.AddMessage(string.Format("活动已经开始{0}天{1}小时{2}分{3}秒", 0-i_day, 0-i_hour, 0-i_minutes, 0-i_second));
                ts = TimeSpan.MinValue;
            }
            return ts;
        }
        
        private void StartBeingTimer()
        {
            TimeSpan ts = SetBeginTimeSpan();
            if(!ts.Equals(TimeSpan.MinValue))
                timerBegin = new Timer(BeginTimerDo, null, ts, TimeSpan.Zero);
        }
        
        /// <summary>
        /// 到达活动开始时间时,需要处理的内容
        /// </summary>
        /// <param name="state"></param>
        private void BeginTimerDo(object state)
        {
            Global.form.AddMessage("活动正式开始");
            Global.DOProcessTag = 1;
        }
        
        /// <summary>
        /// 设定结束时间
        /// </summary>
        /// <returns></returns>
        private TimeSpan  SetEndTimeSpan()
        {
            DateTime t_now = DateTime.Now;
            DateTime t_end = DateTime.Parse(Global.EndTime);
            TimeSpan ts = t_end.Subtract(t_now);
            int i_day = ts.Days;
            int i_hour = ts.Hours;
            int i_minutes = ts.Minutes;
            int i_second = ts.Seconds;
            if (i_day >= 0 && i_hour >= 0 && i_minutes >= 0 && i_second >= 0)
            {
                Global.form.AddMessage(string.Format("离活动结束还有{0}天{1}小时{2}分{3}秒", i_day, i_hour, i_minutes, i_second));
            }
            else
            {
                Global.form.AddMessage(string.Format("活动已经结束{0}天{1}小时{2}分{3}秒", 0 - i_day, 0 - i_hour, 0 - i_minutes, 0 - i_second));
                ts = TimeSpan.MinValue;
            }
            return ts;
        }
        
        /// <summary>
        /// 到达活动结束时间后的处理动作
        /// </summary>
        /// <param name="state"></param>
        private void EndTimerDo(object state)
        {
            Global.form.AddMessage("活动已经结束");
            Global.DOProcessTag = 2;
        }

        /// <summary>
        /// 设定结束时间Timer
        /// </summary>
        private void StartEndTimer()
        {
            TimeSpan ts = SetEndTimeSpan();
            if (!ts.Equals(TimeSpan.MinValue))
                timerEnd = new Timer(EndTimerDo, null, ts, TimeSpan.Zero);
        }

        /// <summary>
        /// 设定结束时间
        /// </summary>
        /// <returns></returns>
        private TimeSpan SetWarnTimeSpan()
        {
            DateTime t_now = DateTime.Now;
            DateTime t_end = DateTime.Parse(Global.WarnTime);
            TimeSpan ts = t_end.Subtract(t_now);
            int i_day = ts.Days;
            int i_hour = ts.Hours;
            int i_minutes = ts.Minutes;
            int i_second = ts.Seconds;
            if (i_day >= 0 && i_hour >= 0 && i_minutes >= 0 && i_second >= 0)
            {
                Global.form.AddMessage(string.Format("离预警处理还有{0}天{1}小时{2}分{3}秒", i_day, i_hour, i_minutes, i_second));
            }
            else
            {
                Global.form.AddMessage(string.Format("预警处理已经结束{0}天{1}小时{2}分{3}秒", 0 - i_day, 0 - i_hour, 0 - i_minutes, 0 - i_second));
                ts = TimeSpan.MinValue;
            }
            return ts;
        }

        /// <summary>
        /// 到预警时间后的处理动作
        /// </summary>
        /// <param name="state"></param>
        private void WarnTimerDo(object state)
        {
            Global.form.AddMessage("预警处理线程启动");
            Global g = new Global();
            g.WarnDo();
        }

        /// <summary>
        /// 设定结束时间Timer
        /// </summary>
        private void StartWarnTimer()
        {
            TimeSpan ts = SetWarnTimeSpan();
            if (!ts.Equals(TimeSpan.MinValue))
                timerWarn = new Timer(WarnTimerDo, null, ts, TimeSpan.Zero);
        }
        
        
        /// <summary>
        /// 启动系统所有的Timer
        /// </summary>
        public void StartAllTimer()
        {
            StartBeingTimer();
            StartWarnTimer();
            StartEndTimer();
        }
        
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -