⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 resourcereport.aspx.cs

📁 专业的办公oa代码下载 c#语言编写 三层结构
💻 CS
字号:
using System;
using System.Web.UI.WebControls;
using qminoa.BLL.PM;

namespace qminoa.Webs.PM
{
	public class ResourceReportForm : qminoa.Webs.PageBase
	{
		protected System.Web.UI.WebControls.DataList UserList;
		protected System.Web.UI.WebControls.HyperLink BackLink1;
		protected System.Web.UI.WebControls.HyperLink BackLink2;
		protected System.Web.UI.WebControls.Label NoData;

		protected DateTime _startDate = DateTime.MinValue;
		protected DateTime _endDate = DateTime.MinValue;
		
		private string _userIDs;
		protected PMUser	 _user;
		public const string UserRoleAdministrator = "1";
		public const string UserRoleProjectManager = "2";

		private void Page_Load(object sender, System.EventArgs e)
		{
			this.PageBegin("项目统计报告",true);
			_user = new PMUser(Convert.ToInt16(this.Empid));
			if(_user.Role != UserRoleAdministrator && _user.Role != UserRoleProjectManager)
			{
				Response.Redirect(Application["vRoot"]+"/login.aspx");  
			}
			_userIDs = Request.QueryString["IDs"]==null? "0" : Request.QueryString["IDs"];

			_startDate = Convert.ToDateTime(Request.QueryString["Start"]==null? 
									DateTime.MinValue.ToShortDateString() : Request.QueryString["Start"]);
			_endDate = Convert.ToDateTime(Request.QueryString["End"]==null? 
									DateTime.MinValue.ToShortDateString() : Request.QueryString["End"]);

			BackLink1.NavigateUrl = "Reports.aspx";
			BackLink2.NavigateUrl = "Reports.aspx";

			BindList(_userIDs, _startDate, _endDate);
		}

		private void BindList(string userIDs, DateTime start, DateTime end)
		{
			ResourceReportUserCollection userData = ResourceReportUser.GetUserSummary(_user .UserID, userIDs, start, end);
			UserList.DataSource = userData;
			UserList.DataBind();

			if (userData.Count == 0) 
			{
				UserList.Visible = false;
				NoData.Visible = true;
			}
		}

		private void SortGridData(TimeEntriesCollection list, string sortField, bool asc)
		{
			TimeEntriesCollection.TimeEntryFields sortCol = TimeEntriesCollection.TimeEntryFields.InitValue;
			switch(sortField)
			{
				case "EntryDate":
					sortCol = TimeEntriesCollection.TimeEntryFields.Day;
					break;
				case "ProjectName":
					sortCol = TimeEntriesCollection.TimeEntryFields.Project;
					break;
				case "CategoryName":
					sortCol = TimeEntriesCollection.TimeEntryFields.Category;
					break;
				case "Duration":
					sortCol = TimeEntriesCollection.TimeEntryFields.Hours;
					break;
				case "Description":
					sortCol = TimeEntriesCollection.TimeEntryFields.Description;
					break;
			}
			list.Sort(sortCol, asc);
		}

		protected TimeEntriesCollection ListTimeEntry(int mgrID, int userID, DateTime start, DateTime end)
		{
			TimeEntriesCollection entryList = BLL.PM.TimeEntry.GetEntries(mgrID, userID, start, end);

			if (entryList.Count > 0) 
				SortGridData(entryList, SortField, SortAscending);
			else
				entryList = null;

			return entryList;
		}

		protected void TimeEntryGrid_Sort(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
		{
			SortField = e.SortExpression;
			BindList(_userIDs, _startDate, _endDate);
		}
		
		#region Web Form Designer generated code
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: This call is required by the ASP.NET Web Form Designer.
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{    
			this.ID = "ResourceReportForm";
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

		string SortField 
		{
			get 
			{
				object o = ViewState["SortField"];
				if (o == null) 
				{
					return string.Empty;
				}
				return (string)o;
			}

			set 
			{
				if (value == SortField) 
				{
					SortAscending = !SortAscending;
				}
				ViewState["SortField"] = value;
			}
		}

		bool SortAscending 
		{
			get 
			{
				object o = ViewState["SortAscending"];
				if (o == null) 
				{
					return true;
				}
				return (bool)o;
			}

			set 
			{
				ViewState["SortAscending"] = value;
			}
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -