private void SetCurrencyRateInfosToLocalCollection(IEnumerable <CurrencyRateInfo> rates, DateTime date) { foreach (CurrencyRateInfo currencyRateInfo in rates) { currencyRateInfo.Rate = CurrencyRateHelper.SetMantissaToRate(currencyRateInfo.Rate, currencyRateInfo.RateMantissa); var key = GetLocalKey(currencyRateInfo.CurrencyId, date); if (!_localCurrencyRateInfos.ContainsKey(key)) { _localCurrencyRateInfos.Add(key, currencyRateInfo); } } }
public virtual void OnCurrencySavedHandler() { Store.Cache[CacheLevel.Application].ExpireGroup("Currency"); var currRateSchema = UserConnection.EntitySchemaManager.GetInstanceByName("CurrencyRate"); var currencyRateStorage = Terrasoft.Core.Factories.ClassFactory.Get <Terrasoft.Configuration.CurrencyRateStorage>( new Terrasoft.Core.Factories.ConstructorArgument("userConnection", UserConnection), new Terrasoft.Core.Factories.ConstructorArgument("schema", currRateSchema)); List <CurrencyRateInfo> rates = currencyRateStorage.GetActualCurrencyRates(Entity.PrimaryColumnValue); CurrencyRateInfo currentCurrenyRate = rates.FirstOrDefault(); if (currentCurrenyRate != null) { OldCurrencyRate = CurrencyRateHelper.SetMantissaToRate(currentCurrenyRate.Rate, currentCurrenyRate.RateMantissa); } if (CurrencyRate > 0.00m && OldCurrencyRate != CurrencyRate) { currencyRateStorage.SaveRates(new CurrencyRateInfo() { CurrencyId = Entity.PrimaryColumnValue, Rate = CurrencyRate }); } }