Ejemplo n.º 1
0
        public void DoRecalTran(DbTransaction transaction, string strID)
        {
            bool IsRootTranscation = false;
            CAM051DBO dbo = new CAM051DBO(ref USEDB);
            IsRootTranscation = (transaction == null) ? true : false;

            if (IsRootTranscation)
            {
                Conn = USEDB.CreateConnection();
                Conn.Open();
                DBT = Conn.BeginTransaction();
            }
            else
            {
                DBT = transaction;
            }

            try
            {
                dbo.Recal_Tran(transaction, strID);
                if (IsRootTranscation)
                {
                    DBT.Commit();
                }
            }
            catch
            {
                if (IsRootTranscation)
                {
                    DBT.Rollback();
                }
                throw;
            }
            finally
            {
                if (IsRootTranscation)
                {
                    if (Conn.State == ConnectionState.Connecting)
                    {
                        Conn.Close();
                    }
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 新增門市調撥單時呼叫
        /// </summary>
        /// <param name="parameterList">參數清單 
        /// 店群、店號、利潤中心代號、憑證單號、通路單號、使用者ID</param>
        /// <returns>新增成功的調撥單號</returns>
        public string CreateStoreTransfer(ArrayList masterParameter, ArrayList parameterList)
        {
            Conn = USEDB.CreateConnection();
            Conn.Open();
            DbTransaction transaction = Conn.BeginTransaction();
            CAM051DBO dbo = new CAM051DBO(ref USEDB);

            try
            {
                string[] strReturn = dbo.CreateStoreTransfer(transaction, masterParameter);
                if (parameterList.Count > 0)
                {
                    for (int i = 0; i < parameterList.Count; i++)
                    {
                        ((ArrayList)parameterList[i]).Insert(0, int.Parse(strReturn[0]));
                        UpdateStoreTransfer(transaction, (ArrayList)parameterList[i]);
                    }
                }

                dbo.Recal_Tran(transaction, strReturn[1]);

                if (Convert.ToInt16(masterParameter[4]) == 1)
                {
                    dbo.Cal_Sch_AccountMonth(transaction, strReturn[1]);
                }

                transaction.Commit();
                return strReturn[1];
            }
            catch
            {
                transaction.Rollback();
                throw;
            }
            finally
            {
                Conn.Close();
            }
        }