Показать сообщение отдельно
Старый 03.04.2022, 22:46   #11  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
672 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
X++:
/// <summary>
    /// Replaces language rendering culture currency symbol with the given one
    /// </summary>
    /// <param name = "_languageId">language rendering culture</param>
    /// <param name = "_amountCur">AmountCur</param>
    /// <param name = "_currencySymbol">New currency symbol</param>
    /// <returns>Formatted string</returns>
    public str eogChangeCurSymbolForAmountStr(LanguageId _languageId, System.Double _amountCur, CurrencySymbol _currencySymbol)
    {
        System.Globalization.CultureInfo    culture;
        str                                 res;
        System.Exception                    e;
        str                                 curSymbol;

        culture = new System.Globalization.CultureInfo(_languageId);

        try
        {
            res         = _amountCur.ToString("C", culture);
            curSymbol   = culture.NumberFormat.CurrencySymbol;
            res         = strReplace(res, curSymbol, _currencySymbol);
        }
        catch(Exception::CLRError)
        {
            e = CLRInterop::getLastException();
            while( e )
            {
                error( e.get_Message() );
                e = e.get_InnerException();
            }
            throw Exception::Error;
        }
        return res;
    }

    /// <summary>
    /// Gets amount with currency symbol
    /// </summary>
    /// <param name = "_amountCur">Amount in currency</param>
    /// <param name = "_currency">Currency to present symbol</param>
    /// <param name = "_languageId">Language for rendering culture</param>
    /// <returns>Formatted string for amunt cur with currency symbol</returns>
    public EOGAmountStringWithCurrencySymbol eogAmountStringWithCurrencySymbol(AmountCur _amountCur, CurrencyCode _currency, LanguageId _languageId)
    {
        Currency                            currency = Currency::find(_currency);
        
        return this.eogChangeCurSymbolForAmountStr(_languageId, _amountCur, currency.Symbol);;
    }

    /// <summary>
    /// Populates <c>BankPaymAdviceVendTmp</c> and inserts the report information for a single invoice and related payment.
    /// </summary>
    protected void insertBankPaymAdviceTmp()
    {
        BankPaymAdviceVendTmp bankPaymAdviceVendTmp;
        str                   email;

        next insertBankPaymAdviceTmp();

        bankPaymAdviceVendTmp = this.bankPaymAdviceTmp as BankPaymAdviceVendTmp;
                
        if (bankPaymAdviceVendTmp.RecId)
        {          
            ttsbegin;
            bankPaymAdviceVendTmp.selectForUpdate(true);
            bankPaymAdviceVendTmp.EOGBalance01Total+=bankPaymAdviceVendTmp.Balance01;
            bankPaymAdviceVendTmp.EOGAmountStringWithCurrencySymbol  = this.eogAmountStringWithCurrencySymbol(bankPaymAdviceVendTmp.EOGBalance01Total, bankPaymAdviceVendTmp.CurrencyCode, VendTable::find(bankPaymAdviceVendTmp.AccountNum).languageId());          
            bankPaymAdviceVendTmp.update();
            ttscommit;
        }
    }
__________________
Felix nihil admirari
За это сообщение автора поблагодарили: Pandasama (2).