private static void UpdateCurrencyRates(object s) { var state = (State)s; using (var dbUnit = new DbUnit()) { state.LastUpdateTime = GetCurrencyRates(dbUnit, state.Currencies, state.LastUpdateTime); } }
protected object this[DbUnit unit] { get { return(unit); } set { unit.Value = value; } }
public static void Initialize(AppContext context) { var dbUnit = new DbUnit(context); var currencies = GetCurrencies(dbUnit); var currentDateTime = GetCurrencyRates(dbUnit, currencies); var state = new State() { Currencies = currencies, LastUpdateTime = currentDateTime }; Timer = new Timer(UpdateCurrencyRates, state, (long)TimeSpan.FromDays(1) .TotalMilliseconds, (long)TimeSpan.FromDays(1) .TotalMilliseconds); }
public bool ValueEquals(object obj) { if (obj is DBUPGRADE) { if (this.Count != 0) { return(this[0] == (obj as DBUPGRADE)); } else { return(false); } } else { return(DbUnit.ValueEquals(this, obj)); } }
public static IEnumerable <CurrenciesRatesModel> GetCurrenciesRates() { using (var dbUnit = new DbUnit()) { var usDollarRates = dbUnit.CurrencyRates.Find(rate => rate.Currency.Name == "US Dollar"); var chinaYuanRates = dbUnit.CurrencyRates.Find(rate => rate.Currency.Name == "China Yuan"); var japaneseYenRates = dbUnit.CurrencyRates.Find(rate => rate.Currency.Name == "Japanese Yen"); return((from dollarRate in usDollarRates join japaneseYenRate in japaneseYenRates on dollarRate.Date equals japaneseYenRate.Date join chinaYuanRate in chinaYuanRates on dollarRate.Date equals chinaYuanRate.Date select new CurrenciesRatesModel() { Date = dollarRate.Date, USDollarRate = (double)Math.Round(dollarRate.Value, 2), ChinaYuanRate = (double)Math.Round(chinaYuanRate.Value, 2), JapaneseYenRate = (double)Math.Round(japaneseYenRate.Value, 2) }).ToList()); } }
private static void AddUnits(DbGame game, DbTurn turn, JArray units, DbRegion region, DbStructure structure, Dictionary <int, string> unitMemory, Dictionary <int, string> orders) { int unitOrder = 0; foreach (JObject unit in units) { var unitFaction = unit["faction"] as JObject; var u = new DbUnit { GameId = game.Id, TurnId = turn.Id, Number = unit.Value <int>("number"), Name = unit.Value <string>("name"), FactionNumber = unitFaction != null ? unitFaction.Value <int>("number") : (int?)null, Sequence = unitOrder }; u.Own = game.PlayerFactionNumber == u.FactionNumber; u.Memory = u.Own && unitMemory.TryGetValue(u.Number, out var unitMem) ? unitMem : null; u.Orders = orders.TryGetValue(u.Number, out var unitOrders) ? unitOrders : null; unit["own"] = u.Own; // because could be loaded several reports from different factions u.Json = unit.ToString(); region.Units.Add(u); turn.Units.Add(u); if (structure != null) { structure.Units.Add(u); } unitOrder++; } }