using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
namespace CalcAnnualLeave
{
public class AnnualLeave : TimingTaskBase.TimingTaskBase
{
private static string connString;
static AnnualLeave()
{
XmlDocument docConfig = new XmlDocument();
docConfig.Load(System.Environment.CurrentDirectory + "/TimingTaskConfig.xml");
XmlNode xnl = docConfig.SelectSingleNode(@"//Task[@ID='1']");
connString = xnl.Attributes["connString"].Value;
}
public override void Run()
{
CalcAnnual();
}
private static void CalcAnnual()
{
DateTime dtNow = DateTime.Now;
string strSql = @"update dbo.VocationAndJiaBanReport set ThisYearHasNian = ThisYearHasNian + 1 ";
SqlConnection conn = new SqlConnection(connString);
try
{
WriteLog("执行开始");
conn.Open();
SqlCommand cmmd = new SqlCommand(strSql, conn);
cmmd.ExecuteNonQuery();
WriteLog("ENd");
}
catch (Exception e)
{
WriteLog(e.Message);
conn.Close();
conn.Dispose();
}
finally
{
conn.Close();
conn.Dispose();
}
}
///
/// 写定时任务日志
///
///
private static void WriteLog(string strMsg)
{
string strFile = @"C:/TimingTaskLog.log";
object objLock = new object();
if (!File.Exists(strFile))
{
File.Create(strFile);
}
lock (objLock)
{
StreamWriter sw = new StreamWriter(strFile, true);
sw.WriteLine(DateTime.Now.ToString());
sw.WriteLine("message text:" + strMsg);
sw.Close();
}
}
}
}