Example #1
0
        StudioResourceRepository BuildExplorerItems(IResourceRepository resourceRepository)
        {
            var resourceModels     = resourceRepository.All();
            var localhostItemModel = new ExplorerItemModel {
                DisplayName = "localhost", EnvironmentId = Guid.Empty, ResourceType = Common.Interfaces.Data.ResourceType.Server
            };

            if (resourceModels != null)
            {
                foreach (var resourceModel in resourceModels)
                {
                    var resourceItemModel = new ExplorerItemModel {
                        ResourceId = resourceModel.ID, ResourcePath = resourceModel.Category, EnvironmentId = Guid.Empty, DisplayName = resourceModel.ResourceName
                    };
                    Common.Interfaces.Data.ResourceType correctTyping = Common.Interfaces.Data.ResourceType.WorkflowService;
                    switch (resourceModel.ResourceType)
                    {
                    case ResourceType.WorkflowService:
                        correctTyping = Common.Interfaces.Data.ResourceType.WorkflowService;
                        break;

                    case ResourceType.Service:
                        correctTyping = Common.Interfaces.Data.ResourceType.DbService;
                        break;

                    case ResourceType.Source:
                        correctTyping = Common.Interfaces.Data.ResourceType.WebSource;
                        break;
                    }
                    resourceItemModel.ResourceType = correctTyping;

                    var categoryItem = localhostItemModel.Children.FirstOrDefault(model => model.DisplayName == resourceModel.Category);
                    if (categoryItem == null)
                    {
                        categoryItem = new ExplorerItemModel {
                            Parent = localhostItemModel, DisplayName = resourceModel.Category, EnvironmentId = Guid.Empty, ResourceType = Common.Interfaces.Data.ResourceType.Folder, ResourcePath = ""
                        };
                        localhostItemModel.Children.Add(categoryItem);
                    }
                    resourceItemModel.Parent = categoryItem;
                    categoryItem.Children.Add(resourceItemModel);
                }
            }
            var studioResourceRepository   = new StudioResourceRepository(localhostItemModel, _Invoke);
            var explorerResourceRepository = new Mock <IClientExplorerResourceRepository>().Object;

            studioResourceRepository.GetExplorerProxy = guid => explorerResourceRepository;
            return(studioResourceRepository);
        }
        IStudioResourceRepository BuildExplorerItems(IResourceRepository resourceRepository,bool mockClone = true)
        {
            var resourceModels = resourceRepository.All();
            var localhostItemModel = new ExplorerItemModel(new Mock<IConnectControlSingleton>().Object, new Mock<IStudioResourceRepository>().Object) { DisplayName = "localhost", EnvironmentId = Guid.Empty, ResourceType = Common.Interfaces.Data.ResourceType.Server };

            if(resourceModels != null)
            {
                foreach(var resourceModel in resourceModels)
                {
                    var resourceItemModel = new ExplorerItemModel(new Mock<IConnectControlSingleton>().Object, new Mock<IStudioResourceRepository>().Object) { ResourceId = resourceModel.ID, ResourcePath = resourceModel.Category, EnvironmentId = Guid.Empty, DisplayName = resourceModel.ResourceName };
                    Common.Interfaces.Data.ResourceType correctTyping = Common.Interfaces.Data.ResourceType.WorkflowService;
                    switch(resourceModel.ResourceType)
                    {
                        case ResourceType.WorkflowService:
                            correctTyping = Common.Interfaces.Data.ResourceType.WorkflowService;
                            break;
                        case ResourceType.Service:
                            correctTyping = Common.Interfaces.Data.ResourceType.DbService;
                            break;
                        case ResourceType.Source:
                            correctTyping = Common.Interfaces.Data.ResourceType.WebSource;
                            break;
                    }
                    resourceItemModel.ResourceType = correctTyping;

                    var categoryItem = localhostItemModel.Children.FirstOrDefault(model => model.DisplayName == resourceModel.Category);
                    if(categoryItem == null)
                    {
                        categoryItem = new ExplorerItemModel(new Mock<IConnectControlSingleton>().Object, new Mock<IStudioResourceRepository>().Object) { Parent = localhostItemModel, DisplayName = resourceModel.Category, EnvironmentId = Guid.Empty, ResourceType = Common.Interfaces.Data.ResourceType.Folder, ResourcePath = "" };
                        localhostItemModel.Children.Add(categoryItem);
                    }
                    resourceItemModel.Parent = categoryItem;
                    categoryItem.Children.Add(resourceItemModel);
                }
            }
            var studioResourceRepository = new StudioResourceRepository(localhostItemModel, _Invoke);
            if (mockClone)
            studioResourceRepository.ExplorerItemModelClone = a => a;
            else
            studioResourceRepository.ExplorerItemModelClone = a => a.Clone( new Mock<IConnectControlSingleton>().Object,studioResourceRepository);
            var explorerResourceRepository = new Mock<IClientExplorerResourceRepository>().Object;
            studioResourceRepository.GetExplorerProxy = guid => explorerResourceRepository;
            return studioResourceRepository;
        }
        StudioResourceRepository BuildExplorerItems(IResourceRepository resourceRepository)
        {
            var resourceModels = resourceRepository.All();
            var localhostItemModel = new ExplorerItemModel { DisplayName = "localhost", EnvironmentId = Guid.Empty, ResourceType = ResourceType.Server };

            if(resourceModels != null)
            {
                foreach(var resourceModel in resourceModels)
                {
                    var resourceItemModel = new ExplorerItemModel { ResourceId = resourceModel.ID, ResourcePath = resourceModel.Category, EnvironmentId = Guid.Empty, DisplayName = resourceModel.ResourceName };
                    ResourceType correctTyping = ResourceType.WorkflowService;
                    switch(resourceModel.ResourceType)
                    {
                        case Studio.Core.AppResources.Enums.ResourceType.WorkflowService:
                            correctTyping = ResourceType.WorkflowService;
                            break;
                        case Studio.Core.AppResources.Enums.ResourceType.Service:
                            correctTyping = ResourceType.DbService;
                            break;
                        case Studio.Core.AppResources.Enums.ResourceType.Source:
                            correctTyping = ResourceType.WebSource;
                            break;
                    }
                    resourceItemModel.ResourceType = correctTyping;

                    var categoryItem = localhostItemModel.Children.FirstOrDefault(model => model.DisplayName == resourceModel.Category);
                    if(categoryItem == null)
                    {
                        categoryItem = new ExplorerItemModel { Parent = localhostItemModel, DisplayName = resourceModel.Category, EnvironmentId = Guid.Empty, ResourceType = ResourceType.Folder, ResourcePath = "" };
                        localhostItemModel.Children.Add(categoryItem);
                    }
                    resourceItemModel.Parent = categoryItem;
                    categoryItem.Children.Add(resourceItemModel);
                }
            }
            var studioResourceRepository = new StudioResourceRepository(localhostItemModel, _Invoke);
            var explorerResourceRepository = new Mock<IClientExplorerResourceRepository>().Object;
            studioResourceRepository.GetExplorerProxy = guid => explorerResourceRepository;
            return studioResourceRepository;

        }
Example #4
0
 public async Task <IEnumerable <DomainResource?> > GetAllByType(string type)
 {
     return(string.IsNullOrWhiteSpace(type)
         ? (await _resources.All()).Select(_mapper.Map <DomainResource>)
         : (await _resources.ByType(type)).Select(_mapper.Map <DomainResource>));
 }