} // setCurrencyRate /// <summary> /// Set Accounted Amounts /// </summary> /// <param name="windowNo">window no</param> private void SetAmt(int windowNo) { // Get Target Currency & Precision from C_AcctSchema.C_Currency_ID int? C_AcctSchema_ID = GetCtx().GetContextAsInt(windowNo, "C_AcctSchema_ID"); MAcctSchema ass = MAcctSchema.Get(GetCtx(), C_AcctSchema_ID.Value); int? Precision = ass.GetStdPrecision(); Decimal?CurrencyRate = GetCurrencyRate(); if (CurrencyRate == null) { CurrencyRate = Env.ONE; SetCurrencyRate(CurrencyRate); } // AmtAcct = AmtSource * CurrencyRate ==> Precision Decimal?AmtSourceDr = GetAmtSourceDr(); if (AmtSourceDr == null) { AmtSourceDr = Env.ZERO; } Decimal?AmtSourceCr = GetAmtSourceCr(); if (AmtSourceCr == null) { AmtSourceCr = Env.ZERO; } Decimal?AmtAcctDr = (Decimal.Multiply(AmtSourceDr.Value, CurrencyRate.Value)); //AmtAcctDr = AmtAcctDr.setScale(Precision, BigDecimal.ROUND_HALF_UP); AmtAcctDr = Decimal.Round(AmtAcctDr.Value, Precision.Value, MidpointRounding.AwayFromZero); SetAmtAcctDr(AmtAcctDr); Decimal?AmtAcctCr = Decimal.Multiply(AmtSourceCr.Value, CurrencyRate.Value); AmtAcctCr = Decimal.Round(AmtAcctCr.Value, Precision.Value, MidpointRounding.AwayFromZero); SetAmtAcctCr(AmtAcctCr); } // setAmt