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

📄 manage.aspx.cs

📁 除了具有传统OA的邮件、工作流、文档等功能外
💻 CS
📖 第 1 页 / 共 2 页
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using UDS.Components;
using System.Text.RegularExpressions;

namespace UDS.SubModule.Schedule
{
	/// <summary>
	/// Manage 的摘要说明。
	/// </summary>
	public partial class Manage : System.Web.UI.Page
	{
		protected static string Username,CurrDate,CurrTime;
		public static string UnameStr;
		public string ClassID;					
		private static int startTimeNo=8;


		protected void Page_Load(object sender, System.EventArgs e)
		{
			ClassID		 = (Request.QueryString["ClassID"]!=null)?Request.QueryString["ClassID"].ToString():"0";
			CurrDate	 = (Request.QueryString["CurrDate"]!=null)?Request.QueryString["CurrDate"].ToString():DateTime.Now.ToShortDateString();
			CurrTime	 = (Request.QueryString["CurrTime"]!=null)?Request.QueryString["CurrTime"].ToString():"10";
			
			if(!Page.IsPostBack)
			{
				HttpCookie UserCookie = Request.Cookies["Username"];
				Username = UserCookie.Value.ToString();
				PopulateListView();
				UnameStr = Username;
				DayTaskFrm.Attributes["src"] = "ViewDayTask.aspx?Date="+CurrDate+"&UnameStr="+UnameStr;
			}
			else
			{
				lblMsg.Text = "";
				DayTaskFrm.Attributes["src"] = "ViewDayTask.aspx?Date="+this.txtBeginDate .Text+"&UnameStr="+UnameStr;
			}
			
			Validate();
		}

		#region 初始化下拉列表框
		/// <summary>
		/// 对下拉列表进行初始化
		/// </summary>
		private void PopulateListView() 
		{
			
			#region 开始时间与结束时间初始化
			Task task = new Task();
			SqlDataReader dataReader = null;
			dataReader =  task.GetPeriodInfo();
			ArrayList a = new ArrayList();
			while(dataReader.Read())
			{	
				string []b = dataReader[1].ToString().Split('-');
				listBeginTime.Items.Add(new ListItem(b[0],dataReader[0].ToString()));
				listEndTime.Items.Add(new ListItem(b[0],dataReader[0].ToString()));
			}
			dataReader.Close();
			a = null;
			
			listBeginTime.SelectedIndex = Int32.Parse(CurrTime)-startTimeNo;
			listEndTime.SelectedIndex = listBeginTime.SelectedIndex+1;

//			listBeginTime.DataTextField = "period";
//			listBeginTime.DataValueField = "id";
//			listBeginTime.DataSource = dataReader;
//			listBeginTime.DataBind();
//			for(int j=startTimeNo;j<19;j++)
//			{
//				ListItem li = new ListItem(j.ToString()+":00",j.ToString());
//				listBeginTime.Items.Insert(j-8,li);
//				listEndTime.Items.Insert(j-8,li);
//			}
			
			txtBeginDate.Text= DateTime.Parse(CurrDate).ToString("yyyy-MM-dd");
//			listBeginTime.SelectedIndex   = Int32.Parse(CurrTime)-startTimeNo;
			txtEndDate.Text = DateTime.Parse(CurrDate).ToString("yyyy-MM-dd");
			#endregion
			
			#region 任务属性初始化
			rbAttribute.Items.Add(new ListItem("独占任务","1"));
			rbAttribute.Items.Add(new ListItem("限时任务","0"));
			rbAttribute.Items[0].Selected = true;
			#endregion

			#region 任务类型初始化
			rbType.Items.Add(new ListItem("会议","1"));
			rbType.Items.Add(new ListItem("文案","2"));
			rbType.Items.Add(new ListItem("来访","3"));
			rbType.Items.Add(new ListItem("电话","4"));
			rbType.Items.Add(new ListItem("走访","5"));
			rbType.Items.Add(new ListItem("外出","6"));
			rbType.Items.Add(new ListItem("假期","7"));
			rbType.Items.Add(new ListItem("出差","8"));
			rbType.Items[0].Selected = true;
			#endregion

			#region 协同人员列表初始化
			UDS.Components .Staff staff = new UDS.Components .Staff();
			try
			{
				listCooperator.DataTextField = "RealName";
				listCooperator.DataValueField = "Staff_Name";
				listCooperator.DataSource =  staff.GetAllStaffs();
				listCooperator.DataBind();
				
			}
			catch(Exception e)
			{
				UDS.Components.Error.Log(e.ToString());
				Server.Transfer("../Error.aspx");
			}
			finally
			{
				staff = null;
			}
			#endregion
			
			lblArrangedBy.Text = UDS.Components.Staff.GetRealNameByUsername(Username);

		}
		#endregion

