📄 manage.aspx.cs
字号:
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 + -