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

📄 usercontrolbase.cs

📁 某个公司需要维持良好的客户关系
💻 CS
📖 第 1 页 / 共 2 页
字号:
using System;
using System.IO;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using CRM.BLL;
using CRM.Model;

namespace CRM.Web.Utility
{
	/// <summary>
	/// UserControlBase 的摘要说明。
	/// </summary>
	public class UserControlBase : System.Web.UI.UserControl
	{
		#region 变量声明
		public string UpdateSucceed = "恭喜您,数据更新成功!";
		public string UpdateFailed = "对不起,数据更新失败!";
		public string AddSucceed = "恭喜您,数据添加成功!";
		public string AddFailed = "对不起,数据添加失败!";
		public string PowerPoor = "对不起,您的权限不够,不能完成此操作!";
		public string PostForbiden ="您的权限不够或操作期间刷新了页面,页面被禁止!";
		public string DeleteSucceed = "恭喜您,数据删除成功!";
		public string DeleteFailed = "对不起,数据删除失败!";
		public string DeleteConfirm =  "onclick=\"JavaScript:return confirm('执行删除操作之后数据将无法还原,真的要删除该条记录吗?')\"";
		#endregion

		#region 接收参数
		/// <summary>
		/// 接收参数
		/// </summary>
		public Parameter GetRequestParm()
		{
			Parameter parms = new Parameter();
			parms.Template=Request["t"];
			parms.UserControl=Request["u"];
			parms.SubUserControl = Request["sub"];
			parms.Action=Request["action"];
			parms.FuncId =Request["funcid"];
			parms.ClassId=Request["classid"];
			parms.ItemId=Request["itemid"];
			parms.Key = Request["key"];
			return parms;
		}
		#endregion

		#region 用户操作日志记录
		/// <summary>
		/// 
		/// </summary>
		/// <param name="u">控件id</param>
		/// <param name="option">操作代码</param>
		/// <param name="state">操作状态</param>
		/// <param name="BZ">操作注释</param>
		/// 操作完成后记录
		/// 操作状态用来记录 成功,失败 ,异常等情况
		public void WirteSysLog(string u, string option ,string state, string BZ)
		{
			try
			{
				SysLogInfo newlog= new SysLogInfo();
				if (Session["userinfo"] != null)
				{
					newlog.UserId = ((SysUserInfo)Session["userinfo"]).UserId;
					newlog.HostIP = System.Web.HttpContext.Current.Request.UserHostAddress;
					newlog.HostName = System.Web.HttpContext.Current.Request.UserHostName;
					newlog.FuncId = u;
					newlog.OptState = state;
					newlog.BZ = option;
					BLL.SysLog.Insert(newlog);
				}
			}
			catch
			{}
		}
		#endregion

		#region 获取用户当前操作导航位置
		public StringBuilder InitWebNavigate(Parameter parms)
		{
			StringBuilder navigate=new StringBuilder();
			navigate.Append("当前位置:");
			try
			{
				if (parms.UserControl != "" && parms.UserControl != null)
				{
					for (int i=1;i <= (parms.UserControl.Trim().Length/2);i++)//这里parms.usercontrol的长度必为偶数
					{
						if (i == (parms.UserControl.Trim().Length/2))//到了最后一个
						{
							if (parms.Action !="" && parms.Action != null)//如果是相关操作页面
							{
								navigate.Append("<a href='Default_right.aspx?u="+parms.UserControl+"' target='right'>"+BLL.SysFunc.GetSysFuncById(parms.UserControl.Substring(0,i*2)).FuncName+"</a>");		
								switch(parms.Action)
								{
									case "Read":
									{navigate.Append(">>相关操作(<span class=blue>&nbsp;读取</span>&nbsp;)");break;}
									case "Add":
									{navigate.Append(">>相关操作(<span class=blue>&nbsp;添加&nbsp;</span>)");break;}
									case "Update":
									{navigate.Append(">>相关操作(<span class=blue>&nbsp;修改&nbsp;</span>)");break;}
								}
						
							}
							else
							{
								navigate.Append(BLL.SysFunc.GetSysFuncById(parms.UserControl.Substring(0,i*2)).FuncName);
							}
						}
						else
						{
							navigate.Append(BLL.SysFunc.GetSysFuncById(parms.UserControl.Substring(0,i*2)).FuncName + ">>");
						}
					}
				}
			}
			catch
			{}
			return navigate;
		}

