文件操作 - TravelPlanReport.aspx.cs
返回文件管理
返回主菜单
删除本文件
文件: E:\HostingSpaces\kimblycr\guard.kimbly.in\wwwroot\TravelPlanReport.aspx.cs
编辑文件内容
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Data.SqlClient; using System.Web.Configuration; public partial class TravelPlanReport : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { txtSDate.Text = DateTime.Today.ToString("dd-MMM-yy"); DDLSites.DataBind(); BindPlans(); } } private void BindPlans() { SqlDataSource1.SelectParameters[0].DefaultValue = DDLSites.SelectedValue; SqlDataSource1.SelectParameters[1].DefaultValue = txtSDate.Text; DDLPlans.DataBind(); } protected void BtnSearch_Click(object sender, ImageClickEventArgs e) { if (DDLPlans.Items.Count > 0) { int PlanID = Convert.ToInt32(DDLPlans.SelectedValue); int SIteID = Convert.ToInt32(DDLSites.SelectedValue); DateTime dtime = Convert.ToDateTime(txtSDate.Text); DeleteClass del = new DeleteClass(); del.DelPlanExecutionByID(PlanID, SIteID); //Insert Basic Data in PlanExecution SelectClass sel = new SelectClass(); DataTable dt = sel.GetDetails("TravelPlans", "AutoID", PlanID); int RouteID = Convert.ToInt32(dt.Rows[0]["RouteID"]); string stime = dt.Rows[0]["StartTime"].ToString(); string trackerno = dt.Rows[0]["SNO"].ToString(); DataTable dtRoute = sel.GetCheckpointsInRouteAll(SIteID, RouteID); int CheckpointID = 0; string TimeTaken = "0"; string grace = "0"; string constring = WebConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString; SqlConnection mycon = new SqlConnection(constring); mycon.Open(); InsertClass ins = new InsertClass(); DataTable DTTracker; TimeSpan StartTS = StringToTimeSpan(stime); DateTime ExpectedTime = new DateTime(dtime.Year, dtime.Month, dtime.Day, StartTS.Hours, StartTS.Minutes, 0); DateTime PlanStartTime = ExpectedTime; TimeSpan TSTimeTaken, TSGrace; DataView dvCheckpoints = sel.GetDetails("CheckPoints","SiteID",SIteID).DefaultView; string Chip = ""; bool chipExist = false; DateTime TransactionTime, beginTH, EndTH; TimeSpan BeginTS, EndTS; string GuardID; string status = ""; UpdateClass upd = new UpdateClass(); foreach (DataRow drRoute in dtRoute.Rows) { chipExist = false; CheckpointID = Convert.ToInt32(drRoute["CheckPointID"]); dvCheckpoints.RowFilter = "ID = " + CheckpointID.ToString(); TimeTaken = drRoute["TimeTaken"].ToString(); grace = drRoute["Grace"].ToString(); TSTimeTaken = StringToTimeSpan(TimeTaken); StartTS = StartTS.Add(TSTimeTaken); ins.InsertPlanExecution(mycon, PlanID, CheckpointID, TimeSpanToString(StartTS), SIteID); TSGrace = StringToTimeSpan(grace); BeginTS = StartTS.Subtract(TSGrace); beginTH = new DateTime(dtime.Year, dtime.Month, dtime.Day, BeginTS.Hours, BeginTS.Minutes, 0); EndTS = StartTS.Add(TSGrace); EndTH = new DateTime(dtime.Year, dtime.Month, dtime.Day, EndTS.Hours, EndTS.Minutes, 0); ExpectedTime = new DateTime(dtime.Year, dtime.Month, dtime.Day, StartTS.Hours, StartTS.Minutes, 0); foreach (DataRowView v in dvCheckpoints) { Chip = v["Chip"].ToString(); chipExist = true; } if (chipExist) { DTTracker = sel.GetClosestTransaction(mycon, ExpectedTime, Chip, trackerno, SIteID, PlanStartTime, ExpectedTime.AddMinutes(30)); if (DTTracker.Rows.Count > 0) { TransactionTime = Convert.ToDateTime(DTTracker.Rows[0]["DateStamp"]); GuardID = DTTracker.Rows[0]["GuardID"].ToString();//rectify if (TransactionTime < beginTH) { status = "Early"; } else if (TransactionTime > EndTH) { status = "Late"; } else { status = "On Time"; } //StartTS = StringToTimeSpan(DateTimeToString(TransactionTime)); upd.UpdPlanExecution(mycon, status, GuardID, DateTimeToDecimal(TransactionTime), PlanID, CheckpointID, SIteID); } } } mycon.Close(); SqlDataSource3.SelectParameters[0].DefaultValue = PlanID.ToString(); SqlDataSource3.SelectParameters[1].DefaultValue = SIteID.ToString(); GridView1.DataBind(); DataTable dtTime = sel.GetRouteStartTime(RouteID, SIteID); TimeSpan ts, TTS; TTS = new TimeSpan(0, 0, 0); int index; string tm = ""; int min = 0; int hr = 0; if (dtTime.Rows.Count > 0) { for (int i = 1; i < dtTime.Rows.Count; i++) { tm = Convert.ToString(dtTime.Rows[i][0]).Trim(); if (tm != "") { index = tm.IndexOf("."); min = 0; hr = 0; if (index > -1) { hr = Convert.ToInt32(tm.Substring(0, index)); min = Convert.ToInt32(tm.Substring(index + 1)); } else { if(tm == "") { min = 0; } else { min = Convert.ToInt32(tm); } } ts = new TimeSpan(hr, min, 0); TTS = TTS.Add(ts); } } lblTimePlanned.Text = "Total Time Planned:" + TTS.Hours + " hours & " + TTS.Minutes + " minutes"; } else { lblTimePlanned.Text = "Total Time Planned:"; } TimeSpan sts, ets, tts; DataTable dtExc = sel.GetPlanTimeReached(PlanID); if (dtExc.Rows.Count > 0) { tm = Convert.ToString(dtExc.Rows[0][0]).Trim(); index = tm.IndexOf("."); min = 0; hr = 0; if (index > -1) { hr = Convert.ToInt32(tm.Substring(0, index)); min = Convert.ToInt32(tm.Substring(index + 1)); } else { min = Convert.ToInt32(tm); } sts = new TimeSpan(hr, min, 0); int len = dtExc.Rows.Count; tm = Convert.ToString(dtExc.Rows[len - 1][0]).Trim(); index = tm.IndexOf("."); min = 0; hr = 0; if (index > -1) { hr = Convert.ToInt32(tm.Substring(0, index)); min = Convert.ToInt32(tm.Substring(index + 1)); } else { if (tm == "") { min = 0; } else { min = Convert.ToInt32(tm); } } ets = new TimeSpan(hr, min, 0); tts = ets.Subtract(sts); lblTT.Text = "Total Time Taken:" + tts.Hours + " hours & " + tts.Minutes + " minutes"; } else { lblTT.Text = "Total Time Taken:"; } } else { lblTimePlanned.Text = "Total Time Planned:"; lblTT.Text = "Total Time Taken:"; } } public TimeSpan DecimalToTimeSpan(decimal stime) { string strtime = stime.ToString(); int hr = 0, min = 0; int index = strtime.IndexOf("."); if (index < 0) { hr = Convert.ToInt32(strtime); } else { hr = Convert.ToInt32(strtime.Substring(0, index)); min = Convert.ToInt32(strtime.Substring(index + 1)); } TimeSpan ts = new TimeSpan(hr, min, 0); return ts; } public TimeSpan StringToTimeSpan(string stime) { string strtime = stime.ToString(); int hr = 0, min = 0; int index = strtime.IndexOf("."); if (index < 0) { hr = Convert.ToInt32(strtime); } else { hr = Convert.ToInt32(strtime.Substring(0, index)); min = Convert.ToInt32(strtime.Substring(index + 1)); } TimeSpan ts = new TimeSpan(hr, min, 0); return ts; } public decimal TimeSpanToDecimal(TimeSpan TS) { string hr = TS.Hours.ToString(); string min = TS.Minutes.ToString(); if (min.Length == 1) { min = "0" + min; } decimal DecTime = Convert.ToDecimal(hr + "." + min); return DecTime; } public string TimeSpanToString(TimeSpan TS) { string hr = TS.Hours.ToString(); string min = TS.Minutes.ToString(); if (min.Length == 1) { min = "0" + min; } string DecTime = hr + "." + min; return DecTime; } public string DateTimeToString(DateTime TS) { string hr = TS.Hour.ToString(); string min = TS.Minute.ToString(); if (min.Length == 1) { min = "0" + min; } string DecTime = hr + "." + min; return DecTime; } public decimal DateTimeToDecimal(DateTime TS) { string hr = TS.Hour.ToString(); string min = TS.Minute.ToString(); if (min.Length == 1) { min = "0" + min; } decimal DecTime = Convert.ToDecimal(hr + "." + min); return DecTime; } protected void txtSDate_TextChanged(object sender, EventArgs e) { BindPlans(); } protected void DDLSites_SelectedIndexChanged(object sender, EventArgs e) { BindPlans(); } }
修改文件时间
将文件时间修改为当前时间的前一年
删除文件