Пример #1
0
        private void groupSignals_OnEvtUnadviseItem(string kks_name)
        {
            int err       = -1
            ,idGrpSgnls   = -1;
            string strErr = string.Empty
            ,strIds       = string.Empty;

            lock (lockAdvisedItems)
            {
                if (m_dictSignalsAdvised.ContainsKey(kks_name) == false)
                {
                    return;
                }
                else
                {
                    ;
                }

                idGrpSgnls = m_dictSignalsAdvised[kks_name];
                strIds     = @" [" + PlugInId + @", key=" + idGrpSgnls + @"]: ";

                try
                {
                    err = m_torIsData.UnadviseItem(kks_name);
                }
                catch (Exception e)
                {
                    Logging.Logg().Exception(e,"TORISLib.TorISDataClass.UnadviseItem(String item) - ...",Logging.INDEX_MESSAGE.NOT_SET);
                }

                if (!(err == 0))
                {
                    switch (err)
                    {
                    default:
                        break;
                    }

                    Logging.Logg().Error(@"Ошибка отписки на сигнал" + strIds + kks_name + " - " + strErr,Logging.INDEX_MESSAGE.NOT_SET);
                    return;
                }
                else
                {
                    ;
                }

                m_dictSignalsAdvised.Remove(kks_name);
            }

            //Logging.Logg().Action(@"Отписка на сигнал" + strIds + kks_name, Logging.INDEX_MESSAGE.NOT_SET);
        }
Пример #2
0
        private void groupSignals_OnEvtUnadviseItem(string par)
        {
            int err     = -1
            ,idGrpSgnls = -1
            ,i          = -1;

            string[] kks_names      = par.Split(new string [] { @"," },StringSplitOptions.RemoveEmptyEntries);
            int[]    arResUnadvised = new int[kks_names.Length]; //Рез-т выполнения метода отписки от сигнала (-2 - ничего не делали, -1 - исключение, 0 - Ок, 1 - ошибка при выполнении метода)
            string   strErr         = string.Empty
            ,strIds = string.Empty;

            i = -1;
            foreach (string kks_name in kks_names)
            {
                i++;
                // для каждого сигнала предполагаем лучший вариант - отписка без ошибки
                err = 0;

                if (m_dictSignalsAdvised.ContainsKey(kks_name) == false)
                {
                    arResUnadvised[i] = -2; //ничего не делали

                    continue;
                }
                else
                {
                    ;
                }
                // необходимо только в случае возникновения исключения или ошибки
                idGrpSgnls = m_dictSignalsAdvised[kks_name];
                strIds     = @"[" + PlugInId + @", key=" + idGrpSgnls + @"]";

                try
                {
                    err = m_torIsData.UnadviseItem(kks_name);
                }
                catch (Exception e)
                {
                    arResUnadvised[i] = -1; // исключение при выполнении метода

                    Logging.Logg().Exception(e,"TORISLib.TorISDataClass.UnadviseItem (" + strIds + @", KKS_NAME=" + kks_name + @") - ...",Logging.INDEX_MESSAGE.NOT_SET);
                }

                if (!(err == 0))
                {
                    arResUnadvised[i] = 1; // ошибка - как рез-т выполнения метода

                    switch (err)
                    {
                    default:
                        break;
                    }

                    Logging.Logg().Error(@"Ошибка отмены регистрации обработки событий для сигнала " + strIds + @": " + kks_name + " - " + strErr,Logging.INDEX_MESSAGE.NOT_SET);
                    continue;
                }
                else
                {
                    ;
                }

                m_dictSignalsAdvised.Remove(kks_name);

                //Logging.Logg().Action(@"Отписка на сигнал" + strIds + kks_name, Logging.INDEX_MESSAGE.NOT_SET);
            }
        }