		public string GetFuncDetail(string funcid)
		{
			string navigate=" ";
			if (funcid != "" && funcid != null)
			{
				for (int i=1;i <= (funcid.Trim().Length/2);i++)//这里parms.usercontrol的长度必为偶数
				{
					if (i == (funcid.Trim().Length/2))//到了最后一个
					{
						navigate = navigate + (BLL.SysFunc.GetSysFuncById(funcid.Substring(0,i*2)).FuncName);
					}
					else
					{
						navigate = navigate + (BLL.SysFunc.GetSysFuncById(funcid.Substring(0,i*2)).FuncName + ">>");
					}
				}
			}
			return navigate;
		}
		#endregion

		#region 用户权限检测
		/// <summary>
		///  用户权限检测(查看,添加,修改,删除)
		///  参数u接受用户控件ID,各操作方法主动调用此方法(子控件与父控件共享权限标记)
		///  显示操作途径和执行操作之前检测
		/// </summary>
		/// <param name="u"></param>
		/// <param name="option"></param>
		/// <returns></returns>
		public UserPower  GetUserPower( Parameter parms)
		{//根据用户登陆后保存的SESSION读取用户权限(考虑到安全性,这里不做缓存)
			UserPower power=new UserPower();
			DataRow[] funcRows=null;
			try
			{
				if (Session["userinfo"] != null)
				{//需要读取用户权限
					DataTable table1 = BLL.SysUser.GetUserPowerById(((SysUserInfo)Session["userinfo"]).UserId);
					funcRows = table1.Select(String.Format("FuncId = '{0}'",parms.UserControl));
		
				
					foreach (DataRow funcRow in funcRows)
					{
						if ( funcRow["Reading"].ToString() == "1" )
						{
							power.Read = true;//如果不具有读地权限,那其它权限都不具有
						
							if ( funcRow["Adding"].ToString() == "1" )
							{power.Add = true;}
							else
							{power.Add = false;}

							if ( funcRow["Updating"].ToString() == "1" )
							{power.Update = true;}
							else
							{power.Update = false;}

							if ( funcRow["Deleting"].ToString() == "1" )
							{power.Delete = true;}
							else
							{power.Delete = false;}
						}
					}
				}
			}
			catch
			{}
			return power;
				
		}
		#endregion

		#region 判断该节点是否含子节点
		/// <summary>
		/// 判断该节点是否含子节点
		/// </summary>
		/// <param name="table1"></param>
		/// <param name="id"></param>
		/// <param name="length"></param>
		/// <returns></returns>
		public   bool HaveChildNode(DataTable table1,string filed,string id, int length)
		{
			//如果有则返回真
			if (table1.Select(String.Format("{0} LIKE '{1}%' AND LEN(TRIM({0}))={2}",filed,id,length)).Length>0)
			{
				return true;
			}
			return false;		
		}
		#endregion 

		#region 返回列表页
		public void BackToListPage(Parameter parms)
		{
			base.Response.Redirect("Default_right.aspx?u="+parms.UserControl+"&funcid="+parms.FuncId);
			base.Response.End();
		}
		#endregion

		#region 树型下拉菜单生成方法
		/// <summary>
		/// 转换树型下拉菜单方法
		/// </summary>
		/// <param name="table1"></param>
		/// <param name="filed">filed[0]:值字段名,filed[1]:值字段索引,filed[2]:名称字段名,filed[3]:名称字段索引,filed[4]:值字段开始值</param>
		/// <param name="length">长度</param>
		/// <returns></returns>
		public void TreeListConvert(DataTable table1,object[] filed,int length,ref System.Web.UI.WebControls.DropDownList list,string space)
		{
			ListConvert(table1,filed,2,ref list,space);
		}

		private  void ListConvert(DataTable table1,object[] filed,int length, ref System.Web.UI.WebControls.DropDownList list,string space)
		{
				System.Data.DataRow[] funcRows=null;
			space = space + space;
			if (filed[4].ToString() == "")
			{funcRows = table1.Select(String.Format("LEN(TRIM({0}))={1}",filed[0].ToString(),length));}
			else
			{funcRows = table1.Select(String.Format("{0} LIKE '{1}%' AND LEN(TRIM({0}))={2}",filed[0].ToString(),filed[4].ToString().Trim(),length));}
			if (funcRows.Length > 0)
			{
				foreach (System.Data.DataRow funcRow in funcRows)
				{
					filed[4] = funcRow[filed[0].ToString()];//获得下一个ID
					if (TreeListConvert_HaveChildNode(table1,filed,length+2) == true)//是否含有子节点
					{
						list.Items.Add(new System.Web.UI.WebControls.ListItem(space+funcRow[filed[2].ToString()].ToString(),funcRow[filed[0].ToString()].ToString()));
						ListConvert(table1,filed,length+2,ref list,space);//递归调用
					}
					else
					{
						list.Items.Add(new System.Web.UI.WebControls.ListItem(space+funcRow[filed[2].ToString()].ToString(),funcRow[filed[0].ToString()].ToString()));					
					}
				}
			}
		}

