Пример #1
0
        protected override int StateResponse(int state,object obj)
        {
            int       iRes  = 0;
            DataTable table = obj as DataTable;

            //string msg = @"HHandlerDbULoaderDest::StateResponse () ::" + ((StatesMachine)state).ToString() + @" - "
            //    + @"[" + PlugInId + @", key=" + m_IdGroupSignalsCurrent + @"] ";

            try
            {
                switch (state)
                {
                case (int)StatesMachine.Values:
                    //msg =+ @"Ok ...";
                    //Logging.Logg().Debug(@"Получено строк [" + PlugInId + @", key=" + IdGroupSignalsCurrent + @"]: " + (table as DataTable).Rows.Count, Logging.INDEX_MESSAGE.NOT_SET);
                    if (TableRecieved == null)
                    {
                        TableRecieved = new DataTable();
                    }
                    else
                    {
                        ;
                    }

                    TableRecieved = GroupSignals.clearDupValues(table);
                    break;

                default:
                    break;
                }
            }
            catch (Exception e)
            {
                Logging.Logg().Exception(e,Logging.INDEX_MESSAGE.NOT_SET,@"HHandlerDbULoader::StateResponse (::" + ((StatesMachine)state).ToString() + @") - ...");
            }

            //Logging.Logg().Debug(msg, Logging.INDEX_MESSAGE.NOT_SET);
            //Console.WriteLine (msg);

            return(iRes);
        }
Пример #2
0
        protected override int StateResponse(int state,object obj)
        {
            int       iRes  = 0;
            DataTable table = obj as DataTable;
            string    msg   = string.Empty;

            try
            {
                switch (state)
                {
                case (int)StatesMachine.CurrentTime:
                    m_dtServer = (DateTime)(table as DataTable).Rows[0][0];
                    //msg =+ @"DATETIME=" + m_dtServer.ToString(@"dd.MM.yyyy HH.mm.ss.fff") + @"...";
                    break;

                case (int)StatesMachine.Values:
                    RowCountRecieved = table.Rows.Count;

                    //msg = @"Получено строк [" + PlugInId + @", key=" + IdGroupSignalsCurrent + @"]: " + (table as DataTable).Rows.Count;
                    //Console.WriteLine (msg);
                    //Logging.Logg().Debug(msg, Logging.INDEX_MESSAGE.NOT_SET);

                    if (TableRecieved == null)
                    {
                        TableRecieved = new DataTable();
                    }
                    else
                    {
                        ;
                    }

                    //int iPrev = -1, iDupl = -1, iAdd = -1, iCur = -1;
                    //iPrev = 0; iDupl = 0; iAdd = 0; iCur = 0;
                    //iPrev = TableResults.Rows.Count;

                    //if (results.Rows.Count == 0)
                    //{
                    //    results = table.Copy ();
                    //}
                    //else
                    //    ;

                    //!!! Перенесена в библ. для "вставки"
                    ////Удалить из таблицы записи, метки времени в которых, совпадают с метками времени в таблице-рез-те предыдущего опроса
                    //iDupl = clearDupValues (ref table);

                    ////!!! Перенесена в библ. для "вставки"
                    ////Сформировать таблицу с "новыми" данными
                    //DataTable tableIns = getTableIns(ref table);
                    //tableIns.Columns.Add(@"tmdelta", typeof(int));

                    //iAdd = table.Rows.Count;
                    //TableResults.Merge(table);
                    //iCur = TableResults.Rows.Count;
                    //Console.WriteLine(@"Объединение таблицы-рез-та: [было=" + iPrev + @", дублирущих= " + iDupl + @", добавлено=" + iAdd + @", стало=" + iCur + @"]");

                    TableRecieved = GroupSignals.clearDupValues(table);
                    break;

                default:
                    break;
                }
            }
            catch (Exception e)
            {
                Logging.Logg().Exception(e,Logging.INDEX_MESSAGE.NOT_SET,@"HHandlerDbULoader::StateResponse (::" + ((StatesMachine)state).ToString() + @") - ...");
            }

            //Logging.Logg().Debug(msg, Logging.INDEX_MESSAGE.NOT_SET);
            //Console.WriteLine (msg);

            return(iRes);
        }