Пример #1
0
        //Получаем все экземпляры Галактики
        public IgObjects GetAllInstances()
        {
            var objects = _galaxy.QueryObjects(EgObjectIsTemplateOrInstance.gObjectIsInstance, EConditionType.namedLike, " ", EMatch.MatchCondition);

            GalaxyExceptions.ThrowIfNoSuccess(CommandResult);
            return(objects);
        }
Пример #2
0
        //Возвращает пустую коллекцию
        public IgObjects CreateEmptyGalaxyObjectCollection()
        {
            var collection = _galaxy.CreategObjectCollection();

            GalaxyExceptions.ThrowIfNoSuccess(CommandResult);
            return(collection);
        }
Пример #3
0
        // Возвращает все редактируемые экземпляры
        public IgObjects GetAllCheckedOutInstances()
        {
            var objects = _galaxy.QueryObjects(EgObjectIsTemplateOrInstance.gObjectIsInstance, EConditionType.checkoutStatusIs, ECheckoutStatus.checkedOutToMe, EMatch.MatchCondition);

            GalaxyExceptions.ThrowIfNoSuccess(CommandResult);
            return(objects);
        }
Пример #4
0
        // Возвращает IgObjects коллекцию по списку имен
        public IgObjects GetTemplates(string[] tagNames)
        {
            var objects = _galaxy.QueryObjectsByName(EgObjectIsTemplateOrInstance.gObjectIsTemplate, ref tagNames);

            GalaxyExceptions.ThrowIfNoSuccess(CommandResult);
            return(objects);
        }
Пример #5
0
        // возвращает набор экземпляров (имена еоторых примерно совпадаю) из указананного списка
        public IgObjects GetInstancesLike(string tagName)
        {
            if (string.IsNullOrEmpty(tagName))
            {
                throw new ArgumentException(nameof(tagName));
            }
            var objects = _galaxy.QueryObjects(EgObjectIsTemplateOrInstance.gObjectIsInstance, EConditionType.namedLike, tagName, EMatch.MatchCondition);

            GalaxyExceptions.ThrowIfNoSuccess(CommandResult);
            return(objects);
        }
Пример #6
0
 // Подключение к Galaxy
 public void Login(string userName = null, string password = null, bool bForceSynchronization = false)
 {
     if (!bForceSynchronization)
     {
         _galaxy.Login(userName, password);
     }
     else
     {
         _galaxy.LoginEx(userName, password, bForceSynchronization);
     }
     GalaxyExceptions.ThrowIfNoSuccess(CommandResult);
 }
Пример #7
0
        //Возвращает шаблоны производные от заданного шаблона (выдает только первое поколение)
        public IgObjects GetTemplatesDerivedFrom(string tagName)
        {
            if (string.IsNullOrWhiteSpace(tagName))
            {
                throw new ArgumentNullException(nameof(tagName));
            }
            var objects = _galaxy.QueryObjects(EgObjectIsTemplateOrInstance.gObjectIsTemplate,
                                               EConditionType.derivedOrInstantiatedFrom, tagName, EMatch.MatchCondition);

            GalaxyExceptions.ThrowIfNoSuccess(CommandResult);
            return(objects);
        }
Пример #8
0
        // Получить экземпляр если он существует
        public IInstance GetInstanceIfExists(string tagName)
        {
            if (string.IsNullOrWhiteSpace(tagName))
            {
                throw new ArgumentException(nameof(tagName));
            }
            var objects = _galaxy.QueryObjects(EgObjectIsTemplateOrInstance.gObjectIsInstance, EConditionType.NameEquals, tagName, EMatch.MatchCondition);

            GalaxyExceptions.ThrowIfNoSuccess(CommandResult);
            if (objects == null || objects.count == 0)
            {
                return(null);
            }
            return((IInstance)(objects[tagName]));
        }
Пример #9
0
        //Создание шаблона из шаблона
        public ITemplate CreateTemplate(string tagName, ITemplate parent)
        {
            if (string.IsNullOrWhiteSpace(tagName))
            {
                throw new ArgumentException(nameof(tagName));
            }
            if (parent == null)
            {
                throw new ArgumentNullException(nameof(parent));
            }
            ITemplate result = parent.CreateTemplate(tagName, true);

            GalaxyExceptions.ThrowIfNoSuccess(CommandResult);
            return(result);
        }