		public  bool TreeListConvert_HaveChildNode(DataTable table1,object[] filed, int length)
		{
			if (table1.Select(String.Format("{0} LIKE '{1}%' AND LEN(TRIM({0}))={2}",filed[0].ToString(),filed[4].ToString().Trim(),length)).Length>0)
			{
				return true;
			}
			return false;		
		}
		#endregion


		//
		#region 加载订单列表
		public StringBuilder InitOrderList(Parameter parms)
		{
			StringBuilder builder1=new StringBuilder();
			System.Data.DataRow[] funcRows=null;
			DataTable table1 = null;
			try
			{
				if (((SysUserInfo)base.Session["userinfo"]).UserId=="0000000001")
				{table1 =(DataTable) BLL.Order.GetAllOrder();}
				else
				{table1 =(DataTable) BLL.Order.GetOrderByUserId(((SysUserInfo)base.Session["userinfo"]).UserId);}
				funcRows = table1.Select();
				foreach( System.Data.DataRow funcRow in funcRows )
				{
					builder1.Append("<td class='tr_left'><span class='spacing'></span><a href='Default_right.aspx?u=");
					builder1.Append(parms.UserControl);
					builder1.Append("&action=Read&itemid=");
					builder1.Append(funcRow["OrderId"]);
					builder1.Append("' target='right'>");
					builder1.Append(funcRow["OrderId"]);
					builder1.Append("</a></td><td class='tr_center'><span class='blue'>");
					builder1.Append(BLL.Customer.GetCustomerById(funcRow["CustomerId"].ToString()).CustomerName);
					builder1.Append("</span></td><td class='tr_center'><span class='red'>");
					builder1.Append(funcRow["OrderDate"]);
					builder1.Append("</span></td><td class='tr_center'><a href='Default_right.aspx?u=");
					builder1.Append(parms.UserControl);
					builder1.Append("&action=Delete&itemid=");
					builder1.Append(funcRow["OrderId"]);
					builder1.Append("' target='right'>删除</a></td></tr>");
					
				}
			}
			catch
			{}
			return builder1;
		}
		#endregion
		
		#region 加载系统用户列表
		public StringBuilder InitSysUserList(Parameter parms)
		{
			StringBuilder builder1=new StringBuilder();
			System.Data.DataRow[] funcRows=null;
			try
			{
				DataTable table1 =(DataTable) BLL.SysUser.GetAllSysUser();
				funcRows = table1.Select();
				foreach( System.Data.DataRow funcRow in funcRows )
				{
					builder1.Append("<tr><td class='tr_center'>");
					builder1.Append(funcRow["UserId"]);
					builder1.Append("</td><td class='tr_center'><span class='spacing'></span>");
					builder1.Append("<a href='Default_right.aspx?u=");
					builder1.Append(parms.UserControl);
					builder1.Append("&action=Read&itemid=");
					builder1.Append(funcRow["UserId"]);
					builder1.Append("' target='right'>");
					builder1.Append(funcRow["TrueName"]);
					builder1.Append("</a></td><td class='tr_center'><span class='red'>");
					builder1.Append(BLL.SysRole.GetSysRoleById(BLL.SysUser.GetUserRoleById(funcRow["UserId"].ToString()).RoleId).RoleName);
					builder1.Append("</span></td><td class='tr_center'><a href='Default_right.aspx?u=");
					builder1.Append(parms.UserControl);
					builder1.Append("&action=Update&itemid=");
					builder1.Append(funcRow["UserId"]);
					builder1.Append("' target='right'>修改</a><span class='spacing'></span><a href='Default_right.aspx?u=");
					builder1.Append(parms.UserControl);
					builder1.Append("&action=Delete&itemid=");
					builder1.Append(funcRow["UserId"]);
					builder1.Append("' target='right'");
					builder1.Append(DeleteConfirm);
					builder1.Append(">删除</a></td></tr>");
				}
			}
			catch
			{}
			return builder1;
		}
		#endregion

⌨️ 快捷键说明

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