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();
        }
예제 #2
0
 /// <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);
     }
 }
예제 #3
0
        /// <summary>
        /// 重新计算小时数
        /// </summary>
        private string ReCalculateHour(IEnumerable <OverWorkItem> OverWorkItemList)
        {
            string str = string.Empty;

            if (NotCalculate == false)
            {
                int i = 0;
                foreach (OverWorkItem item in OverWorkItemList)
                {
                    TextBox      txtCostTime = (TextBox)gvOverWork.Rows[i].FindControl("txtCostTime");
                    OverWorkType type;
                    string       ans = new CalculateOverWorkHourPresenter(item.FromDate.Date.ToString(),
                                                                          item.FromDate.Hour.ToString(),
                                                                          item.FromDate.Minute.ToString(),
                                                                          item.ToDate.Date.ToString(),
                                                                          item.ToDate.Hour.ToString(),
                                                                          item.ToDate.Minute.ToString(),
                                                                          Convert.ToInt32(hfEmployeeID.Value)).GetHour(
                        out type);
                    if (ans == "error")
                    {
                        str = "error";
                        txtCostTime.Text = "0";
                        item.CostTime    = 0;
                    }
                    else
                    {
                        txtCostTime.Text  = ans;
                        item.OverWorkType = type;
                        item.CostTime     = Convert.ToDecimal(ans);
                    }
                    i++;
                }
            }

            return(str);
        }