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

📄 flowaddreceiver.aspx.cs

📁 本系统以采用一种结合B/S和Web的方式开发的中小企业办公自动化系统为例讨论办公自动化系统的设计与实现。
💻 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 OfficeAuto.Components;

namespace OfficeAuto.DesktopModules.DocumentFlow
{
	/// <summary>
	/// FlowAddReceiver 的摘要说明。
	/// </summary>
	public partial class FlowAddReceiver : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.Button FinishBtn;
		protected System.Web.UI.WebControls.Button CancelBtn;
	
		protected void Page_Load(object sender, System.EventArgs e)
		{
			///判断用户是否登录,否则跳转到登录页面
			if(Session["UserID"] == null)
			{
				Response.Redirect("~/Default.aspx");
			}

			if(!Page.IsPostBack)
			{
				///绑定用户的数据
				BindUserData();
			}
		}

		private void BindUserData()
		{
			///获取数据
			StaffDB user = new StaffDB();
			SqlDataReader recu = user.GetStaffs();

			///绑定数据
			UserList.DataSource = recu;
			UserList.DataTextField = "RealName";
			UserList.DataValueField = "Staff_ID";
			UserList.DataBind();

			recu.Close();
		}

		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.deleteBtn.Click += new System.Web.UI.ImageClickEventHandler(this.deleteBtn_Click);

		}
		#endregion

		protected void AddBtn_Click(object sender, System.EventArgs e)
		{
			if(UserList.SelectedIndex > -1)
			{
				///判定用户列表中是否存在将要添加的用户
				if(IsExistUser(ReceiverList,UserList.SelectedItem) == false)
				{
					ReceiverList.Items.Add(UserList.SelectedItem);
				}
				else
				{
					Response.Write("<script>alert(\"你选择的数据项已经存在,请重新选择!\")</script>");
				}
			}
			else
			{
				Response.Write("<script>alert(\"请选择你的数据项!\")</script>");
			}
		}

		/// <summary>
		/// 判定用户列表中是否存在将要添加的用户,
		/// 存在不添加,否则添加
		/// </summary>
		/// <param name="listBox" type="ListBox"></param>
		/// <param name="listItem" type="ListItem"></param>
		private bool IsExistUser(ListBox listBox,ListItem listItem)
		{
			bool isExist = false;
			if(listBox.Items.Count > 0)
			{
				for(int i = 0; i< listBox.Items.Count; i++)
				{
					///判定用户列表中是否存在将要添加的用户
					if(listItem.Text == listBox.Items[i].Text)
					{
						isExist = true;
						break;
					}
				}
			}
			return(isExist);
		}

		protected void AddAllBtn_Click(object sender, System.EventArgs e)
		{
			///添加所有用户
			ReceiverList.Items.Clear();
			foreach(ListItem item in UserList.Items)
			{
				ReceiverList.Items.Add(item);
			}
		}

		private void deleteBtn_Click(object sender, System.Web.UI.ImageClickEventArgs e)
		{
			if(ReceiverList.SelectedIndex > -1)
			{
				///删除选择的用户
				ReceiverList.Items.Remove(ReceiverList.SelectedItem);
			}
			else
			{
				Response.Write("<script>alert(\"请选择你的数据项!\")</script>");
			}
		}

		protected void FinishBtn_Click(object sender, System.EventArgs e)
		{
			if(Session[Session.SessionID + DocFlowDetails.DocFlowDetail] != null)
			{
				///获取所有接受文档用户的ID
				ArrayList receiverList = new ArrayList();
				foreach(ListItem item in ReceiverList.Items)
				{
					receiverList.Add(item.Value);
				}
				///更新并保存数据
				DocFlowDetails flowDetail = (DocFlowDetails)Session[Session.SessionID + DocFlowDetails.DocFlowDetail];
				flowDetail.ReceiverList = receiverList;
				Session[Session.SessionID + DocFlowDetails.DocFlowDetail] = flowDetail;

				///完成设计
				DocFlow flow = new DocFlow();
				int nDocFlowID = flow.AddDocFlow(flowDetail.FlowName,flowDetail.FlowDesn,flowDetail.SenderID,flowDetail.FlowMethodID);

				if(nDocFlowID > 0)
				{
					try
					{
						///添加公文流转中的所有文档
						OfficeAuto.Components.FlowDocument flowDoc = new OfficeAuto.Components.FlowDocument();
						for(int i = 0; i < flowDetail.DocumentList.Count; i++)
						{
							flowDoc.AddFlowDocument(nDocFlowID,Int32.Parse(flowDetail.DocumentList[i].ToString()));
						}

						///添加公文流转中的所有接受人
						OfficeAuto.Components.FlowReceiver flowRece = new OfficeAuto.Components.FlowReceiver();
						for(int j = 0; j < flowDetail.ReceiverList.Count; j++)
						{
							flowRece.AddFlowReceiver(nDocFlowID,Int32.Parse(flowDetail.ReceiverList[j].ToString()));
						}
					}
					catch(Exception ex)
					{
						///删除添加新的流转失败后的补救操作
						flow.DeleteDocFlow(nDocFlowID);

						///显示错误信息
						Response.Write("<script>alert(\"公文流转设置错误,原因如下:" + ex.Message + "!\")</script>");	
					}
				}

				///显示提示信息
				Response.Write("<script>alert(\"公文流转设置已经完成!!!\")</script>");				
			}
		}

		protected void CancelBtn_Click(object sender, System.EventArgs e)
		{
			///返回到创建公文流转的起始页面
			Response.Redirect("ViewFlow.aspx");
		}
	}
}

⌨️ 快捷键说明

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