/// <summary> /// Установить значение для сигнала группы, по ключу, за указанный час /// </summary> /// <param name="indx">Индекс группы сигналов</param> /// <param name="keySgnl">Ключ сигнала</param> /// <param name="iHour">Индекс часа в сутках</param> /// <param name="value">Устанавливаемое значение</param> public void SetValue(INDEX_DATA indx,SIGNAL.KEY keySgnl,int iHour,double value) { MethodBase methodBase = MethodBase.GetCurrentMethod(); string errMsg = string.Format(@"{0}.{1}::{2} () - ",methodBase.Module,methodBase.DeclaringType,methodBase.Name); if (m_dictData.ContainsKey(indx) == true) { if (m_dictData[indx].ContainsKey(keySgnl) == true) { m_dictData[indx][keySgnl].m_data[iHour] = value; } else { Logging.Logg().Error(string.Format(@"{0}в словаре c INDEX={1} не инициализирован сигнал key={2}" ,errMsg,indx.ToString(),keySgnl.ToString()) ,Logging.INDEX_MESSAGE.NOT_SET); } } else { Logging.Logg().Error(string.Format(@"{0}в словаре не инициализирована группа сигналов INDEX={1}..." ,errMsg,indx.ToString()) ,Logging.INDEX_MESSAGE.NOT_SET); } }
/// <summary> /// Установить значения для группы сигналов по индексу группы /// </summary> /// <param name="indx">Индекс группы сигналов</param> /// <param name="listRecRes">Список значений</param> public void SetValues(INDEX_DATA indx,List <RecordResult> listRecRes) { SIGNAL.KEY keySgnl; // ключ для сигнала int iHour = -1; // индекс часа MethodBase methodBase = MethodBase.GetCurrentMethod(); string errMsg = string.Format(@"{0}.{1}::{2} () - ",methodBase.Module,methodBase.DeclaringType,methodBase.Name); if (m_dictData.ContainsKey(indx) == true) { foreach (RecordResult r in listRecRes) { keySgnl = new SIGNAL.KEY(r.m_key); if (m_dictData[indx].ContainsKey(keySgnl) == true) { // дата всегда одна и та же за исключением одной записи iHour = r.m_dtRec.Hour > 0 ? r.m_dtRec.Hour - 1 : 23; m_dictData[indx].SetValue(keySgnl,iHour,r.m_value); } else { Logging.Logg().Error(string.Format(@"{0}в словаре c INDEX={1} не инициализирован сигнал key={2}" ,errMsg,indx.ToString(),keySgnl.ToString()) ,Logging.INDEX_MESSAGE.NOT_SET); } } m_dictData[indx].CompleteSetValues(); } else { Logging.Logg().Error(string.Format(@"{0}в словаре не инициализирована группа сигналов INDEX={1}..." ,errMsg,indx.ToString()) ,Logging.INDEX_MESSAGE.NOT_SET); } }