コード例 #1
0
            /// <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);
                }
            }
コード例 #2
0
            /// <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);
                }
            }