Beispiel #1
0
        protected object CreateComponent()
        {
            string typeId            = Request["typeId"];
            string systemName        = Request["systemName"];
            string displayName       = Request["displayName"];
            string folderSystemName  = Request["folderSystemName"];
            string folderDisplayName = Request["folderDisplayName"];

            if (string.IsNullOrEmpty(folderSystemName))
            {
                throw new UserFriendlyException("Не указана папка для нового компонента");
            }

            if (string.IsNullOrEmpty(typeId))
            {
                throw new UserFriendlyException("Не указан тип компонента");
            }
            if (string.IsNullOrEmpty(systemName))
            {
                throw new UserFriendlyException("Не указано системное имя компонента");
            }
            Guid typeIdGuid = new Guid(typeId);
            var  dispatcher = GetDispatcherClient();

            // создаем папку
            var getFolderData = new GetOrCreateComponentRequestData()
            {
                SystemName  = folderSystemName,
                DisplayName = folderDisplayName,
                TypeId      = SystemComponentTypes.Folder.Id
            };
            var folderResponse = dispatcher.GetOrCreateComponent(CurrentUser.AccountId, getFolderData);

            if (folderResponse.Success == false)
            {
                throw new UserFriendlyException("Не удалось создать папку для нового компонента: " + folderResponse.ErrorMessage);
            }

            // создаем компонент
            var data = new GetOrCreateComponentRequestData()
            {
                DisplayName       = displayName,
                SystemName        = systemName,
                TypeId            = typeIdGuid,
                ParentComponentId = folderResponse.Data.Component.Id
            };
            var componentResponse = dispatcher.GetOrCreateComponent(CurrentUser.AccountId, data);

            if (componentResponse.Success)
            {
                return(new { id = componentResponse.Data.Component.Id });
            }
            throw new UserFriendlyException("Не удалось создать новый компонент: " + componentResponse.ErrorMessage);
        }
Beispiel #2
0
        public static Zidium.Core.Api.GetOrCreateComponentRequestData ConvertToCore(GetOrAddComponentRequestDtoData data)
        {
            if (data == null)
            {
                return(null);
            }
            var newMessage = new Zidium.Core.Api.GetOrCreateComponentRequestData
            {
                ParentComponentId = data.ParentComponentId,
                DisplayName       = data.DisplayName,
                SystemName        = data.SystemName,
                TypeId            = data.TypeId,
                Version           = data.Version,
                Properties        = ConvertToCore(data.Properties)
            };

            return(newMessage);
        }