Exemplo n.º 1
0
        //установка значения атриибутов
        public void SetValueAttributes(IgObject gobj, AttributesDictionary source)
        {
            if (gobj == null)
            {
                throw new IgObjectsNullReferenceExceptions();
            }
            if (source == null)
            {
                throw new ArgumentNullException($"Класс-слоаварь равен null");
            }
            gobj.CheckOutWithCheckStatus();

            foreach (var item in source)
            {
                IAttribute attr = gobj.GetAttributesAny()[item.Key];
                if (attr.CommandResult.Successful && attr != null)
                {
                    attr.SetValue(item.Value);
                }
            }
            gobj.SaveAndCheckIn();
            if (!gobj.CommandResult.Successful)
            {
                throw new GalaxyExceptions($"Не удается охранить объект {gobj.Tagname}.");
            }
        }
Exemplo n.º 2
0
        //Проверить, существует ли такой атрибут.
        public static bool IsExistAttribute(this IgObject gobj, string attrname)
        {
            if (gobj == null)
            {
                throw new ArgumentNullException($" Объект {gobj.Tagname} не существует или NULL");
            }
            if (string.IsNullOrWhiteSpace(attrname))
            {
                throw new Exception($"Имя атрибутта {nameof(attrname)} не может быть пустым");
            }
            try
            {
                var attrs = gobj.GetAttributesAny();// TODO: проверить нужно ли брать на редактирвоание
                var attr  = attrs[attrname];
                if (attr == null)
                {
                    return(false);
                }
                return(true);
            }
            catch (Exception)
            {
                return(false);

                throw; //TODO: может и не надо прокидывать дальше
            }
        }
Exemplo n.º 3
0
        // возвращает значение атрибта в MX
        public IMxValue GetMxValueAttribute(IgObject gobj, string attr_name)
        {
            if (string.IsNullOrEmpty(attr_name))
            {
                throw new AttributeNullReferenceException();
            }
            var attrs = gobj.GetAttributesAny();

            return(attrs[attr_name].value);
        }
Exemplo n.º 4
0
        public static string[] GetInhScriptsName(this IgObject gobj)
        {
            if (gobj == null)
            {
                throw new IgObjectsNullReferenceExceptions();
            }
            var           attrStringXml_mine = gobj.GetAttributesAny(false)["_InheritedExtensions"].value.GetString();
            XmlSerializer xmlExtension_mine  = new XmlSerializer(typeof(ExtensionInfo));
            var           attrString         = new StringReader(attrStringXml_mine);
            var           attrDeserialize    = (ExtensionInfo)xmlExtension_mine.Deserialize(attrString);
            var           res_mine           = attrDeserialize.ObjectExtension.Extension.Select(x => x.Name).ToArray();

            return(res_mine);
        }
Exemplo n.º 5
0
        // Получаем знаения UDA
        public static Dictionary <string, string> GetUDAValues(this IgObject gobj)
        {
            if (gobj == null)
            {
                throw new IgObjectsNullReferenceExceptions();
            }
            Dictionary <string, string> udas = new Dictionary <string, string>();
            var attrs     = gobj?.GetAttributesAny();
            var uda_names = gobj?.GetInheritsUDANames().Concat(gobj?.GetMineUDANames().ToArray());

            foreach (var name in uda_names)
            {
                udas.Add(name, attrs[name].value.GetString());
            }
            return(udas);
        }
Exemplo n.º 6
0
 //Полчучаем значение атрибута
 public static string GetAttributeValue(this IgObject gobj, string attrname)
 {
     if (gobj == null)
     {
         throw new ArgumentNullException($" Объект {gobj.Tagname} не существует или NULL");
     }
     if (string.IsNullOrWhiteSpace(attrname))
     {
         throw new Exception($"Имя атрибута {nameof(attrname)} не может быть пустым");
     }
     if (gobj.IsExistAttribute(attrname))
     {
         var attrs = gobj.GetAttributesAny();
         return(attrs[attrname]?.value?.GetString());
     }
     else
     {
         return(null);
     }
 }