/// <summary> /// 删除其他出库 /// </summary> /// <param name="transferOuts"></param> /// <returns></returns> public ResultData <string> RemoveTransferOuts(List <WTransferOut> transferOuts) { DatabaseContext db = toRepository.DbCondext; ResultData <string> rData = new ResultData <string>(); try { db.BeginTransaction(); foreach (WTransferOut u in transferOuts) { int result = RemoveTransferOut(u); if (result < 1) { rData.status = -1; rData.message = "只有新建状态的单据才能删除."; db.AbortTransaction(); break; } } db.CompleteTransaction(); } catch (Exception ex) { db.AbortTransaction(); throw ex; } return(rData); }
/// <summary> /// 添加资源 /// </summary> /// <param name="resource"></param> /// <returns></returns> public object AddResource(SResource resource) { DatabaseContext dbContext = rRepository.DbCondext; try { dbContext.BeginTransaction(); //添加资源 添加按钮 object id = rRepository.Insert(resource); foreach (SOperator o in resource.Operators) { o.ResourceID = Convert.ToInt32(id); o.OperatorDesc = o.OperatorName; oRepository.Insert(o); } dbContext.CompleteTransaction(); return(id); } catch (Exception ex) { dbContext.AbortTransaction(); throw ex; } }
public void SyncSSEDayQuotationFromWangYI() { DatabaseContextFactory factory = new DatabaseContextFactory(); DatabaseContext dbContext = factory.CreateDatabaseContext(); SecurityDayQuotationRepository securityDayQuotationRepository = SecurityDayQuotationRepositoryFactory.GetInstance().Create(dbContext); SecurityTaskRepository securityTaskRepository = SecurityTaskRepositoryFactory.GetInstance().Create(dbContext); SecurityDayQuotationFromWangYIRepository securityDayQuotationFromWangYIRepository = new SecurityDayQuotationFromWangYIRepository(); SecurityTaskEngine securityTaskEngine = new SecurityTaskEngine(); SecurityTaskDomain securityTask = securityTaskEngine.Pop(); List <SecurityDayQuotationDomain> lst = new List <SecurityDayQuotationDomain>(); SecurityTaskDomain nextSecurityTask; while (!securityTask.IsEmpty()) { CancelTokenSingleton.GetInstance().ThrowIfCancellationRequested(); lst = securityDayQuotationFromWangYIRepository.GetSSEDayQuotationFromWangYi(securityTask.SecurityCode, securityTask.BeginDate, securityTask.EndDate); dbContext.BeginTransaction(); foreach (SecurityDayQuotationDomain securityDayQuotation in lst) { securityDayQuotationRepository.InsertIntoDB(securityDayQuotation); } securityTask.IsFinished = true; securityTaskRepository.UpdateTaskStatus(securityTask); nextSecurityTask = securityTask.BuildNextTask(); securityTaskRepository.InsertIntoDB(nextSecurityTask); dbContext.CommitTransaction(); securityTask = securityTaskEngine.Pop(); } }
private static void CrudOperationTest() { var db = CreateDatabase(); var deleted = db.ExecuteCommand("Delete AllDataTypeTable"); OutputTestResult("Query: Delete AllDataTypeTable", true); using (DatabaseContext dc = new DatabaseContext(CreateDatabase())) { dc.BeginTransaction(IsolationLevel.ReadCommitted); for (int i = 0; i < 3; i++) { var inserted = InsertRecord(i); OutputTestResult("AllDataTypeTableInsert with transaction", inserted == 1); } dc.CommitTransaction(); } var t = new AllDataTypeTable(); var r = t.SelectByPrimaryKey(1); r.PrimaryKeyColumn = 11; var x1 = t.Insert(r); OutputTestResult("AllDataTypeTable.Insert", x1 == 1); r = t.SelectByPrimaryKey(11); r.PrimaryKeyColumn = 12; var x2 = t.Update(r); OutputTestResult("AllDataTypeTable.Update", x2 == 1); var x3 = t.Delete(12, r.TimestampColumn); OutputTestResult("AllDataTypeTable.Delete", x3 == 1); }
/// <summary> /// 添加调拨入库单 /// </summary> /// <param name="inNotice"></param> /// <returns></returns> public ResultData <string> AddTransferInNotice(WTransferInNotice inNotice) { ResultData <string> rData = new ResultData <string>(); DatabaseContext dbContext = tinRepository.DbCondext; try { dbContext.BeginTransaction(); inNotice.CreateDate = DateTime.Now; inNotice.NoticeStatus = NoticeStatusEnum.New; inNotice.InNoticeCode = nuRepository.GetNextNumber("DBRT"); tinRepository.Insert(inNotice); foreach (var line in inNotice.Lines) { line.ParentID = inNotice.ID; line.CreateBy = inNotice.CreateBy; line.CreateDate = DateTime.Now; tinllRepository.Insert(line); } dbContext.CompleteTransaction(); } catch (Exception ex) { dbContext.AbortTransaction(); throw ex; } return(rData); }
/// <summary> /// 更新其他入库 /// </summary> /// <param name="otherIn"></param> /// <returns></returns> public ResultData <string> UpdateOtherIn(WOtherIn otherIn) { ResultData <string> rData = CheckValid(otherIn); if (rData.status != 0) { return(rData); } if (otherIn.StockStatus != StockStatusEnum.New) { rData.status = -1; rData.message = "单据已经审核,不能编辑."; return(rData); } DatabaseContext db = oiRepository.DbCondext; try { db.BeginTransaction(); otherIn.UpdateDate = DateTime.Now; oiRepository.Update(otherIn); foreach (var line in otherIn.Lines) { switch (line.CURD) { case CurdEnum.Add: line.ParentID = otherIn.ID; line.CreateBy = otherIn.CreateBy; line.CreateDate = DateTime.Now; line.Batch = string.IsNullOrEmpty(line.Batch) ? "" : line.Batch; oilRepository.Insert(line); break; case CurdEnum.Delete: oilRepository.Delete(line); break; case CurdEnum.Update: line.UpdateBy = otherIn.UpdateBy; line.UpdateDate = DateTime.Now; line.Batch = string.IsNullOrEmpty(line.Batch) ? "" : line.Batch; oilRepository.Update(line); break; } } db.CompleteTransaction(); } catch (Exception ex) { db.AbortTransaction(); throw ex; } return(rData); }
/// <summary> /// 审核 /// </summary> /// <param name="transferOut"></param> /// <returns></returns> public ResultData <string> ApproveTransferOut(WTransferOut transferOut) { ResultData <string> rData = new ResultData <string>(); if (transferOut.Lines.Count < 1) { transferOut.Lines = tolRepository.GetLinesByParentId(transferOut.ID); } DatabaseContext dbContext = toRepository.DbCondext; try { dbContext.BeginTransaction(); //出库记录 List <WStockOut> stockOuts = new List <WStockOut>(transferOut.Lines.Count); //审核 int result = toRepository.ApproveTransferOut(transferOut); if (result < 1) { rData.status = -1; rData.message = "单据已经审核或删除."; dbContext.AbortTransaction(); return(rData); } foreach (var line in transferOut.Lines) { stockOuts.Add(CloneTransferOut(line, transferOut)); } //更新库存 WStockService sService = new WStockService(dbContext); rData = sService.DeleteStocks(stockOuts); if (rData.status != 0) { dbContext.AbortTransaction(); } else { dbContext.CompleteTransaction(); } } catch (Exception ex) { dbContext.AbortTransaction(); throw ex; } if (rData.status == 0) { //调拨入库通知单 WTransferInNotice inNotice = CloneInNotice(transferOut); rData = new WTransferInNoticeService().AddTransferInNotice(inNotice); } return(rData); }
/// <summary> /// 审核 /// </summary> /// <param name="purReturn"></param> /// <returns></returns> public ResultData <string> ApprovePurchaseReturn(WPurchaseReturn purReturn) { if (purReturn.Lines.Count < 1) { purReturn.Lines = prlRepository.GetLinesByParentId(purReturn.ID); } ResultData <string> rData = CheckValid(purReturn); if (rData.status != 0) { return(rData); } DatabaseContext dbContext = prRepository.DbCondext; try { dbContext.BeginTransaction(); //出库记录 List <WStockOut> stockOuts = new List <WStockOut>(purReturn.Lines.Count); //添加其他出库 int result = prRepository.ApprovePurchaseReturn(purReturn); if (result < 1) { rData.status = -1; rData.message = "单据已经审核或删除."; dbContext.AbortTransaction(); return(rData); } foreach (var line in purReturn.Lines) { stockOuts.Add(ClonePurchaseReturn(line, purReturn)); } //更新库存 WStockService sService = new WStockService(dbContext); rData = sService.DeleteStocks(stockOuts); if (rData.status != 0) { dbContext.AbortTransaction(); } else { dbContext.CompleteTransaction(); } } catch (Exception ex) { dbContext.AbortTransaction(); throw ex; } return(rData); }
public void Should_be_able_to_begin_and_rollback_a_transaction() { using ( var connection = new DatabaseContext(new DbConnectionFactory().CreateConnection(DefaultProviderName, DefaultConnectionString), new Mock <IDbCommandFactory>().Object)) { connection.BeginTransaction(); } }
/// <summary> /// 更新 /// </summary> /// <param name="purchaseNotice"></param> /// <returns></returns> public ResultData <string> UpdatePurchaseNotice(WPurchaseNotice purchaseNotice) { ResultData <string> rData = CheckValid(purchaseNotice); if (rData.status != 0) { return(rData); } if (purchaseNotice.NoticeStatus != NoticeStatusEnum.New) { rData.status = -1; rData.message = "单据已经审核,不能编辑."; return(rData); } DatabaseContext db = pnRepository.DbCondext; try { db.BeginTransaction(); pnRepository.Update(purchaseNotice); foreach (var line in purchaseNotice.Lines) { switch (line.CURD) { case CurdEnum.Add: line.ParentID = purchaseNotice.ID; line.CreateBy = purchaseNotice.CreateBy; line.CreateDate = DateTime.Now; pnlRepository.Insert(line); break; case CurdEnum.Delete: pnlRepository.Delete(line); break; case CurdEnum.Update: line.UpdateBy = purchaseNotice.UpdateBy; line.UpdateDate = DateTime.Now; pnlRepository.Update(line); break; } } db.CompleteTransaction(); } catch (Exception ex) { db.AbortTransaction(); throw ex; } return(rData); }
/// <summary> /// 审核 /// </summary> /// <param name="otherOut"></param> /// <returns></returns> public ResultData <string> ApproveOtherOut(WOtherOut otherOut) { ResultData <string> rData = new ResultData <string>(); if (otherOut.Lines.Count < 1) { otherOut.Lines = oolRepository.GetLinesByParentId(otherOut.ID); } DatabaseContext dbContext = ooRepository.DbCondext; try { dbContext.BeginTransaction(); //出库记录 List <WStockOut> stockOuts = new List <WStockOut>(otherOut.Lines.Count); //添加其他出库 int result = ooRepository.ApproveOtherOut(otherOut); if (result < 1) { rData.status = -1; rData.message = "单据已经审核或删除."; dbContext.AbortTransaction(); return(rData); } foreach (var line in otherOut.Lines) { stockOuts.Add(CloneOtherOut(line, otherOut)); } //更新库存 WStockService sService = new WStockService(dbContext); rData = sService.DeleteStocks(stockOuts); if (rData.status != 0) { dbContext.AbortTransaction(); } else { dbContext.CompleteTransaction(); } } catch (Exception ex) { dbContext.AbortTransaction(); throw ex; } return(rData); }
/// <summary> /// 审核 /// </summary> /// <param name="sellReturn"></param> /// <returns></returns> public ResultData <string> ApproveSellReturn(WSellReturn sellReturn) { ResultData <string> rData = new ResultData <string>(); if (sellReturn.Lines.Count < 1) { sellReturn.Lines = srlRepository.GetLinesByParentId(sellReturn.ID); } DatabaseContext dbContext = srRepository.DbCondext; try { dbContext.BeginTransaction(); //入库记录 List <WStockIn> stockIns = new List <WStockIn>(sellReturn.Lines.Count); //添加其他入库 int result = srRepository.ApproveSellReturn(sellReturn); if (result < 1) { rData.status = -1; rData.message = "单据已经审核或删除."; dbContext.AbortTransaction(); return(rData); } foreach (var line in sellReturn.Lines) { stockIns.Add(CloneSellReturn(line, sellReturn)); } //更新库存 WStockService sService = new WStockService(dbContext); rData = sService.AddStocks(stockIns); if (rData.status != 0) { dbContext.AbortTransaction(); } else { dbContext.CompleteTransaction(); } } catch (Exception ex) { dbContext.AbortTransaction(); throw ex; } return(rData); }
public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) { try { databaseContext.BeginTransaction(); await next(); await databaseContext.CommitTransactionAsync(); } catch (Exception) { databaseContext.RollbackTransaction(); } }
public void BeginTransaction_ExplicitIsolationLevel_IsolationLevelMatchesExpected() { var definitionProvider = new DataAnnotationsDefinitionProvider(); var statementCompiler = new TransactSqlAdapter(definitionProvider); using (var connection = new SqlConnection(ConfigurationRoot.GetConnectionString("MasterDatabase"))) using (var database = new DatabaseContext(connection, statementCompiler)) { database.OpenSharedConnection(); using (var transaction = database.BeginTransaction(IsolationLevel.RepeatableRead)) { Assert.IsFalse(transaction.IsDisposed); Assert.AreEqual(IsolationLevel.RepeatableRead, transaction.IsolationLevel); } } }
public void AssociateTransaction_SqlCommand_CommandTransactionIsSameAsExpected() { var definitionProvider = new DataAnnotationsDefinitionProvider(); var statementCompiler = new TransactSqlAdapter(definitionProvider); using (var connection = new SqlConnection(ConfigurationRoot.GetConnectionString("MasterDatabase"))) using (var database = new DatabaseContext(connection, statementCompiler)) { database.OpenSharedConnection(); var command = new SqlCommand("SELECT * FROM sys.tables WHERE [type] = @0"); using (var transaction = database.BeginTransaction(IsolationLevel.RepeatableRead)) { database.AssociateTransaction(command); Assert.IsNotNull(command.Transaction); } } }
/// <summary> /// 删除列 /// </summary> /// <param name="scolumns"></param> /// <returns></returns> public int RemoveColumns(List <SColumn> scolumns) { DatabaseContext db = cRepository.DbCondext; try { db.BeginTransaction(); foreach (SColumn u in scolumns) { RemoveColumn(u); } db.CompleteTransaction(); } catch (Exception ex) { db.AbortTransaction(); throw ex; } return(scolumns.Count); }
/// <summary> /// 删除物料 /// </summary> /// <param name="Material"></param> /// <returns></returns> public int RemoveMaterials(List <BMaterial> Material) { DatabaseContext db = mRepository.DbCondext; try { db.BeginTransaction(); foreach (BMaterial bp in Material) { RemoveMaterial(bp); } db.CompleteTransaction(); } catch (Exception ex) { db.AbortTransaction(); throw ex; } return(Material.Count); }
/// <summary> /// 删除业务伙伴 /// </summary> /// <param name="BusinessPartner"></param> /// <returns></returns> public int RemoveBusinessPartners(List <BBusinessPartner> BusinessPartner) { DatabaseContext db = bpRepository.DbCondext; try { db.BeginTransaction(); foreach (BBusinessPartner bp in BusinessPartner) { RemoveBusinessPartner(bp); } db.CompleteTransaction(); } catch (Exception ex) { db.AbortTransaction(); throw ex; } return(BusinessPartner.Count); }
/// <summary> /// 插入新其他入库 /// </summary> /// <param name="otherIn"></param> /// <returns></returns> public ResultData <string> AddOtherIn(WOtherIn otherIn) { ResultData <string> rData = CheckValid(otherIn); if (rData.status != 0) { return(rData); } DatabaseContext dbContext = oiRepository.DbCondext; try { dbContext.BeginTransaction(); //入库记录 List <WStockIn> stockIns = new List <WStockIn>(otherIn.Lines.Count); //添加其他入库 otherIn.CreateDate = DateTime.Now; otherIn.StockStatus = StockStatusEnum.New; otherIn.OtherInCode = nuRepository.GetNextNumber("QTRK"); oiRepository.Insert(otherIn); foreach (var line in otherIn.Lines) { line.ParentID = otherIn.ID; line.CreateBy = otherIn.CreateBy; line.CreateDate = DateTime.Now; line.Batch = string.IsNullOrEmpty(line.Batch) ? "" : line.Batch; oilRepository.Insert(line); } dbContext.CompleteTransaction(); } catch (Exception ex) { dbContext.AbortTransaction(); throw ex; } return(rData); }
/// <summary> /// 根据ID集合删除资源 /// </summary> /// <param name="resourceIDs"></param> /// <returns></returns> public bool RemoveResource(int resId) { bool result = false; DatabaseContext dbContext = rRepository.DbCondext; try { dbContext.BeginTransaction(); rRepository.RemoveOperatorByResourceID(resId); result = rRepository.Delete(resId); dbContext.CompleteTransaction(); } catch (Exception ex) { dbContext.AbortTransaction(); throw ex; } return(result); }
/// <summary> /// 插入新其他出库 /// </summary> /// <param name="transferOut"></param> /// <returns></returns> public ResultData <string> AddTransferOut(WTransferOut transferOut) { ResultData <string> rData = CheckValid(transferOut); if (rData.status != 0) { return(rData); } DatabaseContext dbContext = toRepository.DbCondext; try { dbContext.BeginTransaction(); //添加其他出库 transferOut.CreateDate = DateTime.Now; transferOut.StockStatus = StockStatusEnum.New; transferOut.StockOutType = StockOutEnum.TransferOut; transferOut.TransferOutCode = nuRepository.GetNextNumber("DBCK"); toRepository.Insert(transferOut); foreach (var line in transferOut.Lines) { line.ParentID = transferOut.ID; line.CreateBy = transferOut.CreateBy; line.CreateDate = DateTime.Now; line.Batch = string.IsNullOrEmpty(line.Batch) ? "" : line.Batch; tolRepository.Insert(line); } dbContext.CompleteTransaction(); } catch (Exception ex) { dbContext.AbortTransaction(); throw ex; } return(rData); }
public void SyncSecuritiesFromSSE() { DatabaseContextFactory factory = new DatabaseContextFactory(); DatabaseContext dbContext = factory.CreateDatabaseContext(); SecurityRepository securityRepo = SecurityRepositoryFactory.GetInstance().Create(dbContext); SecurityTaskRepository securityTaskRepository = SecurityTaskRepositoryFactory.GetInstance().Create(dbContext); SecurityFromSSERepository securityFromSSERepository = new SecurityFromSSERepository(); #region 新增证券 List <SecurityDomain> securitiesFromSSE = securityFromSSERepository.GetSecuritiesFromSSE(); List <SecurityDomain> securitiesFromDB = securityRepo.GetList(); List <SecurityDomain> securities = new List <SecurityDomain>(); Dictionary <string, string> dicStockDB = new Dictionary <string, string>(); foreach (SecurityDomain security in securitiesFromDB) { dicStockDB.Add(security.SecurityCode, ""); } for (int i = 0; i < securitiesFromSSE.Count; i++) { if (!dicStockDB.ContainsKey(securitiesFromSSE[i].SecurityCode)) { securities.Add(securitiesFromSSE[i]); } } #endregion #region 保持证券,证券任务到数据库 dbContext.BeginTransaction(); SecurityTaskDomain securityTask; foreach (SecurityDomain security in securities) { securityRepo.InsertIntoDB(security); securityTask = security.BuildStartTask(); securityTaskRepository.InsertIntoDB(securityTask); } dbContext.CommitTransaction(); #endregion }
/// <summary> /// 更新 /// </summary> /// <param name="resource"></param> public void UpdateResource(SResource resource) { DatabaseContext dbContext = rRepository.DbCondext; try { dbContext.BeginTransaction(); rRepository.Update(resource); foreach (SOperator o in resource.Operators) { switch (o.CURD) { case "add": o.ResourceID = resource.ID; o.OperatorDesc = o.OperatorName; oRepository.Insert(o); break; case "delete": oRepository.Delete(o); break; default: o.OperatorDesc = o.OperatorName; oRepository.Update(o); break; } } dbContext.CompleteTransaction(); } catch (Exception ex) { dbContext.AbortTransaction(); throw ex; } }
/// <summary> /// 插入新采购入库 /// </summary> /// <param name="sellReturn"></param> /// <returns></returns> public ResultData <string> AddSellReturn(WSellReturn sellReturn) { ResultData <string> rData = CheckValid(sellReturn); if (rData.status != 0) { return(rData); } DatabaseContext dbContext = srRepository.DbCondext; try { dbContext.BeginTransaction(); sellReturn.CreateDate = DateTime.Now; sellReturn.StockStatus = StockStatusEnum.New; sellReturn.SellReturnCode = nuRepository.GetNextNumber("XSTK"); srRepository.Insert(sellReturn); foreach (var line in sellReturn.Lines) { line.ParentID = sellReturn.ID; line.CreateBy = sellReturn.CreateBy; line.CreateDate = DateTime.Now; line.Batch = string.IsNullOrEmpty(line.Batch) ? "" : line.Batch; srlRepository.Insert(line); } dbContext.CompleteTransaction(); } catch (Exception ex) { dbContext.AbortTransaction(); throw ex; } return(rData); }
/// <summary> /// 插入新采购入库 /// </summary> /// <param name="purchase"></param> /// <returns></returns> public ResultData <string> AddPurchase(WPurchase purchase) { ResultData <string> rData = CheckValid(purchase); if (rData.status != 0) { return(rData); } DatabaseContext dbContext = pRepository.DbCondext; try { dbContext.BeginTransaction(); purchase.CreateDate = DateTime.Now; purchase.StockStatus = StockStatusEnum.New; purchase.PurchaseCode = nuRepository.GetNextNumber("CGRK"); pRepository.Insert(purchase); foreach (var line in purchase.Lines) { line.ParentID = purchase.ID; line.CreateBy = purchase.CreateBy; line.CreateDate = DateTime.Now; line.Batch = string.IsNullOrEmpty(line.Batch) ? "" : line.Batch; plRepository.Insert(line); } dbContext.CompleteTransaction(); } catch (Exception ex) { dbContext.AbortTransaction(); throw ex; } return(rData); }
/// <summary> /// 删除 /// </summary> /// <param name="sell"></param> /// <returns></returns> public int RemoveSell(WSell sell) { //查询明细 if (sell.Lines.Count < 1) { sell.Lines = slRepository.GetLinesByParentId(sell.ID); } DatabaseContext db = snRepository.DbCondext; try { db.BeginTransaction(); //删除其他出库 int result = sRepository.RemoveSellByStatus(sell.ID, StockStatusEnum.New); if (result > 0) { foreach (WSellLine line in sell.Lines) { if (line.SourceLineID > 0) { //删除下推 snlRepository.RemoveDownCount(line.OutCount, line.SourceLineID); } } slRepository.RemoveLinesByParentId(sell.ID); } db.CompleteTransaction(); return(result); } catch (Exception ex) { db.AbortTransaction(); throw ex; } }
/// <summary> /// 编辑存储单元 /// </summary> /// <param name="location"></param> /// <returns></returns> public bool UpdateLocation(BLocation location) { var oldEntity = lRepository.GetLocationById(location.ID); int oldOrgId = oldEntity.OrgID; DatabaseContext db = lRepository.DbCondext; try { db.BeginTransaction(); bool result = lRepository.Update(location); //如果修改了组织,下属的货区货位的组织也要跟着变 if (oldOrgId != location.OrgID) { db.Connection.Execute(string.Format("Update BLocation set OrgId={0} where ID<>{1} and TopLocationID={1}", location.OrgID, location.ID)); } db.CompleteTransaction(); return(result); } catch (Exception ex) { db.AbortTransaction(); throw ex; } }
/// <summary> /// 删除 /// </summary> /// <param name="purchase"></param> /// <returns></returns> public int RemovePurchase(WPurchase purchase) { //查询明细 if (purchase.Lines.Count < 1) { purchase.Lines = plRepository.GetLinesByParentId(purchase.ID); } DatabaseContext db = pRepository.DbCondext; try { db.BeginTransaction(); //删除其他出库 int result = pRepository.RemovePurchaseByStatus(purchase.ID, StockStatusEnum.New); if (result > 0) { foreach (WPurchaseLine line in purchase.Lines) { if (line.SourceLineID > 0) { //删除下推 pnlRepository.RemoveDownCount(line.InCount, line.SourceLineID); } } plRepository.RemoveLinesByParentId(purchase.ID); } db.CompleteTransaction(); return(result); } catch (Exception ex) { db.AbortTransaction(); throw ex; } }
/// <summary> /// 添加采购通知单 /// </summary> /// <param name="inNotice"></param> /// <returns></returns> public ResultData <string> AddPurchaseNotice(WPurchaseNotice inNotice) { ResultData <string> rData = CheckValid(inNotice); if (rData.status != 0) { return(rData); } DatabaseContext dbContext = pnRepository.DbCondext; try { dbContext.BeginTransaction(); inNotice.CreateDate = DateTime.Now; inNotice.NoticeStatus = NoticeStatusEnum.New; inNotice.InNoticeCode = nuRepository.GetNextNumber("CGRT"); pnRepository.Insert(inNotice); foreach (var line in inNotice.Lines) { line.ParentID = inNotice.ID; line.CreateBy = inNotice.CreateBy; line.CreateDate = DateTime.Now; pnlRepository.Insert(line); } dbContext.CompleteTransaction(); } catch (Exception ex) { dbContext.AbortTransaction(); throw ex; } return(rData); }
/// <summary> /// 删除用户 /// </summary> /// <param name="users"></param> /// <returns></returns> public int RemoveUsers(List <SUser> users) { DatabaseContext db = uRepository.DbCondext; try { db.BeginTransaction(); foreach (SUser u in users) { //系统管理员,不能删除 if (!IsSuperUser(u)) { RemoveUser(u); } } db.CompleteTransaction(); } catch (Exception ex) { db.AbortTransaction(); throw ex; } return(users.Count); }