public void ProcessRequest(HttpContext context) { //清空之前数据 context.Response.Clear(); //检测是否含有session if (context.Session.Count < 5) { //跳转 context.Response.Redirect("/Account/Login", true); //停止加载后续内容 context.Response.End(); //直接返回 return; } //执行基类的方法 if (!base.CheckIsLogin(context)) { return; } //当前使用的查询参数类型 var parField = ParameterField.None; //用户传入的样板编号 string productNum = context.Request["pnum"]; string custName = string.Empty; string custNum = string.Empty; string remark = string.Empty; string dCustName = string.Empty; string dOrderId = string.Empty; string dOrderNum = string.Empty; string dProductNum = string.Empty; string dCustNum = string.Empty; string dSpecification = string.Empty; string dBatchNum = string.Empty; //检测样板编号 if (productNum != null && productNum.Length > 0) { //查询字段类型为样板编号 parField = ParameterField.ProductNum; //设置参数值 productNum = "%" + productNum.Trim().Replace("*", "%") + "%"; ////检测第二个字符是否P或者S //if (productNum.Length > 3) //{ // //取得前缀 // string prefix = string.Empty; // //如果第一个字符为小数点转换为P- // if (productNum.StartsWith(".")) // { // prefix = "P-"; // productNum = productNum.Substring(1); // } // else if (productNum.Substring(0, 2) == "P-" || productNum.Substring(0, 2) == "F-") // { // prefix = productNum.Substring(0, 2); // productNum = productNum.Substring(2); // } // if (productNum.Substring(1, 1) != "P" && productNum.Substring(1, 1) != "S") // { // //样板编号自动加入2PI // prefix += "2PI"; // } // productNum = prefix + productNum; //} } else { //用户传入的客户名称 custName = context.Request["cname"]; if (custName != null && custName.Length > 0) { //查询字段类型为客户名称 parField = ParameterField.CustName; //设置参数值 custName = "%" + custName.Trim().Replace("*", "%") + "%"; } else { //用户传入的客户料号 custNum = context.Request["cnum"]; if (custNum != null && custNum.Length > 0) { //查询字段类型为客户料号 parField = ParameterField.CustNum; //设置参数值 custNum = "%" + custNum.Trim().Replace("*", "%") + "%"; } else { //用户传入的备注 remark = context.Request["remark"]; if (remark != null && remark.Length > 0) { //查询字段类型为备注 parField = ParameterField.Remark; //设置参数值 remark = "%" + remark.Trim().Replace("*", "%") + "%"; } else { //用户传入的送货单中的客户名称 dCustName = context.Request["dcname"]; if (dCustName != null && dCustName.Length > 0) { //查询字段类型为送货单中的客户名称 parField = ParameterField.DeliverySampleCustName; //设置参数值 dCustName = "%" + dCustName.Trim().Replace("*", "%") + "%"; } else { //用户传入的送货单中的订单序号 dOrderId = context.Request["doid"]; if (dOrderId != null && dOrderId.Length > 0) { //查询字段类型为送货单中的订单序号 parField = ParameterField.DeliverySampleOrderId; //设置参数值 dOrderId = dOrderId.Trim(); } else { //用户传入的送货单中的样板编号 dProductNum = context.Request["dpnum"]; if (dProductNum != null && dProductNum.Length > 0) { //查询字段类型为送货单中的样板编号 parField = ParameterField.DeliverySampleProductNum; //设置参数值 dProductNum = "%" + dProductNum.Trim().Replace("*", "%") + "%"; } else { //用户传入的送货单中的客户料号 dCustNum = context.Request["dcnum"]; if (dCustNum != null && dCustNum.Length > 0) { //查询字段类型为送货单中的客户料号 parField = ParameterField.DeliverySampleCustNum; //设置参数值 dCustNum = "%" + dCustNum.Trim().Replace("*", "%") + "%"; } else { //用户传入的送货单中的订单编号 dOrderNum = context.Request["donum"]; if (dOrderNum != null && dOrderNum.Length > 0) { //查询字段类型为送货单中的订单编号 parField = ParameterField.DeliverySampleOrderNum; //设置参数值 dOrderNum = "%" + dOrderNum.Trim().Replace("*", "%") + "%"; } else { //用户传入的送货单中的规格 dSpecification = context.Request["dspecifi"]; if (dSpecification != null && dSpecification.Length > 0) { //查询字段类型为送货单中的规格 parField = ParameterField.DeliverySampleSpecification; //设置参数值 dSpecification = "%" + dSpecification.Trim().Replace("*", "%") + "%"; } else { //用户传入的送货单中的批号 dBatchNum = context.Request["dbatch"]; if (dBatchNum != null && dBatchNum.Length > 0) { //查询字段类型为送货单中的批号 parField = ParameterField.DeliverySampleBatchNum; //设置参数值 dBatchNum = "%" + dBatchNum.Trim().Replace("*", "%") + "%"; } } } } } } } } } } } //当前未使用特定的三种字段类型之一进行查询则不输出值直接退出 if (parField == ParameterField.None) { return; } //用户传入的送货单类型 string billType = context.Request["btype"]; byte iBillType = 0; //检测送货单类型 if (billType == null || billType.Length == 0 || !byte.TryParse(billType, out iBillType) || iBillType < 0 || iBillType > 3) { if (parField == ParameterField.DeliverySampleCustName || parField == ParameterField.DeliverySampleCustNum || parField == ParameterField.DeliverySampleOrderId || parField == ParameterField.DeliverySampleOrderNum || parField == ParameterField.DeliverySampleProductNum || parField == ParameterField.DeliverySampleSpecification || parField == ParameterField.DeliverySampleBatchNum ) { context.Response.Write("未提供送货单类型参数或者参数错误!"); return; } } //待输出到浏览器的数据 string strResult = string.Empty; //检测查询类型 switch (parField) { //使用样板编号进行查询 case ParameterField.ProductNum: //数据适配器 using (var da = new t_sample_orderTableAdapter()) { //将查询到的结果保存到泛型变量中 var l = new List<SampleOrderLiItem>(); //获取数据 var tab = da.GetDataLikeProductNum(productNum); //获取单据数据 AddOrderListItem(tab, ref l); //如果在客户清单中查询到数据 if (l.Count > 0) { //将泛型变量各项目放入数组 var itms = new SampleOrderLiItem[l.Count]; //复制泛型变量的内容到数组 l.CopyTo(itms); //循环重新设置单只数 foreach (var itm in itms) { //将实例加入li strResult += itm.ToString(); } } } break; //客户名称 case ParameterField.CustName: //数据适配器 using (var da = new t_pmc_custTableAdapter()) { //将查询到的结果保存到泛型变量中 var l = new List<CustNameLiItem>(); //先当作客户代码来查询 var tab = da.GetDataLikeCustId(custName); if (tab.Rows.Count == 0) { //当作客户名称来查询 tab = da.GetDataLikeCustName(custName); } //获取单据数据 AddCustNameListItem(tab, ref l); //如果在客户清单中查询到数据 if (l.Count > 0) { //将泛型变量各项目放入数组 var itms = new CustNameLiItem[l.Count]; //复制泛型变量的内容到数组 l.CopyTo(itms); //循环重新设置单只数 foreach (var itm in itms) { //将实例加入li strResult += itm.ToString(); } } } break; //客户料号 case ParameterField.CustNum: //数据适配器 using (var da = new t_sample_orderTableAdapter()) { //将查询到的结果保存到泛型变量中 var l = new List<SampleOrderLiItem>(); //获取数据 var tab = da.GetDataLikeCustNum(custNum); //写入泛型对象 AddOrderListItem(tab, ref l); //如果在客户清单中查询到数据 if (l.Count > 0) { //将泛型变量各项目放入数组 var itms = new SampleOrderLiItem[l.Count]; //复制泛型变量的内容到数组 l.CopyTo(itms); //循环重新设置单只数 foreach (var itm in itms) { //将实例加入li strResult += itm.ToString(); } } } break; //备注 case ParameterField.Remark: //数据适配器 using (var da = new t_sample_orderTableAdapter()) { //将查询到的结果保存到泛型变量中 var l = new List<RemarkLiItem>(); //获取数据 var tab = da.GetDataLikeProductNum(productNum); //写入泛型对象 AddRemarkListItem(tab, ref l); //如果在客户清单中查询到数据 if (l.Count > 0) { //将泛型变量各项目放入数组 var itms = new RemarkLiItem[l.Count]; //复制泛型变量的内容到数组 l.CopyTo(itms); //循环重新设置单只数 foreach (var itm in itms) { //将实例加入li strResult += itm.ToString(); } } } break; //送货单中的客户名称 case ParameterField.DeliverySampleCustName: //数据适配器 using (var da = new t_pmc_custTableAdapter()) { //将查询到的结果保存到泛型变量中 var l = new List<DeliverySampleCustNameLiItem>(); //先当作客户代码来查询 var tab = da.GetDataLikeCustId(dCustName); if (tab.Rows.Count == 0) { //当作客户名称来查询 tab = da.GetDataLikeCustName(dCustName); } //写入泛型对象 AddDeliveryCustNameListItem(tab, ref l); //如果在客户清单中查询到数据 if (l.Count > 0) { //将泛型变量各项目放入数组 var itms = new DeliverySampleCustNameLiItem[l.Count]; //复制泛型变量的内容到数组 l.CopyTo(itms); //循环重新设置单只数 foreach (var itm in itms) { //将实例加入li strResult += itm.ToString(); } } } break; //送货单中的订单序号 case ParameterField.DeliverySampleOrderId: //数据适配器 using (var da = new t_sample_orderTableAdapter()) { //将查询到的结果保存到泛型变量中 var l = new List<DeliverySampleOrderLiItem>(); //获取数据 var tab = da.GetDataByOrderId(dOrderId); //写入泛型对象 AddDeliveryOrderListItem(iBillType, tab, ref l); //如果在客户清单中查询到数据 if (l.Count > 0) { //将泛型变量各项目放入数组 var itms = new DeliverySampleOrderLiItem[l.Count]; //复制泛型变量的内容到数组 l.CopyTo(itms); //循环重新设置单只数 foreach (var itm in itms) { //将实例加入li strResult += itm.ToString(); } } } break; //送货单中的订单编号 case ParameterField.DeliverySampleOrderNum: //数据适配器 using (var da = new t_sample_orderTableAdapter()) { //将查询到的结果保存到泛型变量中 var l = new List<DeliverySampleOrderLiItem>(); //获取数据 var tab = da.GetBalanceDataLikeOrderNum(dOrderNum); //写入泛型对象 AddDeliveryOrderListItem(iBillType, tab, ref l); //如果在客户清单中查询到数据 if (l.Count > 0) { //将泛型变量各项目放入数组 var itms = new DeliverySampleOrderLiItem[l.Count]; //复制泛型变量的内容到数组 l.CopyTo(itms); //循环重新设置单只数 foreach (var itm in itms) { //将实例加入li strResult += itm.ToString(); } } } break; //送货单中的样板编号 case ParameterField.DeliverySampleProductNum: //数据适配器 using (var da = new t_sample_orderTableAdapter()) { //将查询到的结果保存到泛型变量中 var l = new List<DeliverySampleOrderLiItem>(); //获取数据 var tab = da.GetBalanceDataLikeProductNum(dProductNum); //写入泛型对象 AddDeliveryOrderListItem(iBillType, tab, ref l); //如果在客户清单中查询到数据 if (l.Count > 0) { //将泛型变量各项目放入数组 var itms = new DeliverySampleOrderLiItem[l.Count]; //复制泛型变量的内容到数组 l.CopyTo(itms); //循环重新设置单只数 foreach (var itm in itms) { //将实例加入li strResult += itm.ToString(); } } } break; //送货单中的客户料号 case ParameterField.DeliverySampleCustNum: //数据适配器 using (var da = new t_sample_orderTableAdapter()) { //将查询到的结果保存到泛型变量中 var l = new List<DeliverySampleOrderLiItem>(); //获取数据 var tab = da.GetBalanceDataLikeCustNum(dCustNum); //写入泛型对象 AddDeliveryOrderListItem(iBillType, tab, ref l); //如果在客户清单中查询到数据 if (l.Count > 0) { //将泛型变量各项目放入数组 var itms = new DeliverySampleOrderLiItem[l.Count]; //复制泛型变量的内容到数组 l.CopyTo(itms); //循环重新设置单只数 foreach (var itm in itms) { //将实例加入li strResult += itm.ToString(); } } } break; //样板送货单中的规格 case ParameterField.DeliverySampleSpecification: //数据适配器 using (var da = new t_sample_orderTableAdapter()) { //将查询到的结果保存到泛型变量中 var l = new List<DeliverySampleOrderLiItem>(); //获取数据 var tab = da.GetBalanceDataLikeSpecification(dSpecification); //写入泛型对象 AddDeliveryOrderListItem(iBillType, tab, ref l); //如果在客户清单中查询到数据 if (l.Count > 0) { //将泛型变量各项目放入数组 var itms = new DeliverySampleOrderLiItem[l.Count]; //复制泛型变量的内容到数组 l.CopyTo(itms); //循环重新设置单只数 foreach (var itm in itms) { //将实例加入li strResult += itm.ToString(); } } } break; //样板送货单中的批号 case ParameterField.DeliverySampleBatchNum: //数据适配器 using (var da = new t_sample_orderTableAdapter()) { //将查询到的结果保存到泛型变量中 var l = new List<DeliverySampleOrderLiItem>(); //获取数据 var tab = da.GetBalanceDataLikeBatchNum(dBatchNum); //写入泛型对象 AddDeliveryOrderListItem(iBillType, tab, ref l); //如果在客户清单中查询到数据 if (l.Count > 0) { //将泛型变量各项目放入数组 var itms = new DeliverySampleOrderLiItem[l.Count]; //复制泛型变量的内容到数组 l.CopyTo(itms); //循环重新设置单只数 foreach (var itm in itms) { //将实例加入li strResult += itm.ToString(); } } } break; } //加入ul头尾 strResult = "<ul>\n" + strResult + "</ul>\n"; //写入数据 context.Response.Write(strResult); }
public void ProcessRequest(HttpContext context) { //清空之前数据 context.Response.Clear(); //检测是否含有session if (context.Session.Count < 5) { //跳转 context.Response.Redirect("/Account/Login", true); //停止加载后续内容 context.Response.End(); //直接返回 return; } //执行基类的方法 if (!base.CheckIsLogin(context)) { return; } //当前使用的查询参数类型 var parField = ParameterField.None; //用户传入的样板编号 string productNum = context.Request["pnum"]; string custName = string.Empty; string custNum = string.Empty; string remark = string.Empty; string dCustName = string.Empty; string dOrderId = string.Empty; string dOrderNum = string.Empty; string dProductNum = string.Empty; string dCustNum = string.Empty; //检测样板编号 if (productNum != null && productNum.Length > 0) { //查询字段类型为样板编号 parField = ParameterField.ProductNum; //设置参数值 productNum = "%" + productNum.Trim().Replace("*", "%") + "%"; } else { //用户传入的客户名称 custName = context.Request["cname"]; if (custName != null && custName.Length > 0) { //查询字段类型为客户名称 parField = ParameterField.CustName; //设置参数值 custName = "%" + custName.Trim().Replace("*", "%") + "%"; } else { //用户传入的客户料号 custNum = context.Request["cnum"]; if (custNum != null && custNum.Length > 0) { //查询字段类型为客户料号 parField = ParameterField.CustNum; //设置参数值 custNum = "%" + custNum.Trim().Replace("*", "%") + "%"; } else { //用户传入的备注 remark = context.Request["remark"]; if (remark != null && remark.Length > 0) { //查询字段类型为备注 parField = ParameterField.Remark; //设置参数值 remark = "%" + remark.Trim().Replace("*", "%") + "%"; } else { //用户传入的送货单中的客户名称 dCustName = context.Request["dcname"]; if (dCustName != null && dCustName.Length > 0) { //查询字段类型为送货单中的客户名称 parField = ParameterField.DeliverySampleCustName; //设置参数值 dCustName = "%" + dCustName.Trim().Replace("*", "%") + "%"; } else { //用户传入的送货单中的订单序号 dOrderId = context.Request["doid"]; if (dOrderId != null && dOrderId.Length > 0) { //查询字段类型为送货单中的订单序号 parField = ParameterField.DeliverySampleOrderId; //设置参数值 dOrderId = dOrderId.Trim(); } else { //用户传入的送货单中的订单编号 dOrderNum = context.Request["donum"]; if (dOrderNum != null && dOrderNum.Length > 0) { //查询字段类型为送货单中的订单编号 parField = ParameterField.DeliverySampleOrderNum; //设置参数值 dOrderNum = "%" + dOrderNum.Trim().Replace("*", "%") + "%"; } else { //用户传入的送货单中的样板编号 dProductNum = context.Request["dpnum"]; if (dProductNum != null && dProductNum.Length > 0) { //查询字段类型为送货单中的样板编号 parField = ParameterField.DeliverySampleProductNum; //设置参数值 dProductNum = "%" + dProductNum.Trim().Replace("*", "%") + "%"; } else { //用户传入的送货单中的客户料号 dCustNum = context.Request["dcnum"]; if (dCustNum != null && dCustNum.Length > 0) { //查询字段类型为送货单中的客户料号 parField = ParameterField.DeliverySampleCustNum; //设置参数值 dCustNum = "%" + dCustNum.Trim().Replace("*", "%") + "%"; } } } } } } } } } //当前未使用特定的三种字段类型之一进行查询则不输出值直接退出 if (parField == ParameterField.None) { return; } //待输出到浏览器的数据 string strResult = string.Empty; //检测查询类型 switch (parField) { //使用样板编号进行查询 case ParameterField.ProductNum: //数据适配器 using (var da = new t_sample_orderTableAdapter()) { //将查询到的结果保存到泛型变量中 var l = new List<SampleOrderLiItem>(); //获取数据 var tab = da.GetDataLikeProductNum(productNum); //获取单据数据 AddOrderListItem(tab, ref l); //如果在客户清单中查询到数据 if (l.Count > 0) { //将泛型变量各项目放入数组 var itms = new SampleOrderLiItem[l.Count]; //复制泛型变量的内容到数组 l.CopyTo(itms); //循环重新设置单只数 foreach (var itm in itms) { //将实例加入li strResult += itm.ToString(); } } } break; //客户名称 case ParameterField.CustName: //数据适配器 using (var da = new t_pmc_custTableAdapter()) { //将查询到的结果保存到泛型变量中 var l = new List<CustNameLiItem>(); //先当作客户代码来查询 var tab = da.GetDataLikeCustId(custName); if (tab.Rows.Count == 0) { //当作客户名称来查询 tab = da.GetDataLikeCustName(custName); } //获取单据数据 AddCustNameListItem(tab, ref l); //如果在客户清单中查询到数据 if (l.Count > 0) { //将泛型变量各项目放入数组 var itms = new CustNameLiItem[l.Count]; //复制泛型变量的内容到数组 l.CopyTo(itms); //循环重新设置单只数 foreach (var itm in itms) { //将实例加入li strResult += itm.ToString(); } } } break; //客户料号 case ParameterField.CustNum: //数据适配器 using (var da = new t_sample_orderTableAdapter()) { //将查询到的结果保存到泛型变量中 var l = new List<SampleOrderLiItem>(); //获取数据 var tab = da.GetDataLikeCustNum(custNum); //写入泛型对象 AddOrderListItem(tab, ref l); //如果在客户清单中查询到数据 if (l.Count > 0) { //将泛型变量各项目放入数组 var itms = new SampleOrderLiItem[l.Count]; //复制泛型变量的内容到数组 l.CopyTo(itms); //循环重新设置单只数 foreach (var itm in itms) { //将实例加入li strResult += itm.ToString(); } } } break; //备注 case ParameterField.Remark: //数据适配器 using (var da = new t_sample_orderTableAdapter()) { //将查询到的结果保存到泛型变量中 var l = new List<RemarkLiItem>(); //获取数据 var tab = da.GetDataLikeProductNum(productNum); //写入泛型对象 AddRemarkListItem(tab, ref l); //如果在客户清单中查询到数据 if (l.Count > 0) { //将泛型变量各项目放入数组 var itms = new RemarkLiItem[l.Count]; //复制泛型变量的内容到数组 l.CopyTo(itms); //循环重新设置单只数 foreach (var itm in itms) { //将实例加入li strResult += itm.ToString(); } } } break; //送货单中的客户名称 case ParameterField.DeliverySampleCustName: //数据适配器 using (var da = new t_pmc_custTableAdapter()) { //将查询到的结果保存到泛型变量中 var l = new List<DeliverySampleCustNameLiItem>(); //先当作客户代码来查询 var tab = da.GetDataLikeCustId(dCustName); if (tab.Rows.Count == 0) { //当作客户名称来查询 tab = da.GetDataLikeCustName(dCustName); } //写入泛型对象 AddDeliveryCustNameListItem(tab, ref l); //如果在客户清单中查询到数据 if (l.Count > 0) { //将泛型变量各项目放入数组 var itms = new DeliverySampleCustNameLiItem[l.Count]; //复制泛型变量的内容到数组 l.CopyTo(itms); //循环重新设置单只数 foreach (var itm in itms) { //将实例加入li strResult += itm.ToString(); } } } break; //送货单中的订单序号 case ParameterField.DeliverySampleOrderId: //数据适配器 using (var da = new t_sample_orderTableAdapter()) { //将查询到的结果保存到泛型变量中 var l = new List<DeliverySampleOrderLiItem>(); //获取数据 var tab = da.GetDataByOrderId(dOrderId); //写入泛型对象 AddDeliveryOrderListItem(tab, ref l); //如果在客户清单中查询到数据 if (l.Count > 0) { //将泛型变量各项目放入数组 var itms = new DeliverySampleOrderLiItem[l.Count]; //复制泛型变量的内容到数组 l.CopyTo(itms); //循环重新设置单只数 foreach (var itm in itms) { //将实例加入li strResult += itm.ToString(); } } } break; //送货单中的订单编号 case ParameterField.DeliverySampleOrderNum: //数据适配器 using (var da = new t_sample_orderTableAdapter()) { //将查询到的结果保存到泛型变量中 var l = new List<DeliverySampleOrderLiItem>(); //获取数据 var tab = da.GetBalanceDataLikeOrderNum(dOrderNum); //写入泛型对象 AddDeliveryOrderListItem(tab, ref l); //如果在客户清单中查询到数据 if (l.Count > 0) { //将泛型变量各项目放入数组 var itms = new DeliverySampleOrderLiItem[l.Count]; //复制泛型变量的内容到数组 l.CopyTo(itms); //循环重新设置单只数 foreach (var itm in itms) { //将实例加入li strResult += itm.ToString(); } } } break; //送货单中的样板编号 case ParameterField.DeliverySampleProductNum: //数据适配器 using (var da = new t_sample_orderTableAdapter()) { //将查询到的结果保存到泛型变量中 var l = new List<DeliverySampleOrderLiItem>(); //获取数据 var tab = da.GetBalanceDataLikeProductNum(dProductNum); //写入泛型对象 AddDeliveryOrderListItem(tab, ref l); //如果在客户清单中查询到数据 if (l.Count > 0) { //将泛型变量各项目放入数组 var itms = new DeliverySampleOrderLiItem[l.Count]; //复制泛型变量的内容到数组 l.CopyTo(itms); //循环重新设置单只数 foreach (var itm in itms) { //将实例加入li strResult += itm.ToString(); } } } break; //送货单中的客户料号 case ParameterField.DeliverySampleCustNum: //数据适配器 using (var da = new t_sample_orderTableAdapter()) { //将查询到的结果保存到泛型变量中 var l = new List<DeliverySampleOrderLiItem>(); //获取数据 var tab = da.GetBalanceDataLikeCustNum(dCustNum); //写入泛型对象 AddDeliveryOrderListItem(tab, ref l); //如果在客户清单中查询到数据 if (l.Count > 0) { //将泛型变量各项目放入数组 var itms = new DeliverySampleOrderLiItem[l.Count]; //复制泛型变量的内容到数组 l.CopyTo(itms); //循环重新设置单只数 foreach (var itm in itms) { //将实例加入li strResult += itm.ToString(); } } } break; } //加入ul头尾 strResult = "<ul>\n" + strResult + "</ul>\n"; //写入数据 context.Response.Write(strResult); }
protected void lvCustMgr_ItemDeleting(object sender, ListViewDeleteEventArgs e) { //默认取消请求 e.Cancel = true; //检测是否含有session if (Session.Count < 5) { //跳转 Response.Redirect("/Account/Login", true); //停止加载后续内容 Response.End(); //直接返回 return; } //当前用户所在部门 string deptName = Session["dept_name"].ToString(); //当前角色id Int16 roleId = Convert.ToInt16(Session["role_id"]); //检测是否有权限 if ((deptName != mustDeptName && deptName != "样板") || (roleId != 0 && roleId != 1 && roleId != 6)) { throw new Exception("您没有删除记录权限!"); } //当前记录行的数据的客户序号 int id = Convert.ToInt32(e.Keys[0]); //获取当前数据行 using (var da = new t_pmc_custTableAdapter()) using (var conn = da.Connection) { //打开数据库连接 conn.Open(); //当前数据库事务并获取当前行数据 using (var tran = da.Transaction) using (var tab = da.GetDataById(id)) { //获取当前行数据 if (tab.Rows.Count <= 0) { throw new Exception("当前行数据可能已经被其他用户删除!"); } //首行数据 var row = (DataSetPmcCustMgr.t_pmc_custRow)tab.Rows[0]; //之前录入的用户名称 string userName = row.add_person; //检测当前用户所在部门名称和角色以及之前保存该记录的用户部门名称 //当前用户所在部门 string curUserDeptName = Session["dept_name"].ToString(); //用户名称 string curUserName = Session["user_name"].ToString(); //当前角色id Int16 curUserRoleId = Convert.ToInt16(Session["role_id"]); //录入权限用户则必须和原录入用户一样的名字 if (curUserRoleId > 3) { //用户只能操作自己之前录入的 if (userName.ToUpper().Equals(curUserName.ToUpper())) { //显示失败 throw new Exception("当前遗失报废记录录入者并非是您,请找更高级权限的用户操作!"); } } //主管级别可以修改本部门的 else if (curUserRoleId >= 2) { //检测之前录入用户所在部门 using (var daUser = new v_user_dept_roleTableAdapter()) { //设置事务 daUser.Transaction = tran; //检测该用户是否属于该部门 int i = Convert.ToInt32(daUser.CountByUserNameAndDeptName(userName, curUserDeptName)); if (i <= 0) { //主管级别 if (curUserRoleId == 3) //显示失败 throw new Exception("当前遗失报废记录录入者并非是您当前部门用户,请找更高级权限的用户操作!"); } //经理级别可以修改不存在的用户录入的数据 else if (curUserRoleId == 2) { //检测该用户是否属于该部门 i = Convert.ToInt32(daUser.CountByUserName(userName)); if (i > 0) { //显示失败 throw new Exception("当前遗失报废记录录入者并非是您当前部门用户,请找更高级权限的用户操作!"); } } } } } } //允许请求 e.Cancel = false; }
//导出数据到Excel protected void lBtnToExcel_Click(object sender, EventArgs e) { //获取数据并填充到数据表 using (var da = new t_pmc_custTableAdapter()) { //检测session中保存的查询条件 object obj = Session["cust_mgr_where_content"]; string str = string.Empty; if (obj != null && obj.ToString().Length > 0) { str = obj.ToString(); } //获取前1万行数据 var tab = da.GetPagedData(0, 10000, str, "order by [id] desc"); //设置列标题 string[] titleCol = ("序号,客户代码,客户名称,客户全名,公司地址,联系人,电话,传真,备注,录入员,录取时间,修改时间").Split(','); //设置表名称 string titleTab = "客户基础资料"; //临时文件名称 string fileName = titleTab + DateTime.Now.ToString("yyMMddHHmmss") + ".xls"; //执行导出数据到excel bool isSuccess = ydPublicMethod.DataTable2Excel(tab, titleCol, ref fileName, titleTab); //如果成功则跳转到指定页面 if (isSuccess) { Response.Redirect(fileName); //停止加载后续内容 Response.End(); } } }
/// <summary> /// 检测是否存在指定的客户名称 /// </summary> /// <param name="custName">待检测的客户名称</param> /// <returns></returns> internal static bool IsExistCustNum(string custName) { //客户名称转大写 custName = custName.ToUpper(); //实例化数据适配器并获取数据 using (var da = new t_pmc_custTableAdapter()) using (var tab = da.GetDataByCustName(custName)) { //检测是否获取到数据 if (tab.Rows.Count > 0) { //存在该部门 return true; } else { //不存在该部门 return false; } } }
/// <summary> /// 检查用的输入是否合法.合法返回true,否则返回false /// </summary> /// <param name="isAdd">是否新增时检查</param> /// <returns></returns> private bool CheckUserInput(bool isAdd) { //取得各文本框 var txtCustId = (TextBox)fvCustMgrAdd.FindControl("txtCustId"); var txtCustName = (TextBox)fvCustMgrAdd.FindControl("txtCustName"); //客户代码 string str = txtCustId.Text.Trim(); if (str.Length == 0) { throw new Exception("客户代码不能为空!"); } else if (str.Contains("%") || str.Contains("_")) { //不能包含"%"和"_" throw new Exception("客户代码不能包含百分号\"%\"和下划线\"_\"!"); } else if (isAdd) { //检测是否存在 using (var da = new t_pmc_custTableAdapter()) using (var tab = da.GetDataByCustId(str)) { //存在该客户代码 if (tab.Rows.Count > 0) { //客户代码已经存在 throw new Exception("客户代码已经存在!"); } } } //客户名称 str = txtCustName.Text.Trim(); if (str.Length == 0) { throw new Exception("客户名称不能为空!"); } else if (str.Contains("%") || str.Contains("_")) { //不能包含"%"和"_" throw new Exception("客户名称不能包含百分号\"%\"和下划线\"_\"!"); } else if (isAdd) { //检测是否存在 using (var da = new t_pmc_custTableAdapter()) using (var tab = da.GetDataLikeCustName(str)) { //存在该客户名称 if (tab.Rows.Count > 0) { //客户名称已经存在 throw new Exception("客户名称已经存在!"); } } } //可以提交 return true; }
protected void fvCustMgrAdd_ItemUpdating(object sender, FormViewUpdateEventArgs e) { //默认取消请求 e.Cancel = true; //检测是否含有session if (Session.Count < 5) { //跳转 Response.Redirect("/Account/Login", true); //停止加载后续内容 Response.End(); //直接返回 return; } //当前用户所在部门 string procName = Session["proc_name"].ToString(); //当前角色id Int16 roleId = Convert.ToInt16(Session["role_id"]); //检测是否有权限 if ((procName != mustProcName && procName != "样板") || (roleId != 0 && roleId != 1 && roleId != 6)) { throw new Exception("您没有修改记录权限!"); } //用户输入不合法不执行添加操作 if (!CheckUserInput(false)) { return; } //当前记录行的数据的客户序号 string custId = e.Keys[0].ToString(); //获取当前数据行 using (var da = new t_pmc_custTableAdapter()) using (var conn = da.Connection) { //打开数据库连接 conn.Open(); //当前数据库事务并获取当前行数据 using (var tran = da.Transaction) using (var tab = da.GetDataById(custId)) { //获取当前行数据 if (tab.Rows.Count <= 0) { throw new Exception("当前行数据可能已经被其他用户删除!"); } //首行数据 var row = (DataSetPmcCustMgr.t_pmc_custRow)tab.Rows[0]; //之前录入的用户名称 string userName = row.add_person; //检测当前用户所在部门名称和角色以及之前保存该记录的用户部门名称 //当前用户所在部门 string curUserProcName = Session["proc_name"].ToString(); //用户名称 string curUserName = Session["user_name"].ToString(); //当前角色id Int16 curUserRoleId = Convert.ToInt16(Session["role_id"]); //录入权限用户则必须和原录入用户一样的名字 if (curUserRoleId > 3) { //用户只能操作自己之前录入的 if (userName.ToUpper().Equals(curUserName.ToUpper())) { //显示失败 throw new Exception("当前遗失报废记录录入者并非是您,请找更高级权限的用户操作!"); } } //主管级别可以修改本部门的 else if (curUserRoleId >= 2) { //检测之前录入用户所在部门 using (var daUser = new v_user_proc_roleTableAdapter()) { //设置事务 daUser.Transaction = tran; //检测该用户是否属于该部门 int i = Convert.ToInt32(daUser.CountByUserNameAndProcName(userName, curUserProcName)); if (i <= 0) { //主管级别 if (curUserRoleId == 3) //显示失败 throw new Exception("当前遗失报废记录录入者并非是您当前部门用户,请找更高级权限的用户操作!"); } //经理级别可以修改不存在的用户录入的数据 else if (curUserRoleId == 2) { //检测该用户是否属于该部门 i = Convert.ToInt32(daUser.CountByUserName(userName)); if (i > 0) { //显示失败 throw new Exception("当前遗失报废记录录入者并非是您当前部门用户,请找更高级权限的用户操作!"); } } } } } } //设置录入员姓名和时间 e.NewValues["add_person"] = Session["user_name"].ToString(); e.NewValues["last_change_time"] = DateTime.Now; //允许添加 e.Cancel = false; }