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

📄 memberlistview.aspx.cs

📁 除了具有传统OA的邮件、工作流、文档等功能外
💻 CS
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
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 System.Data.SqlClient;
using UDS.Components;

namespace UDS.SubModule.UnitiveDocument
{
	/// <summary>
	/// MemberListView 的摘要说明。
	/// </summary>
	public partial class MemberListView : System.Web.UI.Page
	{
		protected HttpCookie UserCookie;
		protected static string Username;
		protected static string ClassID;
		protected System.Web.UI.WebControls.Label lblStaff_Name;
		protected System.Web.UI.WebControls.Label lblRealName;
		protected System.Web.UI.WebControls.Label lblSex;
		protected System.Web.UI.WebControls.Label lblEmail;
		protected System.Web.UI.WebControls.Label lblRegistedDate;
		protected System.Web.UI.HtmlControls.HtmlForm DisplayStaffInfo;
		protected static string DisplayType="";

		protected void Page_Load(object sender, System.EventArgs e)
		{
			ClassID		 = (Request.QueryString["TeamID"]!=null)?Request.QueryString["TeamID"].ToString():"";
			DisplayType	 = (Request.QueryString["DisplayType"]!=null)?Request.QueryString["DisplayType"].ToString():"0";
			UserCookie	 = Request.Cookies["Username"];
			Username	 = UserCookie.Value.ToString();
			
			if(!IsPostBack)
			{	
				BindGrid();
				
			}
		}

		#region 数据绑定至DataGrid
		/// <summary>
		/// 将某用户的邮件取出绑定至DataGrid
		/// </summary>
		protected void BindGrid() 
		{   
			
			Team team				  = new Team();
			DataTable datatable		  = new DataTable();
			switch (DisplayType) {
			case "0":
				datatable	=  Tools.ConvertDataReaderToDataTable(team.GetStaffInTeam(Int32.Parse(ClassID)));
				this.btnAdd.Visible    = false;
				this.cmdDelete.Visible = true;
				this.btnLeader.Visible = true;
				break;
			case "1":
				datatable	=  Tools.ConvertDataReaderToDataTable(team.GetStaffNotInTeam(Int32.Parse(ClassID)));
				this.btnAdd.Visible    = true;
				this.cmdDelete.Visible = false;
				this.btnLeader.Visible = false;
				this.dgMemberList.Columns.Remove(this.dgMemberList .Columns[3]);
				break;
			case "2":
				datatable	=  Tools.ConvertDataReaderToDataTable(team.GetStaffSubscriptionTeam(Int32.Parse(ClassID)));
				this.btnAdd.Visible    = false;
				this.cmdDelete.Visible = false;
				this.btnLeader.Visible = false;
				this.dgMemberList.Columns.Remove(this.dgMemberList .Columns[3]);
				break;
			default:
				break;
			}
		
			dgMemberList.DataSource	  = datatable.DefaultView;
			dgMemberList.DataBind(); 
		
			if (datatable.Rows.Count !=0)
			{
				this.cmdDelete.Attributes ["onclick"]="javascript:return confirm('您确认要选中的人员脱离组吗?');";
				this.btnLeader.Attributes ["onclick"]="javascript:return confirm('您确认要选中的人员设置为组长吗?');";
				this.btnAdd.Attributes ["onclick"]   ="javascript:return confirm('您确认要加入该成员吗?');";
			}
			team	  = null;
			datatable = null;
		} 
		
		#endregion

		#region 翻页事件
		public void DataGrid_PageChanged(object sender,DataGridPageChangedEventArgs e)
		{
			dgMemberList.CurrentPageIndex = e.NewPageIndex;
			BindGrid();
		}
		#endregion

		#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

		
		#region 小组成员变化的消息通知函数 i为0表示脱离组,i为1表示加入组,i为2表示成为组长
		private void sms_all(int ii)
		{
			string sql			  = "";//所被选择的成员ID集合
			bool sqlFlag		  = true;
			foreach(DataGridItem dgi in this.dgMemberList.Items)
			{
				CheckBox cb=(CheckBox)(dgi.Cells[0].Controls[1]);
				if (cb.Checked==true)
				{
					int i		= dgi.ItemIndex;
					string id	= dgMemberList.DataKeys[i].ToString();				
					if (sqlFlag)
					{
						sql+=""+id;
						sqlFlag=false;
					}
					else
					{
						sql+=" ,";
						sql+=id;
					}
				}
			}

			SqlDataReader dr_this;//被选择人员
			UDS.Components.Staff sta=new UDS.Components.Staff();
			dr_this=sta.GetStaffInfo(sql);

			SqlDataReader dr_allTeam;//所有组员
			Team steam=new Team();
			dr_allTeam=steam.GetStaffInTeam(Convert.ToInt32(ClassID));

			SqlDataReader dr_allTeamMaster;//所有组长
			ProjectClass prj=new ProjectClass();
			dr_allTeamMaster=prj.GetLeader(Convert.ToInt32(ClassID));

			SqlDataReader dataReader;//项目信息
			dataReader = prj.GetClassInfo(Convert.ToInt32(ClassID));
			string Team_name="";//项目名字
			if(dataReader.Read())
			{	
				Team_name=dataReader[0].ToString()+",";	
			}
			dataReader.Close();
			dataReader=null;
  
			string Staff_name="";//被选择人员名字
			while(dr_this.Read())
			{	
				Staff_name+=dr_this["RealName"].ToString()+",";	
			}
			dr_this.Close();
			dr_this=null;

			string name_teamMaster="";//所有组长的名字
			while(dr_allTeamMaster.Read())
			{	
				name_teamMaster+=dr_allTeamMaster["RealName"].ToString()+",";	
			}
			dr_allTeamMaster.Close();
			dr_allTeamMaster=null;


			SMS sm = new SMS();
			//处理短信提醒
			while(dr_allTeam.Read())//i为0表示脱离组,i为1表示加入组,i为2表示成为组长
			{
				if(ii==0)
					sm.SendMsg(Username,dr_allTeam["Staff_name"].ToString(),Team_name+" 项目处员工:"+Staff_name+"已经脱离本项目,特此通知.",1,DateTime.Now,"",0,0);
				else if(ii==1)
					sm.SendMsg(Username,dr_allTeam["Staff_name"].ToString(),"员工:"+Staff_name+"已经加入项目:"+Team_name+",特此通知.",1,DateTime.Now,"",0,0);
				else if(ii==2)
					sm.SendMsg(Username,dr_allTeam["Staff_name"].ToString(),Team_name+" 项目处员工:"+Staff_name+"已经替代"+name_teamMaster+",成为项目组长,特此通知.",1,DateTime.Now,"",0,0);
			}
			sm = null;
			dr_allTeam.Close();
			dr_allTeam=null;
		}
		#endregion

