public List <TradeTicker> GetTickers(out long lotByGroupHash) { if (channel == null) { throw new Exception("TradeSharpDictionaryProxy: связь не установлена"); } try { return(channel.GetTickers(out lotByGroupHash)); } catch (Exception) { RenewFactory(); lotByGroupHash = 0; try { return(channel == null ? null : channel.GetTickers(out lotByGroupHash)); } catch (Exception ex) { Logger.Error("GetTickers()", ex); return(null); } } }
private void FillDictionaries(ITradeSharpDictionary dict) { // прочитать локальную копию настроек группа - лот dictionaryGroupLot = LotByGroupDictionary.LoadFromFile(lotDicPath); if (dict != null) { try { long lotByGroupHashCode; tickers = dict.GetTickers(out lotByGroupHashCode).ToDictionary(t => t.Title, t => t); if (tickers.Count > 0) { // контракты прочитаны, проверить словарь группа - лот if (lotByGroupHashCode == 0) { dictionaryGroupLot.Clear(); } else { if (dictionaryGroupLot.calculatedHashCode != lotByGroupHashCode) { var newDictionaryGroupLot = dict.GetLotByGroup(); if (newDictionaryGroupLot != null) { dictionaryGroupLot = newDictionaryGroupLot; dictionaryGroupLot.SaveInFile(lotDicPath); } } } ConnectionWasEstablished = true; return; } else { Logger.ErrorFormat("DalSpot: тикеры не получены"); } } catch (Exception ex) { Logger.Error("Ошибка в DalSpot ctor (доступ к БД)", ex); } } InitializeDefault(); }
private void FillDictionaries(ITradeSharpDictionary dict) { // прочитать локальную копию настроек группа - лот dictionaryGroupLot = LotByGroupDictionary.LoadFromFile(lotDicPath); if (dict != null) try { long lotByGroupHashCode; tickers = dict.GetTickers(out lotByGroupHashCode).ToDictionary(t => t.Title, t => t); if (tickers.Count > 0) { // контракты прочитаны, проверить словарь группа - лот if (lotByGroupHashCode == 0) dictionaryGroupLot.Clear(); else { if (dictionaryGroupLot.calculatedHashCode != lotByGroupHashCode) { var newDictionaryGroupLot = dict.GetLotByGroup(); if (newDictionaryGroupLot != null) { dictionaryGroupLot = newDictionaryGroupLot; dictionaryGroupLot.SaveInFile(lotDicPath); } } } ConnectionWasEstablished = true; return; } else { Logger.ErrorFormat("DalSpot: тикеры не получены"); } } catch (Exception ex) { Logger.Error("Ошибка в DalSpot ctor (доступ к БД)", ex); } InitializeDefault(); }