		private TaskClass ProcessFormPost()
		{
			TaskClass tc = new TaskClass();
			tc.ArrangedBy = Username;
			tc.Detail = this.txtDetail.Text.ToString();
			tc.Type = Int32.Parse(this.rbType.SelectedItem .Value.ToString());
			tc.Attribute = Int32.Parse(this.rbAttribute .SelectedItem .Value.ToString());
			tc.Subject = this.txtSubject .Text.ToString();
			tc.ProjectID = Request.Form["hdnProjectID"].ToString()!=""?Int32.Parse(Request.Form["hdnProjectID"].ToString()):0;
			tc.StartTime = this.txtBeginDate .Text.ToString()+" "+((this.cbIsAllDay.Checked)?"":this.listBeginTime .SelectedItem .Text.ToString());
			tc.EndTime   = this.txtEndDate .Text.ToString()+" "+((this.cbIsAllDay.Checked)?"":this.listEndTime .SelectedItem .Text.ToString());
			tc.AwakeTime = DateTime.Parse(tc.EndTime).AddMinutes(-10).ToString();
			tc.Tag		 = 0;
			tc.ContractList = "";
			tc.CooperatorList = UnameStr;
//			foreach(ListItem i in this.listCooperator .Items)
//				if(i.Selected == true)
//					tc.CooperatorList+= i.Value.ToString()+",";
			
			return tc;
		}

		#region Web Form Designer generated code
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    

		}
		#endregion

		protected void cbNeedCo_CheckedChanged(object sender, System.EventArgs e)
		{
			this.listCooperator .Visible = !this.listCooperator .Visible ;
			this.btnAddUser .Visible = this.listCooperator .Visible ;
			this.cbRemind .Visible = this.listCooperator .Visible ;
			this.ValidateForm();
		}

		protected void cbIsAllDay_CheckedChanged(object sender, System.EventArgs e)
		{
			this.listBeginTime .Visible = !this.listBeginTime .Visible ;
			this.listEndTime .Visible   = !this.listEndTime .Visible ;
			this.cbIsRepeat .Visible = !this.cbIsRepeat .Visible ;
		}

	

