public int addTran(VAN_OA.Model.JXC.CAI_POOrder model, VAN_OA.Model.EFrom.tb_EForm eform, List <CAI_POOrders> orders, List <CAI_POCai> caiOrders, out int MainId, bool isCopy = false) { CG_POCaiService poCaiSer = new CG_POCaiService(); var caiList = poCaiSer.GetCaiList(model.CG_ProNo); int id = 0; MainId = 0; using (SqlConnection conn = DBHelp.getConn()) { conn.Open(); SqlTransaction tan = conn.BeginTransaction(); SqlCommand objCommand = conn.CreateCommand(); objCommand.Transaction = tan; CAI_POOrdersService OrdersSer = new CAI_POOrdersService(); CAI_POCaiService caiSer = new CAI_POCaiService(); try { objCommand.Parameters.Clear(); tb_EFormService eformSer = new tb_EFormService(); string proNo = eformSer.GetAllE_No("CAI_POOrder", objCommand); model.ProNo = proNo; eform.E_No = proNo; model.Status = eform.state; id = Add(model, objCommand); MainId = id; eform.allE_id = id; eformSer.Add(eform, objCommand); for (int i = 0; i < orders.Count; i++) { orders[i].Id = id; OrdersSer.Add(orders[i], objCommand); if (isCopy == false) { CAI_POCai cai = new CAI_POCai(); cai.GuestName = orders[i].GuestName; cai.Num = orders[i].Num; cai.InvName = orders[i].InvName; cai.Id = id; cai.GoodId = orders[i].GoodId; var pocaiModel = caiList.Find(p => p.GoodId == orders[i].GoodId); if (pocaiModel != null) { cai.FinPrice1 = pocaiModel.FinPrice1; cai.FinPrice2 = pocaiModel.FinPrice2; cai.FinPrice3 = pocaiModel.FinPrice3; cai.SupperPrice = pocaiModel.SupperPrice; cai.SupperPrice1 = pocaiModel.SupperPrice1; cai.SupperPrice2 = pocaiModel.SupperPrice2; cai.Supplier = pocaiModel.Supplier; cai.Supplier1 = pocaiModel.Supplier1; cai.Supplier2 = pocaiModel.Supplier2; } caiSer.Add(cai, objCommand); } else { var pocaiModel = caiOrders.Find(p => p.GoodId == orders[i].GoodId); pocaiModel.GuestName = orders[i].GuestName; pocaiModel.Num = orders[i].Num; pocaiModel.InvName = orders[i].InvName; pocaiModel.Id = id; caiSer.Add(pocaiModel, objCommand); } } tan.Commit(); } catch (Exception) { tan.Rollback(); return(0); } return(id); } }
public bool updateTran(VAN_OA.Model.JXC.CAI_OrderCheck model, VAN_OA.Model.EFrom.tb_EForm eform, tb_EForms forms, List <CAI_OrderChecks> orders, string IDS) { using (SqlConnection conn = DBHelp.getConn()) { conn.Open(); SqlTransaction tan = conn.BeginTransaction(); SqlCommand objCommand = conn.CreateCommand(); objCommand.Transaction = tan; CG_POOrdersService OrdersSer = new CG_POOrdersService(); CG_POCaiService CaiSer = new CG_POCaiService(); try { objCommand.Parameters.Clear(); model.Status = eform.state; Update(model, objCommand); tb_EFormService eformSer = new tb_EFormService(); eformSer.Update(eform, objCommand); tb_EFormsService eformsSer = new tb_EFormsService(); eformsSer.Add(forms, objCommand); CAI_OrderChecksService myOrderChecks = new CAI_OrderChecksService(); for (int i = 0; i < orders.Count; i++) { // orders[i].CheckId = model.Id; //if (orders[i].IfUpdate == true && orders[i].Ids != 0) //{ myOrderChecks.Update(orders[i], objCommand); //} //else if (orders[i].Ids == 0) //{ // OrdersSer.Add(orders[i], objCommand); //} } //入库 if (eform.state == "通过") { tb_EForm eformMain = new tb_EForm(); int proId = 0; string sql = "select Pro_Id from A_ProInfo where pro_Type='采购入库'"; objCommand.CommandText = sql; proId = Convert.ToInt32(objCommand.ExecuteScalar()); eformMain.appPer = eform.appPer; eformMain.appTime = DateTime.Now; eformMain.createPer = eform.appPer; eformMain.createTime = DateTime.Now; eformMain.proId = proId; eformMain.state = "通过"; eformMain.toPer = 0; eformMain.toProsId = 0; CAI_OrderInHouseService orderInHouse = new CAI_OrderInHouseService(); sql = "select top 1 id from TB_HouseInfo where ifdefault=1 "; objCommand.CommandText = sql; int objhouseId = Convert.ToInt32(objCommand.ExecuteScalar()); CAI_OrderInHouse orderInModel = new CAI_OrderInHouse() { ChcekProNo = model.ProNo, CreateTime = DateTime.Now, CreateUserId = eform.appPer, GuestName = orders[0].GuestName, HouseID = objhouseId, POName = orders[0].POName, PONo = orders[0].PONo, RuTime = DateTime.Now, Status = "通过", Supplier = orders[0].SupplierName, DoPer = orders[0].CaiGouPer, DaiLi = orders[0].CaiGouPer, FPNo = "", Remark = "" }; List <CAI_OrderInHouses> ordersInHouses = new List <CAI_OrderInHouses>(); foreach (var m in orders) { CAI_OrderInHouses orderM = new CAI_OrderInHouses() { GooId = m.CheckGoodId, GoodNum = m.CheckNum, GoodPrice = m.CheckPrice, OrderCheckIds = m.Ids, QingGouPer = m.QingGou, CaiLastTruePrice = m.CheckLastTruePrice }; ordersInHouses.Add(orderM); } orderInHouse.addTran(orderInModel, eformMain, ordersInHouses, objCommand); } tan.Commit(); } catch (Exception) { tan.Rollback(); return(false); } } return(true); }