Пример #10
0
        //получение Galaxy по имени
        public static IGalaxy GetGalaxy(string galaxyName, string nodeName)
        {
            if (string.IsNullOrEmpty(galaxyName))
            {
                throw new ArgumentException(nameof(galaxyName));
            }
            _grAccessApp = null;
            _grAccessApp = new GRAccessApp();
            var galaxies = _grAccessApp.QueryGalaxies(nodeName);

            GalaxyExceptions.ThrowIfNoSuccess(_grAccessApp.CommandResult);
            IGalaxy galaxy = galaxies[galaxyName];

            GalaxyExceptions.ThrowIfNoSuccess(_grAccessApp.CommandResult);
            return(galaxy == null ? throw new GalaxyObjectNotFoundException(galaxyName) : galaxy);
        }
Пример #11
0
        // Возвращает набор экземпляров из указанного списка
        public IgObjects GetInstances(string[] tagNames)
        {
            if (tagNames.Length <= 0)
            {
                throw new Exception("$Список тегов не может быть пустым.");
            }
            foreach (var item in tagNames)
            {
                if (string.IsNullOrWhiteSpace(item))
                {
                    throw new ArgumentException(nameof(tagNames));
                }
            }
            var objects = _galaxy.QueryObjectsByName(EgObjectIsTemplateOrInstance.gObjectIsInstance, ref tagNames);

            GalaxyExceptions.ThrowIfNoSuccess(CommandResult);
            return(objects);
        }
Пример #12
0
        //Создаем и возвращаем экземпляр из указанного шаблона - добавлять area или нет ????
        public IInstance CreateInstance(string tagName, ITemplate template, string containerName = null)
        {
            if (string.IsNullOrWhiteSpace(tagName))
            {
                throw new ArgumentException(nameof(tagName));
            }
            if (template == null)
            {
                throw new ArgumentNullException(nameof(template));
            }
            IInstance instance = template.CreateInstance(tagName, true);

            if (instance == null)
            {
                string msg = string.Format($"Объект с именем {tagName} не создан! " +
                                           _galaxy.CommandResult != null && !_galaxy.CommandResult.Successful ? _galaxy.CommandResult.Text + " "
                                           + _galaxy.CommandResult.CustomMessage :
                                           "Возможно такой объект уже существует.");
                throw new GalaxyCannotCreateInstanceException(tagName, msg, template, template.CommandResult);
            }
            if (!string.IsNullOrWhiteSpace(containerName))
            {
                try
                {
                    ((IgObject)instance).CheckOutWithCheckStatus();
                    instance.Container = containerName;
                    var text = instance.CommandResult.Text + " - " + instance.CommandResult.CustomMessage;
                    GalaxyExceptions.ThrowIfNoSuccess(instance.CommandResult, $"Ошибка при назначении объекту {tagName} контейнера {containerName}\n");
                }
                catch { throw; }
                finally
                {
                    ((IgObject)instance).SaveAndCheckIn($"Установка для объекта {tagName} Container={containerName}");
                }
            }
            GalaxyExceptions.ThrowIfNoSuccess(CommandResult);

            return(instance);
        }
Пример #13
0
        // Возвращает экземпляры производыне от заданного шаблона
        public IgObjects GetInstancesDerividedFrom(string tagName)
        {
            IgObjects gobjects = null;

            try
            {
                if (string.IsNullOrEmpty(tagName))
                {
                    throw new ArgumentNullException(nameof(tagName));
                }
                gobjects = _galaxy.QueryObjects(EgObjectIsTemplateOrInstance.gObjectIsInstance, EConditionType.derivedOrInstantiatedFrom, tagName, EMatch.MatchCondition);
                GalaxyExceptions.ThrowIfNoSuccess(CommandResult);
                return(gobjects);
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                gobjects = null;
                GC.Collect();
            }
        }