/// <summary>
 /// Get AcctSchema Defaults
 /// </summary>
 /// <returns>defaults</returns>
 public MAcctSchemaDefault GetAcctSchemaDefault()
 {
     if (_default == null)
     {
         _default = MAcctSchemaDefault.Get(GetCtx(), GetC_AcctSchema_ID());
     }
     if (_default == null)
     {
         throw new Exception("No Default Definition for C_AcctSchema_ID=" + GetC_AcctSchema_ID());
     }
     return(_default);
 }
        /// <summary>
        ///     Get Accounting Schema Default Info
        /// </summary>
        /// <param name="ctx">context</param>
        /// <param name="C_AcctSchema_ID">id</param>
        /// <returns>defaults</returns>
        public static MAcctSchemaDefault Get(Ctx ctx, int C_AcctSchema_ID)
        {
            MAcctSchemaDefault retValue = null;
            String             sql      = "SELECT * FROM C_AcctSchema_Default WHERE C_AcctSchema_ID=@Param1";

            SqlParameter[] Param = new SqlParameter[1];
            IDataReader    idr   = null;
            DataTable      dt    = null;

            //PreparedStatement pstmt = null;
            try
            {
                Param[0] = new SqlParameter("@Param1", C_AcctSchema_ID);
                //pstmt = DataBase.prepareStatement(sql, null);
                //pstmt.setInt(1, C_AcctSchema_ID);
                //ResultSet rs = pstmt.executeQuery();
                idr = DataBase.DB.ExecuteReader(sql, Param, null);
                dt  = new DataTable();
                dt.Load(idr);
                idr.Close();
                foreach (DataRow dr in dt.Rows)
                {
                    retValue = new MAcctSchemaDefault(ctx, dr, null);
                }
            }
            catch (Exception e)
            {
                if (idr != null)
                {
                    idr.Close();
                }
                _log.Log(Level.SEVERE, sql, e);
            }
            finally
            {
                if (idr != null)
                {
                    idr.Close();
                }
                dt = null;
            }
            return(retValue);
        }       //	get
        /// <summary>
        /// Get Currency Account for Currency
        /// </summary>
        /// <param name="a"> accounting schema default</param>
        /// <param name="C_Currency_ID">currency</param>
        /// <returns>Currency Account or null</returns>
        public static MCurrencyAcct Get(MAcctSchemaDefault a, int C_Currency_ID)
        {
            MCurrencyAcct retValue = null;
            String        sql      = "SELECT * FROM C_Currency_Acct "
                                     + "WHERE C_AcctSchema_ID=@Param1 AND C_Currency_ID=@Param2";

            SqlParameter[] Param = new SqlParameter[2];
            IDataReader    idr   = null;
            DataTable      dt    = null;

            //PreparedStatement pstmt = null;
            try
            {
                Param[0] = new SqlParameter("@Param1", a.GetC_AcctSchema_ID());
                //pstmt = DataBase.prepareStatement(sql, null);
                //pstmt.setInt(1, as.getC_AcctSchema_ID());
                //pstmt.setInt(2, C_Currency_ID);
                Param[1] = new SqlParameter("@Param1", a.GetC_AcctSchema_ID());
                //ResultSet rs = pstmt.executeQuery();
                idr = DataBase.DB.ExecuteReader(sql, Param, null);
                dt  = new DataTable();
                dt.Load(idr);
                idr.Close();
                foreach (DataRow dr in dt.Rows)
                {
                    retValue = new MCurrencyAcct(a.GetCtx(), dr, null);
                }
            }
            catch (Exception e)
            {
                if (idr != null)
                {
                    idr.Close();
                }
                _log.Log(Level.SEVERE, "get", e);
            }
            finally
            {
                dt = null;
            }
            return(retValue);
        }       //	get