public virtual bool CurrencyRateSavingTaskExecute(ProcessExecutingContext context)
        {
            var changedColumns = Entity.GetChangedColumnValues();

            if (changedColumns.Any(c => c.Name == "Rate"))
            {
                EntitySchemaColumn rateColumn    = Entity.Schema.Columns.FindByName("Rate");
                FloatDataValueType dataValueType = rateColumn.DataValueType as FloatDataValueType;
                decimal            currencyRate  = Entity.GetTypedColumnValue <decimal>("Rate");
                string             mantissa      = CurrencyRateHelper.GetRateMantissa(currencyRate);
                Entity.SetColumnValue("RateMantissa", mantissa);
                Entity.SetColumnValue("Rate", Math.Round(currencyRate, dataValueType.DBPrecision,
                                                         MidpointRounding.AwayFromZero));
            }
            return(true);
        }
        protected virtual string GetDecimalFormat(FloatDataValueType colType)
        {
            var precision = colType.Precision;

            return(_decimalMaskMajor.PadRight(_decimalMaskMajor.Length + precision, _decimalMaskMinor));
        }