СправочникСсылка (CatalogRef)
Inheritance: BaseCatalogProperties, IObjectRef
Exemplo n.º 1
0
        /// <summary>
        /// НайтиПоРеквизиту (FindByAttribute)
        /// </summary>
        /// <param name="attributeName"></param>
        /// <param name="value"></param>
        /// <param name="parent"></param>
        /// <param name="owner"></param>
        /// <returns></returns>
        public CatalogRef FindByAttribute(string attributeName, object value, CatalogRef parent, CatalogRef owner)
        {
            object ptr = InvokeV8Method("FindByAttribute",
                                        attributeName,
                                        value,
                                        parent != null ? parent.Ptr : null,
                                        owner != null ? owner.Ptr : null
                                        );

            return(ptr != null ? new CatalogRef(Session, CatalogName, ptr) : null);
        }
Exemplo n.º 2
0
        /// <summary>
        /// НайтиПоНаименованию (FindByDescription)
        /// </summary>
        /// <param name="desc"></param>
        /// <param name="exactlyEqual"></param>
        /// <param name="parent"></param>
        /// <param name="owner"></param>
        /// <returns></returns>
        public CatalogRef FindByDescription(string desc, bool exactlyEqual, CatalogRef parent, CatalogRef owner)
        {
            object ptr = InvokeV8Method("FindByDescription",
                                        desc,
                                        exactlyEqual,
                                        parent != null ? parent.Ptr : null,
                                        owner != null ? owner.Ptr : null
                                        );

            return(ptr != null ? new CatalogRef(Session, CatalogName, ptr) : null);
        }
Exemplo n.º 3
0
        /// <summary>
        /// НайтиПоКоду (FindByCode)
        /// </summary>
        /// <param name="code"></param>
        /// <param name="byFullCode"></param>
        /// <param name="parent"></param>
        /// <param name="owner"></param>
        /// <returns></returns>
        public CatalogRef FindByCode(object code, bool byFullCode, CatalogRef parent, CatalogRef owner)
        {
            object ptr = InvokeV8Method("FindByCode",
                                        code,
                                        byFullCode,
                                        parent != null ? parent.Ptr : null,
                                        owner != null ? owner.Ptr : null
                                        );

            return(ptr != null ? new CatalogRef(Session, CatalogName, ptr) : null);
        }
Exemplo n.º 4
0
        internal bool TryParseValueFromV8Xml(Session session, string strValue, out object value)
        {
            value = null;

            switch (Type)
            {
                case TypeEnum.Boolean:
                    {
                        bool bv;
                        if (bool.TryParse(strValue, out bv))
                        {
                            value = bv;
                            return true;
                        }
                    }
                    break;
                case TypeEnum.Date:
                    {
                        DateTime dt;
                        if (DateTime.TryParse(strValue, out dt))
                        {
                            value = dt;
                            return true;
                        }
                    }
                    break;
                case TypeEnum.String:
                    value = strValue;
                    return true;

                case TypeEnum.Decimal:
                    {
                        decimal dc;
                        if (decimal.TryParse(strValue, NumberStyles.Number, CultureInfo.InvariantCulture, out dc))
                        {
                            value = dc;
                            return true;
                        }
                    }
                    break;

                case TypeEnum.CatalogRef:
                    {
                        if (string.IsNullOrEmpty(strValue))
                        {
                            value = null;
                            return true;
                        }

                        value = new CatalogRef(session, ReferenceTypeName, strValue);
                    }
                    return true;
                case TypeEnum.DocumentRef:
                    {
                        if (string.IsNullOrEmpty(strValue))
                        {
                            value = null;
                            return true;
                        }

                        value = new DocumentRef(session, ReferenceTypeName, strValue);
                    }
                    return true;
                case TypeEnum.EnumRef:
                    {
                        if (string.IsNullOrEmpty(strValue))
                        {
                            value = null;
                            return true;
                        }

                        value = new EnumRef(session, ReferenceTypeName, strValue);
                    }
                    return true;
            }
            
            return false;
        }
