Пример #1
0
        /// <summary>
        /// scan all people pto or signal people
        /// </summary>
        private void InitControls()
        {
            //if (list.Where(t => t.ModuleID == allid).Count() == 0 && (UserInfo.ID + "" != ddlUsers.SelectedValue))//防止在手动修改链接参数
            //{
            //    ddlUsers.SelectedValue = UserInfo.ID + "";
            //}

            DateTime StartDate;
            DateTime EndDate;

            if (!DateTime.TryParse(QS("year"), out StartDate))
            {
                if (QS("year") == "-1")
                {
                    StartDate = MinDate;
                    EndDate   = new DateTime(2200, 1, 1);
                }
                else
                {
                    StartDate = new DateTime(DateTime.Now.Year, 1, 1);
                    EndDate   = StartDate.AddYears(1).AddDays(-1);
                }
            }
            else
            {
                EndDate = StartDate.AddYears(1).AddDays(-1);
            }
            if (this.ReportView == "DetailView")
            {
                rptHoursView.Visible  = false;
                rptListReport.Visible = true;

                List <PtoView> ptoViews = PtosHelper.ReGeneratePtos(int.Parse(ddlProject.SelectedValue), StartDate, EndDate, int.Parse(ddlUsers.SelectedValue), OrderBy, OrderDirection, DefaultOrderBy);

                #region Special order
                if (OrderBy == "Hours")
                {
                    if (OrderDirection.ToUpper() == "ASC")
                    {
                        ptoViews = ptoViews.OrderBy(t => t.Hours).ToList();
                    }
                    else
                    {
                        ptoViews = ptoViews.OrderByDescending(t => t.Hours).ToList();
                    }
                }
                if (OrderBy == "Remaining")
                {
                    if (OrderDirection.ToUpper() == "ASC")
                    {
                        ptoViews = ptoViews.OrderBy(t => t.Remaining).ToList();
                    }
                    else
                    {
                        ptoViews = ptoViews.OrderByDescending(t => t.Remaining).ToList();
                    }
                }
                #endregion
                rptListReport.DataSource = ptoViews;
                rptListReport.DataBind();

                if (ptoViews.Count == 0)
                {
                    trNoListRecord.Visible = true;
                }
            }
            else if (this.ReportView == "HoursView")
            {
                rptListReport.Visible = false;
                rptHoursView.Visible  = true;

                DataTable dt = _tsApp.QueryReportTotalHoursByProject(
                    int.Parse(ddlProject.SelectedValue),
                    int.Parse(ddlUsers.SelectedValue),
                    StartDate,
                    EndDate,
                    OrderBy,
                    OrderDirection);
                rptHoursView.DataSource = dt;
                rptHoursView.DataBind();
                if (dt.Rows.Count == 0)
                {
                    trNoHourRecord.Visible = true;
                }
            }
            else
            {
                rptListReport.Visible = false;
                rptHoursView.Visible  = false;
            }
        }