private static void UpdateExistingCurrencyRate(API.Interface.DataContracts.CurrencyRate currencyRate, IEnumerable <CurrencyRate> crs) { foreach (var cr in crs) { cr.Rate = currencyRate.Measure == 0 ? (decimal)0 : currencyRate.Rate / currencyRate.Measure; cr.RevRate = cr.Rate == 0 ? (decimal)0 : (decimal)1 / cr.Rate; } }
private static void CreateNewCurrencyRate(Budget2DataContext context, API.Interface.DataContracts.CurrencyRate currencyRate, Currency currency) { var newCurrRate = new CurrencyRate { CurrencyId = currency.Id, RateDate = currencyRate.RevaluationDate }; newCurrRate.Rate = currencyRate.Measure == 0 ? (decimal)0 : currencyRate.Rate / currencyRate.Measure; newCurrRate.RevRate = newCurrRate.Rate == 0 ? 0 : 1 / newCurrRate.Rate; context.CurrencyRates.InsertOnSubmit(newCurrRate); }
private static void CreateCurrencyRate(Budget2DataContext context, API.Interface.DataContracts.CurrencyRate currencyRate, Currency currency) { var crs = context.CurrencyRates.Where(currR => currR.RateDate.Date == currencyRate.RevaluationDate.Date && currR.CurrencyId == currency.Id); if (crs.Count() > 0) { UpdateExistingCurrencyRate(currencyRate, crs); } else { CreateNewCurrencyRate(context, currencyRate, currency); } }