Exemplo n.º 5
0
        internal bool TryParseValueFromV8Xml(Session session, string strValue, out object value)
        {
            value = null;

            switch (Type)
            {
            case TypeEnum.Boolean:
            {
                bool bv;
                if (bool.TryParse(strValue, out bv))
                {
                    value = bv;
                    return(true);
                }
            }
            break;

            case TypeEnum.Date:
            {
                DateTime dt;
                if (DateTime.TryParse(strValue, out dt))
                {
                    value = dt;
                    return(true);
                }
            }
            break;

            case TypeEnum.String:
                value = strValue;
                return(true);

            case TypeEnum.Decimal:
            {
                decimal dc;
                if (decimal.TryParse(strValue, NumberStyles.Number, CultureInfo.InvariantCulture, out dc))
                {
                    value = dc;
                    return(true);
                }
            }
            break;

            case TypeEnum.CatalogRef:
            {
                if (string.IsNullOrEmpty(strValue))
                {
                    value = null;
                    return(true);
                }

                value = new CatalogRef(session, ReferenceTypeName, strValue);
            }
                return(true);

            case TypeEnum.DocumentRef:
            {
                if (string.IsNullOrEmpty(strValue))
                {
                    value = null;
                    return(true);
                }

                value = new DocumentRef(session, ReferenceTypeName, strValue);
            }
                return(true);

            case TypeEnum.EnumRef:
            {
                if (string.IsNullOrEmpty(strValue))
                {
                    value = null;
                    return(true);
                }

                value = new EnumRef(session, ReferenceTypeName, strValue);
            }
                return(true);
            }

            return(false);
        }
Exemplo n.º 6
0
 /// <summary>
 /// НайтиПоРеквизиту (FindByAttribute)
 /// </summary>
 /// <param name="attributeName"></param>
 /// <param name="value"></param>
 /// <param name="parent"></param>
 /// <param name="owner"></param>
 /// <returns></returns>
 public CatalogRef FindByAttribute(string attributeName, object value, CatalogRef parent, CatalogRef owner)
 {
     object ptr = InvokeV8Method("FindByAttribute",
        attributeName,
        value,
        parent != null ? parent.Ptr : null,
        owner != null ? owner.Ptr : null
        );
     return ptr != null ? new CatalogRef(Session, CatalogName, ptr) : null;
 }
Exemplo n.º 7
0
 /// <summary>
 /// НайтиПоНаименованию (FindByDescription)
 /// </summary>
 /// <param name="desc"></param>
 /// <param name="exactlyEqual"></param>
 /// <param name="parent"></param>
 /// <param name="owner"></param>
 /// <returns></returns>
 public CatalogRef FindByDescription(string desc, bool exactlyEqual, CatalogRef parent, CatalogRef owner)
 {
     object ptr = InvokeV8Method("FindByDescription",
        desc,
        exactlyEqual,
        parent != null ? parent.Ptr : null,
        owner != null ? owner.Ptr : null
        );
     return ptr != null ? new CatalogRef(Session, CatalogName, ptr) : null;
 }
Exemplo n.º 8
0
        /// <summary>
        /// НайтиПоКоду (FindByCode)
        /// </summary>
        /// <param name="code"></param>
        /// <param name="byFullCode"></param>
        /// <param name="parent"></param>
        /// <param name="owner"></param>
        /// <returns></returns>
        public CatalogRef FindByCode(object code, bool byFullCode, CatalogRef parent, CatalogRef owner)
        {
            object ptr = InvokeV8Method("FindByCode", 
                code, 
                byFullCode,
                parent != null ? parent.Ptr : null, 
                owner != null ? owner.Ptr : null
                );

            return ptr != null ? new CatalogRef(Session, CatalogName, ptr) : null;
        }
Exemplo n.º 9
0
 /// <summary>
 /// УстановитьСсылкуНового (SetNewObjectRef)
 /// </summary>
 /// <param name="catRef"></param>
 public void SetNewObjectRef(CatalogRef catRef)
 {
     InvokeV8Method("SetNewObjectRef", catRef.Ptr);
 }
Exemplo n.º 10
0
 /// <summary>
 /// ПринадлежитЭлементу (BelongsToItem)
 /// </summary>
 /// <param name="catalogRef"></param>
 /// <returns></returns>
 public bool BelongsToItem(CatalogRef catalogRef)
 {
     return((bool)InvokeV8Method("BelongsToItem", catalogRef.Ptr));
 }
Exemplo n.º 11
0
 /// <summary>
 /// УстановитьСсылкуНового (SetNewObjectRef)
 /// </summary>
 /// <param name="catRef"></param>
 public void SetNewObjectRef(CatalogRef catRef)
 {
     InvokeV8Method("SetNewObjectRef", catRef.Ptr);
 }
Exemplo n.º 12
0
 /// <summary>
 /// ПринадлежитЭлементу (BelongsToItem)
 /// </summary>
 /// <param name="catalogRef"></param>
 /// <returns></returns>
 public bool BelongsToItem(CatalogRef catalogRef)
 {
     return (bool) InvokeV8Method("BelongsToItem", catalogRef.Ptr);
 }