/// <summary> /// 批量更新 /// </summary> /// <param name="p"></param> /// <param name="db"></param> private void Update(Student2 p, SqlSugarClient db) { db.UpdateRange(StudentListUpd); var list = db.Queryable<Student>().ToList(); db.SqlBulkReplace(StudentListUpd2); list = db.Queryable<Student>().ToList(); }
/// <summary> /// 批量更新 /// </summary> /// <param name="p"></param> /// <param name="db"></param> private void Update(Student2 p, SqlSugarClient db) { db.UpdateRange(StudentListUpd); var list = db.Queryable <Student>().ToList(); db.SqlBulkReplace(StudentListUpd2); list = db.Queryable <Student>().ToList(); }
/// <summary> /// /// </summary> /// <param name="tableIds"></param> /// <param name="status"></param> /// <returns></returns> public bool UpdateTablesStatus(List <int> tableIds, CythStatus status) { using (var db = new SqlSugarClient(Connection)) { try { db.BeginTran(); var tableList = db.Queryable <R_Table>().Where(x => tableIds.Contains(x.Id)).ToList(); if (tableList == null || tableList.Count == 0) { throw new Exception("指定餐台不存在,不能执行空置清理操作!"); } StringBuilder errMsg = new StringBuilder(); foreach (var item in tableList) { if (item.CythStatus != CythStatus.清理) { errMsg.AppendLine(string.Format( "当前餐台({0})状态为:(1),不能执行空置清理操作!", item.Name, Enum.GetName(typeof(CythStatus), item.CythStatus))); } item.CythStatus = status; } if (errMsg != null && errMsg.Length > 0) { throw new Exception(errMsg.ToString()); } var result = db.UpdateRange(tableList); db.CommitTran(); return(result.Any(x => !x) ? false : true); } catch (Exception e) { db.RollbackTran(); throw e; } } }
public List <bool> UpdateRange <T>(List <T> rowObjList) where T : class { return(_db.UpdateRange(rowObjList)); }
/// <summary> /// 加台操作 /// </summary> /// <param name="req"></param> /// <returns></returns> public List <int> AddTableHandle(AddTableSubmitDTO req) { List <int> res = new List <int>(); using (var db = new SqlSugarClient(Connection)) { try { db.BeginTran(); List <R_OrderTable> inserOTList = new List <R_OrderTable>(); var dateItem = _extendItemRepository.GetModelList(req.CompanyId, 10003).FirstOrDefault(); if (dateItem == null) { throw new Exception("餐饮账务日期尚未初始化,请联系管理员"); } if (db.Queryable <R_OrderTable>().Any(p => (p.IsOpen == true && p.IsCheckOut == false) && req.NewTableIds.Contains(p.R_Table_Id))) { throw new Exception("选择的台号已经被别的订单使用,请重新选择"); } var orderModel = db.Queryable <R_Order>().JoinTable <R_OrderTable>((s1, s2) => s1.Id == s2.R_Order_Id).Where <R_OrderTable>((s1, s2) => s2.Id == req.OrderTableId) .Select <R_Order>("s1.*").First(); var tables = db.Queryable <R_Table>().Where(p => req.NewTableIds.Contains(p.Id)) .Select(p => p.Name).ToList(); db.Update <R_Table>(new { CythStatus = CythStatus.在用 }, p => req.NewTableIds.Contains(p.Id)); foreach (var item in req.NewTableIds) { inserOTList.Add(new R_OrderTable { R_Order_Id = orderModel.Id, R_Table_Id = item, CreateDate = DateTime.Now, PersonNum = 0, IsCheckOut = false, IsOpen = true, IsLock = false, BillDate = Convert.ToDateTime(dateItem.ItemValue), R_Market_Id = req.CurrentMarketId }); } var orderTableIds = db.InsertRange <R_OrderTable>(inserOTList).ToList(); var orderTables = db.Queryable <R_OrderTable>() .Where(p => p.R_Order_Id == orderModel.Id).ToList(); int personNumAvg = orderTables.Count() > 1 ? orderModel.PersonNum / orderTables.Count() : orderModel.PersonNum; //台号人均 int personNumRemainder = orderTables.Count() > 1 ? orderModel.PersonNum % orderTables.Count() : 0; //台号余人 int eachRemainder = 0; if (orderTables != null && orderTables.Count() > 0) { foreach (var item in orderTableIds) { res.Add(Convert.ToInt32(item)); } foreach (var orderTable in orderTables) { eachRemainder++; orderTable.PersonNum = personNumAvg + (personNumRemainder - eachRemainder >= 0 ? 1 : 0); } db.UpdateRange <R_OrderTable>(orderTables);//更新订单台号人数 } R_OrderRecord record = new R_OrderRecord { CreateDate = DateTime.Now, R_Order_Id = orderModel.Id, CreateUser = req.CreateUser, CyddCzjlStatus = CyddStatus.开台, CyddCzjlUserType = CyddCzjlUserType.员工, Remark = string.Format( "开台操作-订单({0})开台({1})", orderModel.OrderNo, tables.Join(",")), R_OrderTable_Id = orderTableIds.Count == 1 ? Convert.ToInt32(orderTableIds[0]) : 0 }; db.Insert <R_OrderRecord>(record); db.CommitTran(); } catch (Exception ex) { db.RollbackTran(); throw ex; } } return(res); }