Пример #1
0
        /// <summary>
        /// Добавить опознанный объект при загрузке из LUA
        /// </summary>
        /// <param name="obj">Объект</param>
        private void AddIdentifiedObjectWhenLoadFromLua(
            TechObject.TechObject obj)
        {
            BaseTechObject baseTechObject = obj.BaseTechObject;
            var            type           = (BaseTechObjectManager.ObjectType)baseTechObject
                                            .S88Level;
            string name = BaseTechObjectManager.GetInstance()
                          .GetS88Name(baseTechObject.S88Level);

            switch (type)
            {
            case BaseTechObjectManager.ObjectType.ProcessCell:
                AddProcessCellFromLua(obj);
                break;

            case BaseTechObjectManager.ObjectType.Unit:
                AddS88ObjectFromLua(obj, name);
                break;

            case BaseTechObjectManager.ObjectType.Aggregate:
                AddS88ObjectFromLua(obj, name);
                break;

            case BaseTechObjectManager.ObjectType.UserObject:
                AddUserObject(obj);
                break;
            }
        }
Пример #2
0
        /// <summary>
        /// Загрузка базовых объектов в редактор из файлов описания
        /// </summary>
        private void LoadBaseTechObjectsFromFiles()
        {
            IBaseTechObjectManager baseTechObjectManager =
                BaseTechObjectManager.GetInstance();
            IBaseTechObjectsLoader baseTechObjectsLoader =
                new BaseTechObjectLoader();

            baseTechObjectsLoader.LoadTo(baseTechObjectManager);
        }
        public void GetS88Level_EmptyManager_ReturnS88NumberOfObject(
            string actualS88Name, int expectedS88Level)
        {
            IBaseTechObjectManager manager = BaseTechObjectManager
                                             .GetInstance();

            int actualS88level = manager.GetS88Level(actualS88Name);

            Assert.AreEqual(expectedS88Level, actualS88level);
        }
        public void GetS88Name_EmptyManager_ReturnsStringName(
            int actualS88Level, string expectedS88Name)
        {
            IBaseTechObjectManager manager = BaseTechObjectManager
                                             .GetInstance();

            string actualS88Name = manager.GetS88Name(actualS88Level);

            Assert.AreEqual(expectedS88Name, actualS88Name);
        }
Пример #5
0
 /// <summary>
 /// Инициализация.
 /// </summary>
 public void Init()
 {
     this.editor            = Editor.Editor.GetInstance();
     this.techObjectManager = TechObjectManager.GetInstance();
     Logs.Init(new LogFrm());
     this.IOManager = IOManager.GetInstance();
     DeviceManager.GetInstance();
     this.projectConfiguration = ProjectConfiguration.GetInstance();
     EProjectManager.GetInstance();
     BaseTechObjectManager.GetInstance();
 }
Пример #6
0
        /// <summary>
        /// Инициализация.
        /// </summary>
        public void Init()
        {
            CheckLibsAndFiles();

            editor            = Editor.Editor.GetInstance();
            techObjectManager = TechObjectManager.GetInstance();
            Logs.Init(new LogFrm());
            IOManager = IOManager.GetInstance();
            DeviceManager.GetInstance();
            projectConfiguration = ProjectConfiguration.GetInstance();
            EProjectManager.GetInstance();
            BaseTechObjectManager.GetInstance();
        }
        public void GetTechObjectCopy_EmptyManager_ReturnsCopyOfObjectOrNull(
            IEnumerable <BaseTechObject> objectsToAdd,
            string searchingNameOrEplanName, bool successSearch)
        {
            IBaseTechObjectManager manager = BaseTechObjectManager
                                             .GetInstance();

            manager.Objects.Clear();
            manager.Objects.AddRange(objectsToAdd);

            BaseTechObject obj = manager
                                 .GetTechObjectCopy(searchingNameOrEplanName);

            bool isSearchedOk = obj != null &&
                                (searchingNameOrEplanName == obj.Name ||
                                 searchingNameOrEplanName == obj.EplanName);

            Assert.AreEqual(successSearch, isSearchedOk);
        }
        public void AddBaseObject_EmptyManager_AddObjectsExceptTheSame(
            IEnumerable <BaseTechObject> objectsToAdd, int expectedObjectsCount,
            bool addResult)
        {
            IBaseTechObjectManager manager = BaseTechObjectManager
                                             .GetInstance();

            manager.Objects.Clear();

            bool actualAddResult = false;

            foreach (var obj in objectsToAdd)
            {
                manager.AddBaseObject(obj.Name, obj.EplanName, obj.S88Level,
                                      obj.BasicName, obj.BindingName, obj.IsPID,
                                      obj.LuaModuleName, obj.MonitorName);

                BaseTechObject addedObj = manager.Objects
                                          .Where(x => x.Name == obj.Name ||
                                                 x.EplanName == obj.EplanName)
                                          .FirstOrDefault();
                if (addedObj != null)
                {
                    actualAddResult = addedObj.Name == obj.Name &&
                                      addedObj.EplanName == obj.EplanName &&
                                      addedObj.S88Level == obj.S88Level &&
                                      addedObj.BasicName == obj.BasicName &&
                                      addedObj.BindingName == obj.BindingName &&
                                      addedObj.IsPID == obj.IsPID &&
                                      addedObj.LuaModuleName == obj.LuaModuleName &&
                                      addedObj.MonitorName == obj.MonitorName;
                }
            }

            Assert.Multiple(() =>
            {
                Assert.AreEqual(expectedObjectsCount, manager.Objects.Count);
                Assert.AreEqual(addResult, actualAddResult);
            });
        }
Пример #9
0
        /// <summary>
        /// Импорт объекта, вызывается из LUA.
        /// </summary>
        /// <param name="techN">Номер объекта</param>
        /// <param name="name">Имя</param>
        /// <param name="techType">Тип</param>
        /// <param name="nameEplan">Имя Eplan</param>
        /// <param name="cooperParamNumber">Время совместного перехода</param>
        /// <param name="NameBC">Имя монитор</param>
        /// <param name="baseTechObjectName">Базовый объект</param>
        /// <param name="attachedObjects">Привязанные агрегаты</param>
        public TechObject.TechObject LoadObjects(int globalNumber, int techN,
                                                 string name, int techType, string nameEplan, int cooperParamNumber,
                                                 string NameBC, string baseTechObjectName, string attachedObjects)
        {
            var baseTechObject = BaseTechObjectManager.GetInstance()
                                 .GetTechObjectCopy(baseTechObjectName);

            TechObject.TechObject obj = new TechObject.TechObject(name,
                                                                  null, techN, techType, nameEplan.ToUpper(),
                                                                  cooperParamNumber, NameBC, attachedObjects, baseTechObject);

            if (baseTechObject != null)
            {
                AddIdentifiedObjectWhenLoadFromLua(obj);
            }
            else
            {
                AddUnidentifiedObjectWhenLoadFromLua(obj);
            }

            importedObjects.Add(globalNumber, obj);

            return(obj);
        }