📄 functions.cs.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 + -