コード例 #1
0
        public async Task <object> Delete(string token, dynamic data, string json = "")
        {
            try
            {
                data = data ?? JsonConvert.DeserializeObject <dynamic>(json);
                if (data != null)//单实体
                {
                    if (data.GetType().IsValueType)
                    {
                        OnEntityDeleting?.Invoke(new object[] { data });
                        int r = await Delete(data);

                        OnEntityDeleted?.Invoke(new object[] { data });
                        return(r);
                    }
                    else if (data.GetType() == typeof(JArray))
                    {
                        JArray   array = data as JArray;
                        object[] key   = array.ToObject <object[]>();
                        OnEntityDeleting?.Invoke(key);
                        int r = await Delete(key);

                        OnEntityDeleted?.Invoke(key);
                        return(r);
                    }
                }
                throw new Exception("获取删除关键字失败,未找到id或ids");
            }
            catch (Exception e)
            {
                throw e;
            }
        }
コード例 #2
0
    public void DeleteEntity(BIWEntity entityToDelete, bool checkSelection)
    {
        if (entityToDelete.IsSelected && checkSelection)
        {
            DeselectEntity(entityToDelete);
        }

        if (selectedEntities.Contains(entityToDelete))
        {
            selectedEntities.Remove(entityToDelete);
            hudController?.UpdateEntitiesSelection(selectedEntities.Count);
        }

        string entityName = entityToDelete.GetDescriptiveName();

        if (entityNameList.Contains(entityName))
        {
            entityNameList.Remove(entityName);
        }

        RemoveConvertedEntity(entityToDelete.rootEntity);
        entityToDelete.rootEntity.OnRemoved -= RemoveConvertedEntity;
        entityToDelete.Delete();
        string idToRemove = entityToDelete.rootEntity.entityId;

        OnEntityDeleted?.Invoke(entityToDelete);
        creatorController.RemoveLoadingObjectInmediate(entityToDelete.rootEntity.entityId);
        if (sceneToEdit.entities.ContainsKey(idToRemove))
        {
            sceneToEdit.RemoveEntity(idToRemove, true);
        }

        hudController?.RefreshCatalogAssetPack();
        EntityListChanged();
        bridge?.RemoveEntityOnKernel(idToRemove, sceneToEdit);
    }