		#region 设置组长
		private void lnkbtnLeader_Click(object sender, System.EventArgs e)
		{
			
		
		}
		#endregion

		#region 加入成员至组
		private void lnkbtnAdd_Click(object sender, System.EventArgs e)
		{
		}
		#endregion

		#region 人员脱离
		protected void cmdDelete_Click(object sender, System.EventArgs e)
		{
			Team team			  = new Team();
			bool sqlFlag		  = true;
			string sql			  = "";
			foreach(DataGridItem dgi in this.dgMemberList.Items)
			{
				CheckBox cb=(CheckBox)(dgi.Cells[0].Controls[1]);
				if (cb.Checked==true)
				{
					int i		= dgi.ItemIndex;
					string id	= dgMemberList.DataKeys[i].ToString();				
					if (sqlFlag)
					{
						sql+=""+id;
						sqlFlag=false;
					}
					else
					{
						sql+=" ,";
						sql+=id;
					}
				}
			}
			//选择为空
			if( sql==String.Empty)
			{
				Response.Write("<script language=javascript>alert('请选择人员!');window.location='MemberListView.aspx?TeamID="+ClassID+"';</script>");
			}
			else
			{
				if(this.cbRemind.Checked==true)
					sms_all(0);
				if(team.DeleteStaffFromTeam(sql,Int32.Parse(ClassID)))
				{
					Response.Write("<script language=javascript>alert('人员脱离成功!');window.location='MemberListView.aspx?TeamID="+ClassID+"';</script>");
				}
				else
				{
					Server.Transfer("../Error.aspx");
				}
			}
			team=null;		
		}

		#endregion

		protected void btnLeader_Click(object sender, System.EventArgs e)
		{
			Team team			  = new Team();
			bool sqlFlag		  = true;
			string sql			  = "";
			foreach(DataGridItem dgi in this.dgMemberList.Items)
			{
				CheckBox cb=(CheckBox)(dgi.Cells[0].Controls[1]);
				if (cb.Checked==true)
				{
					int i		= dgi.ItemIndex;
					string id	= dgMemberList.DataKeys[i].ToString();				
					if (sqlFlag)
					{
						sql+=""+id;
						sqlFlag=false;
					}
					else
					{
						sql+=" ,";
						sql+=id;
					}
				}
			}
			//选择为空
			if( sql==String.Empty)
			{
				Response.Write("<script language=javascript>alert('请选择人员!');window.location='MemberListView.aspx?TeamID="+ClassID+"';</script>");
			}
			else
			{
				if(this.cbRemind.Checked==true)
					sms_all(2);
				if(team.SetLeader(sql,Int32.Parse(ClassID)))
				{
					Response.Write("<script language=javascript>alert('设置组长成功!');window.location='MemberListView.aspx?TeamID="+ClassID+"';</script>");
				}
				else
				{
					Server.Transfer("../Error.aspx");
				}
			}
			team=null;
		}

		protected void btnAdd_Click(object sender, System.EventArgs e)
		{
			
			Team team			  = new Team();
			bool sqlFlag		  = true;
			string sql			  = "";
			foreach(DataGridItem dgi in this.dgMemberList.Items)
			{
				CheckBox cb=(CheckBox)(dgi.Cells[0].Controls[1]);
				if (cb.Checked==true)
				{
					int i		= dgi.ItemIndex;
					string id	= dgMemberList.DataKeys[i].ToString();				
					if (sqlFlag)
					{
						sql+=""+id;
						sqlFlag=false;
					}
					else
					{
						sql+=" ,";
						sql+=id;
					}
				}
			}
			//选择为空
			if( sql==String.Empty)
			{
				Response.Write("<script language=javascript>alert('请选择人员!');window.location='MemberListView.aspx?TeamID="+ClassID+"';</script>");
			}
			else
			{
				if(team.AddMemberToTeam(sql,Int32.Parse(ClassID)))
				{
					if(this.cbRemind.Checked==true)
						sms_all(1);
					Response.Write("<script language=javascript>alert('加入成员至组成功!');window.location='MemberListView.aspx?TeamID="+ClassID+"';</script>");
				}
				else
				{
					Server.Transfer("../Error.aspx");
				}
			}
			team=null;
		
		}
	}
}

⌨️ 快捷键说明

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