Example #1
0
        protected override HHandler.INDEX_WAITHANDLE_REASON StateErrors(int state,int req,int res)
        {
            HHandler.INDEX_WAITHANDLE_REASON resReason = INDEX_WAITHANDLE_REASON.SUCCESS;

            Logging.Logg().Error(@"HHandlerDbULoaderDest::StateErrors (state=" + ((StatesMachine)state).ToString() + @", req=" + req + @", res=" + res + @") - "
                                 + @"[" + PlugInId + @", key=" + IdGroupSignalsCurrent + @"]"
                                 + @"..."
                                 ,Logging.INDEX_MESSAGE.NOT_SET);

            return(resReason);
        }
            protected override INDEX_WAITHANDLE_REASON StateErrors(int state, int req, int res)
            {
                HHandler.INDEX_WAITHANDLE_REASON resReason = INDEX_WAITHANDLE_REASON.SUCCESS;

                this.completeHandleStates(INDEX_WAITHANDLE_REASON.ERROR);

                Logging.Logg().Error(
                    string.Format(@"WriterDbHandler::StateErrors (state={0}, req={1}, res={2}) - ...", ((StatesMachine)state).ToString(), req, res)
                    , Logging.INDEX_MESSAGE.NOT_SET);

                return(resReason);
            }
Example #3
0
        protected override HHandler.INDEX_WAITHANDLE_REASON StateErrors(int state,int req,int res)
        {
            HHandler.INDEX_WAITHANDLE_REASON resReason = INDEX_WAITHANDLE_REASON.SUCCESS;

            string unknownErr = @"Неизвестная ошибка"
            ,msgErr           = unknownErr;

            switch (state)
            {
            case (int)StatesMachine.CurrentTime:     //Ошибка получения даты/времени сервера-источника
                msgErr = @"дату/время СУБД";
                break;

            case (int)StatesMachine.Values:     //Ошибка получения значений источника
                msgErr = @"значения в БД";
                break;

            default:
                break;
            }

            if (msgErr.Equals(unknownErr) == false)
            {
                msgErr = @"Не удалось получить " + msgErr;
            }
            else
            {
                ;
            }

            Logging.Logg().Error(@"[" + PlugInId + @", key=" + IdGroupSignalsCurrent + @"] - " + msgErr,Logging.INDEX_MESSAGE.NOT_SET);
            //Console.WriteLine(@"Ошибка. " + msgErr);

            if (!(_iPlugin == null))
            {
                (_iPlugin as PlugInBase).DataAskedHost(new object[] { (int)ID_DATA_ASKED_HOST.ERROR,IdGroupSignalsCurrent,state,msgErr });
            }
            else
            {
                ;
            }

            return(resReason);
        }
Example #4
0
        private void threadCSVValues(object type)
        {
            Errors errRes = Errors.NoError;

            Thread.CurrentThread.CurrentCulture       =
                Thread.CurrentThread.CurrentUICulture =
                    ProgramBase.ss_MainCultureInfo; //new System.Globalization.CultureInfo(@"en-US")

            //Определить тип загружаемых значений
            CONN_SETT_TYPE typeValues = (CONN_SETT_TYPE)type;

            int indxEv = -1
            , prevIndxTECComponents = indxTECComponents;
            string strPBRNumber     = string.Empty; // ...только для ПБР

            if (typeValues == CONN_SETT_TYPE.PBR)
            {//Только для ПБР
                //Противоположные операции при завершении потока 'threadPPBRCSVValues'
                //Разрешить запись ПБР-значений
                if (m_markSavedValues.IsMarked((int)INDEX_MARK_PPBRVALUES.PBR_ENABLED) == true)
                {
                    m_markSavedValues.Marked((int)INDEX_MARK_PPBRVALUES.PBR_SAVED);
                }
                else
                {
                    ;
                }
                //Запретить запись Админ-значений
                if (m_markSavedValues.IsMarked((int)INDEX_MARK_PPBRVALUES.ADMIN_ENABLED) == true)
                {
                    m_markSavedValues.UnMarked((int)INDEX_MARK_PPBRVALUES.ADMIN_SAVED);
                }
                else
                {
                    ;
                }

                strPBRNumber = getNamePBRNumber((int)GetPropertiesOfNameFilePPBRCSVValues()[1] - 1);
            }
            else
            {
                ;
            }

            //Снять все признаки причин прекращения выполнения обработки событий
            for (HHandler.INDEX_WAITHANDLE_REASON i = HHandler.INDEX_WAITHANDLE_REASON.ERROR; i < (HHandler.INDEX_WAITHANDLE_REASON.ERROR + 1); i++)
            {
                ((ManualResetEvent)m_waitHandleState[(int)i]).Reset();
            }

            foreach (TECComponent comp in allTECComponents)
            {
                if (comp.IsGTP == true) //Является ГТП
                {
                    indxEv = WaitHandle.WaitAny(m_waitHandleState);
                    if (indxEv == 0)
                    {
                        switch (typeValues)
                        {
                        case CONN_SETT_TYPE.ADMIN:
                            errRes = saveCSVValues(allTECComponents.IndexOf(comp), typeValues);
                            break;

                        case CONN_SETT_TYPE.PBR:
                            errRes = saveCSVValues(allTECComponents.IndexOf(comp), strPBRNumber);
                            break;

                        default:
                            break;
                        }

                        //if (! (errRes == Errors.NoError))
                        //    ; //Ошибка ???
                        //else
                        //    ;
                    }
                    else
                    {
                        //Ошибка ???
                        //break;
                        //completeHandleStates();
                        ;
                    }
                }
                else
                {
                    ;
                }
            }

            //Очистить таблицу, полученную из CSV-файла
            m_tableValuesResponse.Clear();
            m_tableValuesResponse = null;

            if (typeValues == CONN_SETT_TYPE.PBR)
            {//Только для ПБР
                //Противоположные операции в 'ImpPPBRCSVValuesRequest'
                //Запретить запись ПБР-значений
                // , запрет устанавливается автоматически
                //Разрешить запись Админ-значений
                if (m_markSavedValues.IsMarked((int)INDEX_MARK_PPBRVALUES.ADMIN_ENABLED) == true)
                {
                    m_markSavedValues.Marked((int)INDEX_MARK_PPBRVALUES.ADMIN_SAVED);
                }
                else
                {
                    ;
                }
            }
            else
            {
                ;
            }

            //Обновить значения на вкладке
            GetRDGValues(/*m_typeFields,*/ prevIndxTECComponents);
        }