protected void Lv_ItemDeleting(object sender, ListViewDeleteEventArgs e) { var id = Convert.ToInt32(Lv.DataKeys[e.ItemIndex].Value); var person = Db.Persons.SingleOrDefault(p => p.Id == id); Db.Persons.Remove(person); Init(); }
protected void uoListViewPortAgent_ItemDeleting(object sender, System.Web.UI.WebControls.ListViewDeleteEventArgs e) { if (!User.IsInRole(TravelMartVariable.RoleAdministrator)) { uoHiddenFieldContractList.Value = "true"; uoHiddenFieldVendor.Value = "false"; } }
/// <summary> /// A person is deleted from the list view. /// </summary> /// <param name="sender">The sender of the events</param> /// <param name="e">The args of the event</param> protected void PersonDeleting(object sender, ListViewDeleteEventArgs e) { ListViewItem myItem = ResultsView.Items[e.ItemIndex]; var labelId = (Label) myItem.FindControl("LabelID"); this.Verified( () => new PersonsDAO().ArchivePerson(labelId.Text.ToInt()), ErrorLabel); this.Verified(SearchPersons, ErrorLabel); }
/// <summary> /// Archive the selected institution. /// </summary> /// <param name="sender">The sender of the events</param> /// <param name="e">The args of the event</param> protected void InstitutionArchiving(object sender, ListViewDeleteEventArgs e) { Extensions.SqlOperation operation = () => { ListViewItem myItem = ResultsView.Items[e.ItemIndex]; var labelId = (Label)myItem.FindControl("LabelID"); new InstitutionsDAO().ArchiveInstitution(labelId.Text.ToInt()); SearchButton_Click(sender, e); //Refresh the page }; this.Verified(operation, ErrorLabel); }
protected void lvUserRole_ItemDeleting(object sender, ListViewDeleteEventArgs e) { //取消请求执行自定义的方法 e.Cancel = true; //当前角色id Int16 roleId = Convert.ToInt16(Session["role_id"]); //检测是否有权限 if (roleId < 0 || roleId > 2) { throw new Exception("您没有删除记录权限!"); } //根据id执行删除数据 e.Cancel = false; }
/// <summary> /// A contract is deleted from the list view. /// </summary> /// <param name="sender">The sender of the events</param> /// <param name="e">The args of the event</param> protected void ContractDeleting(object sender, ListViewDeleteEventArgs e) { Extensions.SqlOperation operation = () => { ListViewItem myItem = ResultsView.Items[e.ItemIndex]; var labelId = myItem.FindControl("LabelID") as Label; new ContractsDAO().ArchiveContract(labelId.Text.ToInt()); Search(); }; this.Verified(operation, ErrorLabel); }
protected void lvLoanControl_ItemDeleting(object sender, ListViewDeleteEventArgs e) { String ids = ""; Label lbl = (lvLoanControl.Items[e.ItemIndex].FindControl("lbID")) as Label; if (lbl != null) ids = lbl.Text; if (!String.IsNullOrEmpty(ids)) { NewLoanControlRepository facade = new NewLoanControlRepository(); var itm = facade.GetById(Int16.Parse(ids)); if (itm != null) { facade.Delete(itm); facade.Commit(); LoadDataTolvLoanControl(); } } }
protected void lvPayees_ItemDeleting(object sender, ListViewDeleteEventArgs e) { var dataKey = lvPayees.DataKeys[e.ItemIndex]; if (dataKey == null || dataKey.Values == null) { return; } var payeeId = Guid.Parse(dataKey.Values["ID"].ToString()); var isPayeeCanBeDeleted = _presenter.CheckIfPayeeCanBeDeleted(payeeId); if (isPayeeCanBeDeleted) { _presenter.DeletePayee(payeeId); _presenter.BindPayees(); //SetPageMessage("Penerima uang berhasil dihapus"); } else { //SetPageMessage("Penerima uang tidak bisa dihapus karena mempunyai transaksi"); } }
protected void ListView1_ItemDeleting(object sender, ListViewDeleteEventArgs e) { int id = (int)e.Keys[0]; using (var db = drvvv.drvvvSettings.GetDataContextInstance()) { var cCategories = db.Categories.Where(x => x.ID == id).SingleOrDefault(); foreach (var y in db.MailingLists.Where(x => x.CategoryID == id)) { y.CategoryID = null; } db.SubmitChanges(); if (!string.IsNullOrEmpty(cCategories.Image)) { if (!drvvv.GetFile.DeleteFile(cCategories.Image)) { RegisterStartupScript("alert", "<script language='javascript'> { alert('The picture is not deleted');}</script>"); } } } }
protected void lvRateExchange_ItemDeleting(object sender, ListViewDeleteEventArgs e) { String ids = ""; Label lbl = (lvRateExchange.Items[e.ItemIndex].FindControl("lbID")) as Label; if (lbl != null) ids = lbl.Text; if (!String.IsNullOrEmpty(ids)) { StoreProRepository storeFacade = new StoreProRepository(); ExchangeRatesRepository facade = new ExchangeRatesRepository(); var itm = facade.GetById(Int16.Parse(ids)); if (itm != null) { storeFacade.StoreProcessor().B_ExchangeRate_history_process(itm.Currency, itm.Rate, this.UserId, 3); facade.Delete(itm); facade.Commit(); LoadDataTolvRateExchange(); } } }
protected void lvLoanInterestedRate_ItemDeleting(object sender, ListViewDeleteEventArgs e) { String ids = ""; Label lbl = (lvLoanInterestedRate.Items[e.ItemIndex].FindControl("lbID")) as Label; if (lbl != null) ids = lbl.Text; if (!String.IsNullOrEmpty(ids)) { StoreProRepository storeFacade = new StoreProRepository(); NewLoanInterestedKeyRepository facade = new NewLoanInterestedKeyRepository(); var itm = facade.GetById(Int16.Parse(ids)); if (itm != null) { storeFacade.StoreProcessor().B_LoanInterested_Key_history_process(itm.MonthLoanRateNo, itm.VND_InterestRate, itm.USD_InterestRate, this.UserId, 3); facade.Delete(itm); facade.Commit(); LoadDataTolvLoanInterestedRate(); } } }
//通过LINQ技术删除图片 protected void lvPhoto_ItemDeleting(object sender, ListViewDeleteEventArgs e) { //删除图片文件 LinkButton lkb = (LinkButton)lvPhoto.Items[e.ItemIndex].FindControl("lkbImg"); FileInfo fi = new FileInfo(Server.MapPath("UpSmall/" + lkb.CommandArgument.ToString())); if (fi.Exists) { fi.Delete(); } FileInfo fi2 = new FileInfo(Server.MapPath("UpFile/" + lkb.CommandArgument.ToString())); if (fi2.Exists) { fi2.Delete(); } //获取ListView控件中所要删除的数据索引值 int DataKey = Int32.Parse(lvPhoto.DataKeys[e.ItemIndex].Value.ToString()); //通过LINQ to SQL删除数据库记录 Photo p = lqc.Photo.SingleOrDefault(itm => itm.ID == DataKey); lqc.Photo.DeleteOnSubmit(p);//执行删除操作 lqc.SubmitChanges();//提交删除动作 ScriptManager.RegisterStartupScript(this, GetType(), "", "alert('删除成功!');", true); BindListView();//重新绑定ListView控件 }
protected void ListView1_ItemDeleting(object sender, ListViewDeleteEventArgs e) { int id = (int)e.Keys[0]; using (var db = drvvv.drvvvSettings.GetDataContextInstance()) { var cBanners = db.Banners.Where(x => x.ID == id).SingleOrDefault(); if (cBanners != null) { if (!drvvv.GetFile.DeleteFile(cBanners.LinkFile)) { e.Cancel = true; // מבטל מחיקה Label1.Text = "You can not delete now"; } } else { // התמונה לא קיימת במסד e.Cancel = true; // מבטל מחיקה Label1.Text = "File not found"; } } }
protected void lvMaterialIn_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 || roleId < 0 || roleId > 4) { throw new Exception("您没有删除记录权限!"); } //执行删除的同时也删除单据的内容 if (DeleteData(e)) { //重新绑定数据 lvMaterialIn.DataBind(); } }
/// <summary> /// 执行删除数据并处理相关数据一致性 /// </summary> /// <param name="e">传入的带有数据的事件参数</param> /// <returns></returns> private bool DeleteData(ListViewDeleteEventArgs e) { //实例化数据适配器 using (var da = new v_material_inTableAdapter()) //取得数据库连接 using (var conn = da.Connection) { //打开数据库连接 conn.Open(); //事务 using (var tran = conn.BeginTransaction()) { //设置事务 da.Transaction = tran; try { //当前入仓单号 string billNum = e.Keys[0].ToString(); //当前行号 byte rowId = Convert.ToByte(e.Keys[1]); //取得该条入仓单清单记录 var tab = da.GetDataByBillNumAndRowId(billNum, rowId); //检测是否存在数据 if (tab.Rows.Count <= 0) { throw new Exception(string.Format("当前单据:\n单号:{0}\n行号:{1}\n已经被其他用户删除!", billNum, rowId)); } //单据内容、原料结存适配器 using (var daContent = new t_material_in_contentTableAdapter()) using (var daBalance = new t_material_balanceTableAdapter()) { //设置连接对象 daContent.Connection = daBalance.Connection = tran.Connection; //设置事务 daContent.Transaction = daBalance.Transaction = tran; //遍历行执行删除各行的结存记录 foreach (DataSetMaterialIn.v_material_inRow row in tab.Rows) { //执行扣减结存 if (!ydOperateMaterial.DecreaseMaterialBalance( daBalance, BillType.In, row.supplier_name, row.material_name, row.price, row.qty )) { return false; } } //根据入仓单号和行号删除入仓记录 if (daContent.Delete(billNum, rowId) <= 0) { throw new Exception("根据单号删除内容记录失败!"); } //检测当前入仓记录内容行数 int? iCount = (int?)daContent.CountByBillNum(billNum); if (iCount.HasValue && iCount.Value <= 0) { //表头适配器 using (var daHead = new t_material_in_headTableAdapter()) { //删除表头 if (daHead.Delete(billNum) <= 0) { throw new Exception("根据单号删除表头记录失败!"); } } } } //提交事务 tran.Commit(); //返回成功 return true; } catch (Exception ex) { //回滚事务 tran.Rollback(); //抛出错误 throw new Exception("删除入仓单记录出现错误:\n" + ex.Message); } } } }
/// <summary> /// 执行删除数据并处理相关数据一致性 /// </summary> /// <param name="e">传入的带有数据的事件参数</param> /// <returns></returns> private bool DeleteData(ListViewDeleteEventArgs e) { //实例化数据适配器 using (var da = new v_mantissa_lot_card_loseTableAdapter()) //取得数据库连接 using (var conn = da.Connection) { //打开数据库连接 conn.Open(); //事务 using (var tran = conn.BeginTransaction()) { //设置事务 da.Transaction = tran; try { //当前盘亏单号 string billNum = e.Keys[0].ToString(); //当前行号 byte rowId = Convert.ToByte(e.Keys[1]); //取得该条盘亏单清单记录 var tab = da.GetDataByBillNumAndRowId(billNum, rowId); //检测是否存在数据 if (tab.Rows.Count <= 0) { throw new Exception( string.Format( "当前单据:\n单号:{0}\n行号:{1}\n已经被其他用户删除!", billNum, rowId ) ); } //单据内容、尾数结存和已入库结存数据适配器 using (var daContent = new t_mantissa_lot_card_lose_contentTableAdapter()) using (var daBalance = new t_mantissa_lot_card_balanceTableAdapter()) { //设置连接对象 daContent.Connection = daBalance.Connection = tran.Connection; //设置事务 daContent.Transaction = daBalance.Transaction = tran; //遍历行执行删除各行的结存记录和写回已入库结存记录 foreach (DataSetMantissaLose.v_mantissa_lot_card_loseRow row in tab.Rows) { //执行插入到尾数结存清单 daBalance.InsertData( row.prev_proc_name, row.proc_name, row.lot_id, row.product_num, row.pnl_qty, row.pcs_qty, "尾数盘亏单写回" + (row.IsremarkNull() ? string.Empty : ":" + row.remark), Session["user_name"].ToString() ); } //根据盘亏单号和行号删除盘亏记录 daContent.Delete(billNum, rowId); //检测当前盘亏记录内容行数 int? iCount = daContent.CountByBillNum(billNum); if (iCount.HasValue && iCount.Value <= 0) { //表头适配器 using (var daHead = new t_mantissa_lot_card_lose_headTableAdapter()) { //删除表头 daHead.Delete(billNum); } } } //提交事务 tran.Commit(); //返回成功 return true; } catch (Exception ex) { //回滚事务 tran.Rollback(); //抛出错误 throw new Exception("删除尾数盘亏单记录出现错误:\n" + ex.Message); } } } }
protected void lvMaterialSupplier_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 || roleId < 0 || roleId > 4) { throw new Exception("您没有删除记录权限!"); } //允许执行删除 e.Cancel = false; }
/// <summary> /// 执行删除数据并处理相关数据一致性 /// </summary> /// <param name="e">传入的带有数据的事件参数</param> /// <returns></returns> private bool DeleteData(ListViewDeleteEventArgs e) { //当前用户输入的id号 int id = Convert.ToInt32(e.Keys[0]); //数据适配器 //当前数据库连接 //当前更新语句对象 using (var da = new ydERPTY.DAL.AD.DataSetADTableAdapters.t_employeesTableAdapter()) using (var cmd = da.Adapter.DeleteCommand) using (var conn = cmd.Connection) { //打开数据库连接 conn.Open(); //开启事务 using (var tran = conn.BeginTransaction()) { //试运行 try { //设置事务 da.Transaction = tran; //获取数据 using (var tab = da.GetDataById(id)) { //检查是否获取到行 if (tab.Rows.Count == 0) { //显示失败 throw new Exception("当前员工信息记录已经被其他用户删除!"); } else { //删除当前数据 da.Delete(id); } } //提交事务 tran.Commit(); //返回成功 return true; } catch (Exception ex) { //回滚事务 tran.Rollback(); //非数字返回失败 throw new Exception(ex.Message); } } } }
protected void lvEmployees_ItemDeleting(object sender, ListViewDeleteEventArgs e) { e.Cancel = true; //没有权限 if (!HasRight()) { throw new Exception("您没有删除记录权限!"); } //根据id执行删除数据 if (DeleteData(e)) { //刷新本页 lBtnRefresh_Click(null, null); } }
protected void LvHomePageItems_ItemDeleting(object sender, ListViewDeleteEventArgs e) { if (!commonBAL.isUserAuthorisedForPageFunc(LoggedInUser.UserId, thisPageName, "delete")) { LoggedIn master = (LoggedIn)this.Master; master.ShowMessage("You are not authorised to perform this function. Please contact system administrator.", false); e.Cancel = true; return; } }
protected void lvUseWater_ItemDeleting(object sender, ListViewDeleteEventArgs e) { //取消请求执行自定义的方法 e.Cancel = true; if (!HasRight()) { throw new Exception("您没有删除记录权限!"); } //当前id号 Int64 id = Convert.ToInt64(e.Keys[0]); //根据id执行删除数据 if (DeleteData(e)) { //刷新本页 lBtnRefresh_Click(null, null); } }
protected void lvLoseRecord_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 != "计划" && deptName != "样板") || roleId < 0 || roleId > 4) { throw new Exception("您没有删除记录权限!"); } //当前id号 Int64 id = Convert.ToInt64(e.Keys[0]); //根据id执行删除数据 if (DeleteData(e)) { //刷新本页 lBtnRefresh_Click(null, null); } }
protected void uoUserList_ItemDeleting(object sender, System.Web.UI.WebControls.ListViewDeleteEventArgs e) { }
protected void DetailListView_ItemDeleting(object sender, ListViewDeleteEventArgs e) { OpenDetialDialog(); }
protected void lvContract_ItemDeleting(object sender, ListViewDeleteEventArgs e) { //取消删除 e.Cancel = true; //检查是否有权限 if (!HasRight()) { throw new Exception("您没有删除记录权限!"); } //执行删除的同时也删除单据的内容 if (DeleteData(e)) { //重新绑定数据 lvContract.DataBind(); } }
/// <summary> /// 执行删除数据并处理相关数据一致性 /// </summary> /// <param name="e">传入的带有数据的事件参数</param> /// <returns></returns> private bool DeleteData(ListViewDeleteEventArgs e) { //当前用户输入的id号 Int64 id = Convert.ToInt64(e.Keys[0]); //数据适配器 //当前数据库连接 //当前更新语句对象 using (var da = new t_scrap_record_loseTableAdapter()) using (var cmd = da.Adapter.DeleteCommand) using (var conn = cmd.Connection) { //打开数据库连接 conn.Open(); //开启事务 using (var tran = conn.BeginTransaction()) { //试运行 try { //设置事务 da.Transaction = tran; //获取数据 using (var tab = da.GetDataById(id)) { //检查是否获取到行 if (tab.Rows.Count == 0) { //显示失败 throw new Exception("当前遗失报废记录已经被其他用户删除,请刷新后重试!"); } else { //首行 var row = (DataSetLoseRecord.t_scrap_record_loseRow)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 == 3) { //检测之前录入用户所在部门 using (var daUser = new DAL.Shared.DataSetUserDeptRoleTableAdapters.v_user_dept_roleTableAdapter()) { //设置事务 daUser.Transaction = tran; //检测该用户是否属于该部门 int i = Convert.ToInt32(daUser.CountByUserNameAndDeptName(userName, curUserDeptName)); if (i <= 0) { //显示失败 throw new Exception("当前遗失报废记录录入者并非是您当前部门用户,请找更高级权限的用户操作!"); } } } //样板经理级别只能修改样板lot卡,生产板经理只能修改生产板lot卡 else if (curUserRoleId == 2) { //之前录入的lot卡号 string lotId = row.lot_id; //检测是否样板 bool isSample = lotId.ToUpper().Contains("S"); //检查是否一致 if (!isSample && curUserDeptName == "样板") { //显示失败 throw new Exception("当前遗失报废记录并非是样板,请找更高级权限的用户操作!"); } else if (isSample && curUserDeptName == "计划") { //显示失败 throw new Exception("当前遗失报废记录并非是生产板,请找更高级权限的用户操作!"); } } //部门名称 string deptName = row.dept_name; //目标数据库表名 string toTabName = "[t_dept_lot_card_balance]"; //添加到部门结存lot卡或者遗失报废记录 if (!ydOperateBalanceLotCrad.InsertOneRecordToLotCardBalance( tran, ydOperateBalanceLotCrad.GetTabNameByDeptName("MRB2"), deptName, toTabName, id )) { return false; } //从遗失报废记录删除数据 if (!ydOperateBalanceLotCrad.DeleteOneRecordFromProductOrScrapRecord(cmd, id)) { return false; } } } //提交事务 tran.Commit(); //返回成功 return true; } catch (Exception ex) { //回滚事务 tran.Rollback(); //非数字返回失败 throw new Exception(ex.Message); } } } }
protected void lvSampleOrderMgr_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 || (roleId != 0 && roleId != 1 && roleId != 6)) { throw new Exception("您没有删除记录权限!"); } //允许请求 e.Cancel = false; }
protected override void OnItemDeleting (ListViewDeleteEventArgs e) { RecordEvent ("Enter"); base.OnItemDeleting (e); RecordEvent ("Leave"); }
/// <summary> /// 删除指定合同单号和行序号的一行数据 /// </summary> /// <param name="e">事件参数</param> /// <returns></returns> private bool DeleteData(ListViewDeleteEventArgs e) { //数据适配器 using (var da = new v_market_contractTableAdapter()) using (var daContent = new t_market_contract_contentTableAdapter()) using (var daHead = new t_market_contract_headTableAdapter()) using (var daAppendix = new t_market_contract_appendixTableAdapter()) { //数据库连接对象 var conn = da.Connection; daContent.Connection = conn; daHead.Connection = conn; daAppendix.Connection = conn; //打开数据库连接 conn.Open(); //开启事务 using (var tran = conn.BeginTransaction(System.Data.IsolationLevel.RepeatableRead)) { try { //绑定事务 da.Transaction = tran; daContent.Transaction = tran; daHead.Transaction = tran; daAppendix.Transaction = tran; //合同单号 string billNum = e.Keys[0].ToString(); //行号 byte rowId = byte.Parse(e.Keys[1].ToString()); //取指定单号和行序号的数据 var tab = da.GetDataByBillNumAndRowId(billNum, rowId); if (tab.Rows.Count == 0) { throw new Exception(string.Format("当前单据:\n单号:{0}\n行号:{1}\n已经被其他用户删除!", billNum, rowId)); } //删除数据行 if (daContent.Delete(billNum, rowId) <= 0) { throw new Exception("根据单号和行号删除合同内容失败!"); } //删除数据表头 if (daHead.Delete(billNum) <= 0) { throw new Exception("根据单号和行号删除合同表头记录失败!"); } //删除合同附件 if (daAppendix.Delete(billNum, rowId) <= 0) { throw new Exception("根据单号和行号删除合同附件记录失败!"); } //提交事务 tran.Commit(); } catch (Exception ex) { //事务回滚 tran.Rollback(); throw ex; } finally { conn.Close(); } } } return true; }
protected void lvEngLotCard_ItemDeleting(object sender, ListViewDeleteEventArgs e) { //取消请求执行自定义的方法 e.Cancel = true; if (!HasRight()) { throw new Exception("您没有删除记录权限!"); } //直接删除 e.Cancel = false; }
protected void lvwSitemapData_ItemDeleting(object sender, ListViewDeleteEventArgs e) { }
/// <summary> /// 执行删除数据并处理相关数据一致性 /// </summary> /// <param name="e">传入的带有数据的事件参数</param> /// <returns></returns> private bool DeleteData(ListViewDeleteEventArgs e) { //实例化数据适配器 using (var da = new v_complete_lot_card_outTableAdapter()) //取得数据库连接 using (var conn = da.Connection) { //打开数据库连接 conn.Open(); //事务 using (var tran = conn.BeginTransaction()) { //设置事务 da.Transaction = tran; try { //当前出库单号 string billNum = e.Keys[0].ToString(); //当前行号 byte rowId = Convert.ToByte(e.Keys[1]); //取得该条出库单清单记录 var tab = da.GetDataByBillNumAndRowId(billNum, rowId); //检测是否存在数据 if (tab.Rows.Count <= 0) { throw new Exception( string.Format( "当前单据:\n单号:{0}\n行号:{1}\n已经被其他用户删除!", billNum, rowId ) ); } //单据内容、成品结存和已入库结存数据适配器 using (var daContent = new t_complete_lot_card_out_contentTableAdapter()) using (var daBalance = new t_complete_lot_card_balanceTableAdapter()) { //设置连接对象 daContent.Connection = daBalance.Connection = tran.Connection; //设置事务 daContent.Transaction = daBalance.Transaction = tran; //遍历行执行删除各行的结存记录和写回已入库结存记录 foreach (DataSetCompleteOut.v_complete_lot_card_outRow row in tab.Rows) { //检测是否超过原下部门余数 if (ydOperateBalanceLotCrad.IsOutstripDeptBalance( tran, row.dept_name, row.next_dept_name, row.lot_id, row.pnl_qty, row.pcs_qty, true )) { return false; } //修改原下部门lot卡余数 if (!ydOperateBalanceLotCrad.UpdateBalanceAfterInsert( tran, row.dept_name, row.next_dept_name, row.lot_id, row.pnl_qty, row.pcs_qty, true )) { return false; } //执行插入到成品结存清单 daBalance.InsertData( row.prev_dept_name, row.dept_name, row.lot_id, row.product_num, row.pnl_qty, row.pcs_qty, "出库单写回" + (row.IsremarkNull() ? string.Empty : ":" + row.remark), Session["user_name"].ToString() ); } //根据出库单号和行号删除出库记录 daContent.Delete(billNum, rowId); //检测当前出库记录内容行数 int? iCount = (int?)daContent.CountByBillNum(billNum); if (iCount.HasValue && iCount.Value <= 0) { //表头适配器 using (var daHead = new t_complete_lot_card_out_headTableAdapter()) { //删除表头 daHead.Delete(billNum); } } } //提交事务 tran.Commit(); //返回成功 return true; } catch (Exception ex) { //回滚事务 tran.Rollback(); //抛出错误 throw new Exception("删除出库单记录出现错误:\n" + ex.Message); } } } }