Пример #1
0
        /// <summary>
        /// Convert an internal inventory item object into an LLSD object.
        /// </summary>
        /// <param name="invItem"></param>
        /// <returns></returns>
        private LLSDInventoryItem ConvertInventoryItem(InventoryItemBase invItem)
        {
            LLSDInventoryItem llsdItem = new LLSDInventoryItem();

            llsdItem.asset_id   = invItem.AssetID;
            llsdItem.created_at = invItem.CreationDate;
            llsdItem.desc       = invItem.Description;
            llsdItem.flags      = (int)invItem.Flags;
            llsdItem.item_id    = invItem.ID;
            llsdItem.name       = invItem.Name;
            llsdItem.parent_id  = invItem.Folder;
            llsdItem.type       = invItem.AssetType;
            llsdItem.inv_type   = invItem.InvType;

            llsdItem.permissions                 = new LLSDPermissions();
            llsdItem.permissions.creator_id      = invItem.CreatorIdAsUuid;
            llsdItem.permissions.base_mask       = (int)invItem.CurrentPermissions;
            llsdItem.permissions.everyone_mask   = (int)invItem.EveryOnePermissions;
            llsdItem.permissions.group_id        = invItem.GroupID;
            llsdItem.permissions.group_mask      = (int)invItem.GroupPermissions;
            llsdItem.permissions.is_owner_group  = invItem.GroupOwned;
            llsdItem.permissions.next_owner_mask = (int)invItem.NextPermissions;
            llsdItem.permissions.owner_id        = invItem.Owner;
            llsdItem.permissions.owner_mask      = (int)invItem.CurrentPermissions;
            llsdItem.sale_info            = new LLSDSaleInfo();
            llsdItem.sale_info.sale_price = invItem.SalePrice;
            llsdItem.sale_info.sale_type  = invItem.SaleType;

            return(llsdItem);
        }
Пример #2
0
        /// <summary>
        /// Convert an internal inventory item object into an LLSD object.
        /// </summary>
        /// <param name="invItem"></param>
        /// <returns></returns>
        private LLSDInventoryItem ConvertInventoryItem(InventoryItemBase invItem)
        {
            LLSDInventoryItem llsdItem = new LLSDInventoryItem();

            llsdItem.asset_id   = invItem.AssetID;
            llsdItem.created_at = invItem.CreationDate;
            llsdItem.desc       = invItem.Description;
            llsdItem.flags      = (int)invItem.Flags;
            llsdItem.item_id    = invItem.ID;
            llsdItem.name       = invItem.Name;
            llsdItem.parent_id  = invItem.Folder;

            try
            {
                llsdItem.type     = Utils.AssetTypeToString((AssetType)invItem.AssetType);
                llsdItem.inv_type = Utils.InventoryTypeToString((InventoryType)invItem.InvType);
            }
            catch (Exception e)
            {
                m_log.ErrorFormat(
                    "[WEB FETCH INV DESC HANDLER]: Problem setting asset {0} inventory {1} types while converting inventory item {2}: {3}",
                    invItem.AssetType, invItem.InvType, invItem.Name, e.Message);
            }

            llsdItem.permissions                 = new LLSDPermissions();
            llsdItem.permissions.creator_id      = invItem.CreatorIdAsUuid;
            llsdItem.permissions.base_mask       = (int)invItem.CurrentPermissions;
            llsdItem.permissions.everyone_mask   = (int)invItem.EveryOnePermissions;
            llsdItem.permissions.group_id        = invItem.GroupID;
            llsdItem.permissions.group_mask      = (int)invItem.GroupPermissions;
            llsdItem.permissions.is_owner_group  = invItem.GroupOwned;
            llsdItem.permissions.next_owner_mask = (int)invItem.NextPermissions;
            llsdItem.permissions.owner_id        = invItem.Owner;
            llsdItem.permissions.owner_mask      = (int)invItem.CurrentPermissions;
            llsdItem.sale_info            = new LLSDSaleInfo();
            llsdItem.sale_info.sale_price = invItem.SalePrice;
            switch (invItem.SaleType)
            {
            default:
                llsdItem.sale_info.sale_type = "not";
                break;

            case 1:
                llsdItem.sale_info.sale_type = "original";
                break;

            case 2:
                llsdItem.sale_info.sale_type = "copy";
                break;

            case 3:
                llsdItem.sale_info.sale_type = "contents";
                break;
            }

            return(llsdItem);
        }