internal void AddInstrumentDayOpenCloseTimeRecordByDB(Protocal.InstrumentDayOpenCloseTimeRecord record)
 {
     try
     {
         _readWriteLock.EnterWriteLock();
         Logger.Info("AddInstrumentDayOpenCloseTimeRecordByDB");
         this.AddInstrumentDayOpenCloseTimeRecordCommon(record);
     }
     finally
     {
         _readWriteLock.ExitWriteLock();
     }
 }
        private void AddInstrumentDayOpenCloseTimeRecordCommon(Protocal.InstrumentDayOpenCloseTimeRecord record)
        {
            Dictionary <DateTime, Protocal.InstrumentDayOpenCloseTimeRecord> recordDict;

            if (!_instrumentDayOpenCloseDict.TryGetValue(record.Id, out recordDict))
            {
                recordDict = new Dictionary <DateTime, Protocal.InstrumentDayOpenCloseTimeRecord>();
                _instrumentDayOpenCloseDict.Add(record.Id, recordDict);
            }
            if (recordDict.Count > 0)
            {
                this.RemoveLessThenTradeDayRecords(record.TradeDay, recordDict);
            }
            if (!recordDict.ContainsKey(record.TradeDay))
            {
                recordDict.Add(record.TradeDay, record);
            }
        }