Beispiel #1
0
        /// <summary>
        /// Загрузить адресную книгу или получить её из общих свойств линии связи
        /// </summary>
        private void LoadAddressBook()
        {
            object addrBookObj;

            if (CommonProps.TryGetValue("AddressBook", out addrBookObj))
            {
                addressBook = addrBookObj as AB.AddressBook;
            }
            else
            {
                addressBook = new AB.AddressBook();
                CommonProps.Add("AddressBook", addressBook);

                string fileName = AppDirs.ConfigDir + AB.AddressBook.DefFileName;
                if (File.Exists(fileName))
                {
                    WriteToLog(Localization.UseRussian ?
                               "Загрузка адресной книги" :
                               "Loading address book");
                    string errMsg;
                    if (!addressBook.Load(fileName, out errMsg))
                    {
                        WriteToLog(errMsg);
                    }
                }
                else
                {
                    WriteToLog(Localization.UseRussian ?
                               "Адресная книга отсутствует" :
                               "Address book is missing");
                }
            }
        }
Beispiel #2
0
        /// <summary>
        /// Gets or creates the template dictionary from the common line properties.
        /// </summary>
        private TemplateDict GetTemplateDictionary()
        {
            TemplateDict templateDict = CommonProps.ContainsKey(TemplateDictKey) ?
                                        CommonProps[TemplateDictKey] as TemplateDict : null;

            if (templateDict == null)
            {
                templateDict = new TemplateDict();
                CommonProps.Add(TemplateDictKey, templateDict);
            }

            return(templateDict);
        }
Beispiel #3
0
        /// <summary>
        /// Получить из общих свойств линии связи или создать список сообщений, представленных в виде object[]
        /// </summary>
        private List <object[]> GetMessageObjList()
        {
            List <object[]> messages = CommonProps.ContainsKey("Messages") ?
                                       CommonProps["Messages"] as List <object[]> : null;

            if (messages == null)
            {
                messages = new MessageObjList();
                CommonProps.Add("Messages", messages);
            }

            return(messages);
        }
Beispiel #4
0
        /// <summary>
        /// Gets the template dictionary from the common properties or creates it.
        /// </summary>
        private Dictionary <string, DeviceTemplate> GetTemplateDictionary()
        {
            Dictionary <string, DeviceTemplate> templateDict = CommonProps.ContainsKey(TemplateDictKey) ?
                                                               CommonProps[TemplateDictKey] as Dictionary <string, DeviceTemplate> : null;

            if (templateDict == null)
            {
                templateDict = new TemplateDict();
                CommonProps.Add(TemplateDictKey, templateDict);
            }

            return(templateDict);
        }
Beispiel #5
0
        /// <summary>
        /// Получить из общих свойств линии связи или создать словарь шаблонов устройств
        /// </summary>
        private Dictionary <string, DeviceTemplate> GetTemplates()
        {
            Dictionary <string, DeviceTemplate> templates = CommonProps.ContainsKey("Templates") ?
                                                            CommonProps["Templates"] as Dictionary <string, DeviceTemplate> : null;

            if (templates == null)
            {
                templates = new TemplateDict();
                CommonProps.Add("Templates", templates);
            }

            return(templates);
        }
Beispiel #6
0
        /// <summary>
        /// Выполнить действия при запуске линии связи
        /// </summary>
        public override void OnCommLineStart()
        {
            // определение, является ли КП основным на линии связи
            // основным автоматически считается первый КП на линии связи
            object primaryObj;

            if (CommonProps.TryGetValue("KpSmsPrimary", out primaryObj))
            {
                primary     = false;
                addressBook = null;
            }
            else
            {
                primary = true;
                CommonProps.Add("KpSmsPrimary", Caption);

                // загрузка адресной книги
                string fileName = AppDirs.ConfigDir + AB.AddressBook.DefFileName;
                if (File.Exists(fileName))
                {
                    WriteToLog(Localization.UseRussian ?
                               "Загрузка адресной книги" :
                               "Loading address book");
                    addressBook = new AB.AddressBook();
                    string errMsg;
                    if (!addressBook.Load(fileName, out errMsg))
                    {
                        WriteToLog(errMsg);
                    }
                }
                else
                {
                    addressBook = null;
                    WriteToLog(Localization.UseRussian ?
                               "Адресная книга отсутствует" :
                               "Address book is missing");
                }
            }
        }
Beispiel #7
0
        /// <summary>
        /// Выполнить действия при запуске линии связи
        /// </summary>
        public override void OnCommLineStart()
        {
            // определение, является ли КП основным на линии связи
            // основным автоматически считается первый КП на линии связи
            object primaryObj;

            if (CommonProps.TryGetValue("KpSmsPrimary", out primaryObj))
            {
                primary   = false;
                phonebook = null;
            }
            else
            {
                primary = true;
                CommonProps.Add("KpSmsPrimary", Caption);

                // загрузка телефонного справочника
                string fileName = AppDirs.ConfigDir + Phonebook.DefFileName;
                if (File.Exists(fileName))
                {
                    WriteToLog(Localization.UseRussian ?
                               "Загрузка телефонного справочника" :
                               "Loading phone book");
                    phonebook = new Phonebook();
                    string errMsg;
                    if (!phonebook.Load(fileName, out errMsg))
                    {
                        ScadaUtils.ShowError(errMsg);
                    }
                }
                else
                {
                    phonebook = null;
                    WriteToLog(Localization.UseRussian ?
                               "Телефонный справочник отсутствует" :
                               "Phone book is missing");
                }
            }
        }
Beispiel #8
0
        /// <summary>
        /// Выполнить действия при запуске линии связи
        /// </summary>
        public override void OnCommLineStart()
        {
            // определение, является ли КП основным на линии связи
            // основным автоматически считается первый КП на линии связи
            object primaryObj;

            if (CommonProps.TryGetValue("KpSmsPrimary", out primaryObj))
            {
                primary     = false;
                addressBook = null;
            }
            else
            {
                primary = true;
                CommonProps.Add("KpSmsPrimary", Caption);

                // загрузка адресной книги
                if (!AbUtils.LoadAddressBook(AppDirs.ConfigDir, WriteToLog, out addressBook))
                {
                    addressBook = null;
                }
            }
        }