///<summary> /// 保存数据----点击保存时用 /// </summary> /// <param name="pObj">信息集实体类</param> /// <returns>返回保存成功(true)或失败(false)</returns> public void SaveBill(PaymentOrder PaymentOrder, List <PaymentOrderDetail1> PaymentOrderDetail1, List <PaymentOrderDetail2> PaymentOrderDetail2) { CommonInterface pComm = CommonFactory.CreateInstance(CommonData.sql); try { pComm.BeginTrans(); //保存单据主表数据 //先删除主表数据 string strDeleteSql = "Delete from PaymentOrder where PaymentOrderGuid='" + PaymentOrder.PaymentOrderGuid + "'"; pComm.Execute(strDeleteSql); //插入主表数据 string strInsertSql = GetAddSQL(PaymentOrder); pComm.Execute(strInsertSql); //删除明细表 strDeleteSql = "Delete from PaymentOrderDetail1 where PaymentOrderGuid='" + PaymentOrder.PaymentOrderGuid + "'"; pComm.Execute(strDeleteSql); //插入明细表数据 for (int i = 0; i < PaymentOrderDetail1.Count; i++) { strInsertSql = GetAddDetailSQL1(PaymentOrderDetail1[i]); pComm.Execute(strInsertSql); } //删除计算明细 strDeleteSql = "Delete from PaymentOrderDetail2 where PaymentOrderGuid='" + PaymentOrder.PaymentOrderGuid + "'"; pComm.Execute(strDeleteSql); //插入明细表数据 for (int i = 0; i < PaymentOrderDetail2.Count; i++) { strInsertSql = GetAddDetailSQL2(PaymentOrderDetail2[i]); pComm.Execute(strInsertSql); } pComm.CommitTrans(); } catch (Exception e) { pComm.RollbackTrans(); pComm.Close(); throw e; } }
/// <summary> /// 得到新增sql /// </summary> public string GetAddSQL(PaymentOrder PaymentOrder) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into PaymentOrder("); strSql.Append("PaymentOrderGuid,PaymentOrderID,PaymentOrderDate,SupplierGuid,PayPerson,BankID,PayID,Remark,CreateGuid,CreateDate,CheckGuid,CheckDate"); strSql.Append(")"); strSql.Append(" values ("); strSql.Append("'" + PaymentOrder.PaymentOrderGuid + "',"); strSql.Append("'" + PaymentOrder.PaymentOrderID + "',"); if (PaymentOrder.PaymentOrderDate == DateTime.Parse("1900-01-01")) { strSql.Append("null,"); } else { strSql.Append("'" + PaymentOrder.PaymentOrderDate + "',"); } strSql.Append("'" + PaymentOrder.SupplierGuid + "',"); strSql.Append("'" + PaymentOrder.PayPerson + "',"); strSql.Append("'" + PaymentOrder.BankID + "',"); strSql.Append("'" + PaymentOrder.PayID + "',"); strSql.Append("'" + PaymentOrder.Remark + "',"); strSql.Append("'" + PaymentOrder.CreateGuid + "',"); strSql.Append("'" + PaymentOrder.CreateDate + "',"); strSql.Append("'" + PaymentOrder.CheckGuid + "',"); if (PaymentOrder.CheckDate == DateTime.Parse("1900-01-01")) { strSql.Append("null"); } else { strSql.Append("'" + PaymentOrder.CreateDate + "'"); } strSql.Append(")"); return(strSql.ToString()); }