		private ArrayList CheckExist()
		{
			ArrayList cooperatorList = new ArrayList();
			ArrayList ExistList = new ArrayList();
			Task task = new Task();

			if(this.cbNeedCo .Checked )
			{
				if(this.cbNeedCo .Checked )
				{
					string[] UnameArr = System.Text.RegularExpressions.Regex.Split(UnameStr,",");
					for(int uc=0;uc<UnameArr.Length;uc++)
						cooperatorList.Add(UnameArr[uc].ToString());
				}
				else
				{
					cooperatorList.Add(Username);
				}	
			}
			else
			{
				cooperatorList.Add(Username);
			}

			foreach(string s in cooperatorList)
			{
				// 一天任务
					#region 如果是单天的任务
				if(this.txtBeginDate.Text.ToString()==this.txtEndDate .Text.ToString())
				{
					// 全天任务
					if(this.cbIsAllDay.Checked)
					{
						SqlDataReader dataReader = task.GetPeriodInfo();
						while(dataReader.Read())
						{
							if(task.CheckExist(Int32.Parse(dataReader[0].ToString()),s,this.txtBeginDate.Text.ToString()))
							{
								TaskConflictRecord conrec = new TaskConflictRecord();
								conrec.Username = s;
								conrec.Date = this.txtBeginDate.Text.ToString();
								conrec.Period = dataReader[0].ToString();
								ExistList.Add(conrec);
								conrec = null;
							}
						}
						dataReader.Close();
					}
					else
					{
						for(int t=Int32.Parse(this.listBeginTime .SelectedItem .Value.ToString());t<Int32.Parse(this.listEndTime .SelectedItem .Value.ToString());t++)
							if(task.CheckExist(t,s,this.txtBeginDate.Text.ToString()))
							{
								TaskConflictRecord conrec = new TaskConflictRecord();
								conrec.Username = s;
								conrec.Date = this.txtBeginDate.Text.ToString();
								conrec.Period = t.ToString();
								ExistList.Add(conrec);
								conrec = null;
							}

					}
						
				}
					#endregion

				// 如果是多天的任务
					#region 如果是多天的任务
				if(DateTime.Parse(this.txtBeginDate.Text.ToString())<DateTime.Parse(this.txtEndDate .Text.ToString()))
				{
					TimeSpan ts = new TimeSpan();
					ts = DateTime.Parse(this.txtEndDate.Text.ToString())-DateTime.Parse(this.txtBeginDate.Text.ToString());
					for(int t=0;t<Int32.Parse(ts.Days .ToString())+1;t++) //根据天数循环添加
					{
						string tmpDate = DateTime.Parse(this.txtBeginDate.Text.ToString()).AddDays(t).ToString("yyyy-MM-dd");
						
						#region 如果是全天任务
						if(this.cbIsAllDay.Checked) //如果是全天任务
						{
							SqlDataReader dataReader = task.GetPeriodInfo();
							while(dataReader.Read())
							{
								if(task.CheckExist(Int32.Parse(dataReader[0].ToString()),s,tmpDate))
								{
									TaskConflictRecord conrec = new TaskConflictRecord();
									conrec.Username = s;
									conrec.Date = tmpDate;
									conrec.Period = dataReader[0].ToString();
									ExistList.Add(conrec);
									conrec = null;
								}
							}
							dataReader.Close();
						}
							#endregion

						#region  如果是时段任务
						else //如果是时段任务
						{
							if(this.cbIsRepeat .Checked ) // 如果是时段重复
							{
								for(int j=Int32.Parse(this.listBeginTime .SelectedItem .Value.ToString());j<Int32.Parse(this.listEndTime .SelectedItem .Value.ToString());j++)
									if(task.CheckExist(j,s,tmpDate))
									{
										TaskConflictRecord conrec = new TaskConflictRecord();
										conrec.Username = s;
										conrec.Date = tmpDate;
										conrec.Period = j.ToString();
										ExistList.Add(conrec);
										conrec = null;
									}
							}
							else   // 如果是全部时段
							{
								if(tmpDate==this.txtBeginDate .Text.ToString())// 如果是开始天
								{
								
									for(int k=Int32.Parse(this.listBeginTime .SelectedItem .Value.ToString());k<20;k++)
										if(task.CheckExist(k,s,tmpDate))
										{
											TaskConflictRecord conrec = new TaskConflictRecord();
											conrec.Username = s;
											conrec.Date = tmpDate;
											conrec.Period = (k).ToString();
											ExistList.Add(conrec);
											conrec = null;
										}
								}
								else if(tmpDate==this.txtEndDate  .Text.ToString())
								{
									for(int k=1;k<Int32.Parse(this.listEndTime .SelectedItem .Value.ToString());k++)
										if(task.CheckExist(k,s,tmpDate))
										{
											TaskConflictRecord conrec = new TaskConflictRecord();
											conrec.Username = s;
											conrec.Date = tmpDate;
											conrec.Period = k.ToString();
											ExistList.Add(conrec);
											conrec = null;
										}
								}
								else
								{
									SqlDataReader dataReader = task.GetPeriodInfo();
									while(dataReader.Read())
									{
										if(task.CheckExist(Int32.Parse(dataReader[0].ToString()),s,tmpDate))
										{
											TaskConflictRecord conrec = new TaskConflictRecord();
											conrec.Username = s;
											conrec.Date = tmpDate;
											conrec.Period = dataReader[0].ToString();
											ExistList.Add(conrec);
											conrec = null;
										}
								
									}
									dataReader.Close();

								}
							}
						}
						#endregion
					}
						
					  
					
				}
					#endregion
			}

			return ExistList;
		}
		
		private bool ValidateForm()
		{

			if(UnameStr=="")
			{

⌨️ 快捷键说明

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