/// <summary> /// ���s�WBCO /// </summary> /// <param name="ParameterList">��J�ܼ�</param> /// <param name="RootDBT">�O�_���D���,�L�D�����Jnull</param> /// <returns>�^�Ǽv�T����</returns> public string CreatePurchaseOrder(ArrayList ParameterList, DbTransaction RootDBT) { string vID_NO = ""; bool IsRootTranscation = false; try { DBO.OUT_PurchaseOrderDBO dbo = new OUT_PurchaseOrderDBO(ref USEDB); //�P�_�O�_���ǤJRoot Transcation IsRootTranscation = (RootDBT == null) ? true : false; #region �Ұʥ���Ϋ��wRootTranscation if (IsRootTranscation) { //�W�ߩI�s�Ұ�Transcation Conn = USEDB.CreateConnection(); Conn.Open(); DBT = Conn.BeginTransaction(); } else { DBT = RootDBT; } #endregion vID_NO = dbo.doCreateMaster(ParameterList, DBT); #region ������\ if (IsRootTranscation) { //�W�ߩI�sTranscation���� DBT.Commit(); } #endregion return vID_NO; } catch (Exception ex) { #region ������� if (IsRootTranscation) { //�W�ߩI�sTranscation���� DBT.Rollback(); } #endregion throw ex; } finally { #region �P�_�O�_��������s�u if (IsRootTranscation) { //�W�ߩI�sTranscation,�����s�u if (Conn.State == ConnectionState.Connecting) { Conn.Close(); } } #endregion } }
/// <summary> /// ����SP������� /// </summary> /// <param name="ParameterList">�ܼ�</param> /// <param name="RootDBT">�O�_���D���,�L�D�����Jnull</param> public void TestTranscation(ArrayList ParameterList1, ArrayList ParameterList2, ArrayList ParameterList3, DbTransaction RootDBT ) { bool IsRootTranscation = false; try { DBO.OUT_PurchaseOrderDBO dbo = new OUT_PurchaseOrderDBO(ref USEDB); //�P�_�O�_���ǤJRoot Transcation IsRootTranscation = (RootDBT == null) ? true : false; #region �Ұʥ���Ϋ��wRootTranscation if (IsRootTranscation) { //�W�ߩI�s�Ұ�Transcation Conn = USEDB.CreateConnection(); Conn.Open(); DBT = Conn.BeginTransaction(); } else { DBT = RootDBT; } #endregion dbo.doCreateMaster(ParameterList1, DBT); //dbo.doUpdate(ParameterList2, DBT); dbo.doDelete(ParameterList3, DBT); throw new Exception("�������"); #region ������\ if (IsRootTranscation) { //�W�ߩI�sTranscation���� DBT.Commit(); } #endregion } catch (Exception ex) { #region ������� if (IsRootTranscation) { //�W�ߩI�sTranscation���� DBT.Rollback(); } #endregion throw ex; } finally { #region �P�_�O�_��������s�u if (IsRootTranscation) { //�W�ߩI�sTranscation,�����s�u if (Conn.State == ConnectionState.Connecting) { Conn.Close(); } } #endregion } }