protected void Page_Load(object sender, EventArgs e) { OverWorkType type; string ans = new CalculateOverWorkHourPresenter(Request.QueryString["FromDate"], Request.QueryString["FromHour"], Request.QueryString["FromMinute"], Request.QueryString["ToDate"], Request.QueryString["ToHour"], Request.QueryString["ToMinute"], Convert.ToInt32(Request.QueryString["AccountID"])).GetHour(out type); ans = string.Format("{0}#{1}", ans, OverWorkUtility.GetOverWorkTypeName(type)); Response.Write(ans); Response.End(); }
/// <summary> /// 计算小时 /// </summary> private void SetHour(IList <OverWorkItem> OverWorkItemList) { if (NotCalculate == false) { decimal allHour = 0; DateTime minFromTime = OverWorkItemList[0].FromDate; DateTime maxToTime = OverWorkItemList[0].ToDate; for (int i = 0; i < OverWorkItemList.Count; i++) { OverWorkType type; string ans = new CalculateOverWorkHourPresenter(OverWorkItemList[i].FromDate.Date.ToString(), OverWorkItemList[i].FromDate.Hour.ToString(), OverWorkItemList[i].FromDate.Minute.ToString(), OverWorkItemList[i].ToDate.Date.ToString(), OverWorkItemList[i].ToDate.Hour.ToString(), OverWorkItemList[i].ToDate.Minute.ToString(), Convert.ToInt32(hfEmployeeID.Value)).GetHour(out type); TextBox txtCostTime = (TextBox)gvOverWork.Rows[i].FindControl("txtCostTime"); Label lbOverWorkTypeName = (Label)gvOverWork.Rows[i].FindControl("lbOverWorkTypeName"); HtmlImage imgResultCaculate = (HtmlImage)gvOverWork.Rows[i].FindControl("imgResultCaculate"); if (ans == "error") { txtCostTime.Text = "0"; imgResultCaculate.Src = "../../../Pages/image/wrong_icon.gif"; imgResultCaculate.Style["display"] = "block"; } else { lbOverWorkTypeName.Text = OverWorkUtility.GetOverWorkTypeName(type); txtCostTime.Text = ans; imgResultCaculate.Style["display"] = "none"; } allHour += Convert.ToDecimal(txtCostTime.Text); if (minFromTime > OverWorkItemList[i].FromDate) { minFromTime = OverWorkItemList[i].FromDate; } if (maxToTime < OverWorkItemList[i].ToDate) { maxToTime = OverWorkItemList[i].ToDate; } } lbCostTime.Text = string.Format("{0}小时", allHour); lbDate.Text = string.Format("{0} ~ {1}", minFromTime, maxToTime); } }