Пример #1
0
        private bool TryBuildCompositeQuery(
            XElement compositeDefinition,
            IResourceModel resourceModel,
            IDictionary <string, CompositeSpecificationParameter> filterCriteria,
            IDictionary <string, object> queryStringParameters,
            out CompositeQuery compositeQuery)
        {
            compositeQuery = null;

            var aliasGenerator = new AliasGenerator(CompositeDefinitionHelper.AliasPrefix);

            var builderContext = new HqlBuilderContext(
                new StringBuilder(),
                new StringBuilder(),
                new StringBuilder(),
                new StringBuilder(),
                new Dictionary <string, object>(StringComparer.InvariantCultureIgnoreCase),
                null,
                1,
                filterCriteria,
                queryStringParameters,
                new Dictionary <string, string>(StringComparer.InvariantCultureIgnoreCase),
                aliasGenerator);

            compositeQuery = _compositeDefinitionProcessor.Process(compositeDefinition, resourceModel, builderContext);

            return(compositeQuery != null);
        }
        internal IDataListViewModel CreateDataListViewModel(IResourceModel resourceModel, IDataListItemModel dataListItemViewModel)
        {
            IDataListViewModel dlVM = CreateDataListViewModel(resourceModel);
            dlVM.DataList.Add(dataListItemViewModel);

            return dlVM;
        }
Пример #3
0
        protected internal ResourceClassBase(
            IResourceModel resourceModel,
            Entity entity,
            FilterContext filterContext,
            Func <IEnumerable <AssociationView> > collectionAssociations,
            Func <IEnumerable <AssociationView> > embbededObjectAssociations)
        {
            Entity             = entity;
            FullName           = new FullName(entity.Schema, entity.Name);
            Description        = entity.Description;
            IsDerived          = entity.IsDerived;
            IsDeprecated       = entity.IsDeprecated;
            DeprecationReasons = entity.DeprecationReasons;

            FilterContext = filterContext ?? FilterContext.NullFilterContext;

            // Initialize lists
            _properties          = LazyInitializeProperties(Entity);
            _embeddedObjects     = LazyInitializeEmbeddedObjects(embbededObjectAssociations);
            _collections         = LazyInitializeCollections(collectionAssociations);
            _references          = LazyInitializeReferences(Entity);
            _containedItemTypes  = LazyInitializeContainedTypes();
            _containedReferences = LazyInitializeContainedReferences();
            _extensions          = LazyInitializeExtensions(Entity);

            LazyInitializeDerivedCollections();

            ResourceModel = resourceModel;
        }
Пример #4
0
        public static IDataListViewModel CreateDataListViewModel(IResourceModel resourceModel)
        {
            IDataListViewModel dataListViewModel = new DataListViewModel();

            dataListViewModel.InitializeDataListViewModel(resourceModel);
            return(dataListViewModel);
        }
        public void Init()
        {
            PrivateType p = new PrivateType(typeof(Dev2DataLanguageParser));
            var cache = p.GetStaticField("_expressionCache") as ConcurrentDictionary<string, IList<IIntellisenseResult>>;
            Assert.IsNotNull(cache);
            cache.Clear();
            var cache2 = p.GetStaticField("_payloadCache") as ConcurrentDictionary<Tuple<string, string>, IList<IIntellisenseResult>>;
            Assert.IsNotNull(cache2);
            cache2.Clear();
            Monitor.Enter(DataListSingletonTest.DataListSingletonTestGuard);

            var testEnvironmentModel = ResourceModelTest.CreateMockEnvironment();

            _resourceModel = new ResourceModel(testEnvironmentModel.Object)
            {
                ResourceName = "test",
                ResourceType = ResourceType.Service,
                DataList = @"
            <DataList>
                    <Scalar/>
                    <Country/>
                    <State />
                    <City>
                        <Name/>
                        <GeoLocation />
                    </City>
             </DataList>
            "
            };

            IDataListViewModel setupDatalist = new DataListViewModel();
            DataListSingleton.SetDataList(setupDatalist);
            DataListSingleton.ActiveDataList.InitializeDataListViewModel(_resourceModel);
        }
Пример #6
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ResourceClassBase" /> class as an implicit extension class,
        /// using the specified functions for providing the associations for collections and embedded objects.
        /// </summary>
        /// <param name="resourceModel"></param>
        /// <param name="fullName"></param>
        /// <param name="collectionAssociations"></param>
        /// <param name="embeddedObjectAssociations"></param>
        /// <param name="filterContext"></param>
        protected internal ResourceClassBase(
            IResourceModel resourceModel,
            FullName fullName,
            Func <IEnumerable <AssociationView> > collectionAssociations,
            Func <IEnumerable <AssociationView> > embeddedObjectAssociations,
            FilterContext filterContext)
        {
            if (resourceModel == null)
            {
                throw new ArgumentNullException(nameof(resourceModel));
            }

            ResourceModel = resourceModel;

            FullName = fullName;

            FilterContext = filterContext ?? FilterContext.NullFilterContext;

            _properties      = new Lazy <IReadOnlyList <ResourceProperty> >(() => new List <ResourceProperty>());
            _embeddedObjects = LazyInitializeEmbeddedObjects(embeddedObjectAssociations);
            _collections     = LazyInitializeCollections(collectionAssociations);
            _references      = new Lazy <IReadOnlyList <Reference> >(() => new List <Reference>());

            _containedItemTypes  = LazyInitializeContainedTypes();
            _containedReferences = LazyInitializeContainedReferences();
            _extensions          = new Lazy <IReadOnlyList <Extension> >(() => new List <Extension>());

            LazyInitializeDerivedCollections();
        }
Пример #7
0
 void HandleDeleteResourceError(ExecuteMessage data, IResourceModel model)
 {
     if (data.HasError)
     {
         MessageBox.Show(Application.Current.MainWindow, model.ResourceType.GetDescription() + " \"" + model.ResourceName + "\" could not be deleted, reason: " + data.Message, model.ResourceType.GetDescription() + " Deletion Failed", MessageBoxButton.OK);
     }
 }
Пример #8
0
        void HydrateResourceModels(IEnumerable <SerializableResource> wfServices, Guid serverId)
        {
            if (wfServices == null)
            {
                return;
            }

            foreach (var item in wfServices)
            {
                try
                {
                    var resourceType = item.ResourceType;

                    if (resourceType == "ReservedService")
                    {
                        continue;
                    }

                    IResourceModel resource = HydrateResourceModel(item, serverId);
                    if (resource != null)
                    {
                        _resourceModels.Add(resource);
                    }
                }
                catch
                {
                    Dev2Logger.Warn($"Resource Not Loaded - {item.ResourceName} - {item.ResourceID}");
                }
            }
        }
Пример #9
0
        public void DeployResource(IResourceModel resource, string savePath)
        {
            if (resource == null)
            {
                throw new ArgumentNullException(nameof(resource));
            }
            Dev2Logger.Info($"Deploy Resource. Resource:{resource.DisplayName} Environment:{_server.Name}");
            var theResource = FindSingle(c => c.ResourceName.Equals(resource.ResourceName, StringComparison.CurrentCultureIgnoreCase));

            if (theResource != null)
            {
                _resourceModels.Remove(theResource);
            }
            theResource = new ResourceModel(_server);
            theResource.Update(resource);
            _resourceModels.Add(theResource);

            var comsController = new CommunicationController {
                ServiceName = "DeployResourceService"
            };

            comsController.AddPayloadArgument("savePath", savePath);
            comsController.AddPayloadArgument("ResourceDefinition", resource.ToServiceDefinition(true));
            comsController.AddPayloadArgument("Roles", "*");

            var con            = _server.Connection;
            var executeCommand = comsController.ExecuteCommand <ExecuteMessage>(con, GlobalConstants.ServerWorkspaceID);

            if (executeCommand != null && executeCommand.HasError)
            {
                throw new Exception(executeCommand.Message.ToString());
            }
        }
Пример #10
0
 public DeployDialogTO(int rowNumber, string sourceName, string destinationName, IResourceModel destinationResourceModel)
 {
     RowNumber           = rowNumber;
     SourceName          = sourceName;
     DestinationName     = destinationName;
     DestinationResource = destinationResourceModel;
 }
        public void Init()
        {
            Monitor.Enter(DataListSingletonTest.DataListSingletonTestGuard);

            var testEnvironmentModel = ResourceModelTest.CreateMockEnvironment();

            _resourceModel = new ResourceModel(testEnvironmentModel.Object)
            {
                ResourceName = "test",
                ResourceType = ResourceType.Service,
                DataList = @"
            <DataList>
                    <Scalar/>
                    <Country/>
                    <State />
                    <City>
                        <Name/>
                        <GeoLocation />
                    </City>
             </DataList>
            "
            };

            IDataListViewModel setupDatalist = new DataListViewModel();
            DataListSingleton.SetDataList(setupDatalist);
            DataListSingleton.ActiveDataList.InitializeDataListViewModel(_resourceModel);
        }
        internal IDataListViewModel CreateDataListViewModel(IResourceModel resourceModel)
        {
            DataListViewModel dLVM = new DataListViewModel();
            dLVM.InitializeDataListViewModel(resourceModel);

            return dLVM;
        }
Пример #13
0
        public void GivenISaveAs(string p0)
        {
            var buildManageNewServerSourceModel = BuildManageNewServerSourceModel();
            var manageNewServerSourceModel      = buildManageNewServerSourceModel.Item1;
            var server       = buildManageNewServerSourceModel.Item2;
            var serverSource = ScenarioContext.Current.Get <IServerSource>("serverSource");

            serverSource.Name = p0;
            try
            {
                manageNewServerSourceModel.Save(serverSource);
            }
            catch (WarewolfSaveException e)
            {
                ScenarioContext.Current.Add("result", e.Message);
                Console.WriteLine(e.StackTrace);
                return;
            }
            var queryManagerProxy = buildManageNewServerSourceModel.Item3;

            var            load           = queryManagerProxy.Load(true);
            var            explorerItem   = load.Result;
            var            explorerItems  = explorerItem.Children.Flatten(item => item.Children ?? new List <IExplorerItem>());
            var            firstOrDefault = explorerItems.FirstOrDefault(item => item.DisplayName.Equals(p0, StringComparison.InvariantCultureIgnoreCase));
            IResourceModel resourceModel  = server.ResourceRepository.LoadContextualResourceModel(firstOrDefault.ResourceId);

            ScenarioContext.Current.Add("resourceModel", resourceModel);
            server.ResourceRepository.ReLoadResources();
        }
Пример #14
0
 public DeployDialogTO(int rowNumber, string sourceName, string destinationName, IResourceModel destinationResourceModel)
 {
     RowNumber = rowNumber;
     SourceName = sourceName;
     DestinationName = destinationName;
     DestinationResource = destinationResourceModel;
 }
Пример #15
0
        public void RequestResources(IResourceModel resourceModel)
        {
            var requestModel = ResourceRequests.GetInstance();

            resourceModel.CollectResources(requestModel);
            foreach (var request in requestModel)
            {
                var name        = request.Key;
                var assetBundle = request.Value.AssetBundle;
                var assetName   = request.Value.AssetName;
                LoaderService.GetOrLoadAssetBundle(assetBundle, bundle =>
                {
                    bundle.LoadAsset <Object>(assetName, resource =>
                    {
                        requestModel.OnResourceLoaded(name, resource);
                        if (requestModel.IsAllResourcesLoaded())
                        {
                            resourceModel.OnResourcesLoaded(requestModel);
                            requestModel.Release();
                            ResourceRequests.ReturnInstance(requestModel);
                        }
                    });
                });
            }
        }
Пример #16
0
        public void WorkflowDesignerUtils_ShowExampleWorkflow_DsfDateTime_DateTimeExampleShown()
        {
            const string   expectedResourceName  = "Example - DateTime";
            var            aggregator            = new Mock <EventAggregator>();
            IResourceModel actualResourceInvoked = null;

            aggregator.Setup(a => a.Publish(It.IsAny <AddWorkSurfaceMessage>())).Callback <object>(msg =>
            {
                var workSurfaceObject = (msg is AddWorkSurfaceMessage) ? (msg as AddWorkSurfaceMessage).WorkSurfaceObject : null;
                actualResourceInvoked = (workSurfaceObject is IResourceModel) ? (workSurfaceObject as IResourceModel) : null;
            });
            EventPublishers.Aggregator = aggregator.Object;

            var mockedResourceRepo    = new Mock <IResourceRepository>();
            var mockedEnvironment     = new Mock <IEnvironmentModel>();
            var mockedExampleWorkflow = new Mock <IResourceModel>();

            mockedExampleWorkflow.Setup(res => res.DisplayName).Returns(expectedResourceName);
            mockedResourceRepo.Setup(repo => repo.FindSingle(It.IsAny <Expression <Func <IResourceModel, bool> > >(), false)).Returns(mockedExampleWorkflow.Object);
            mockedEnvironment.Setup(env => env.ResourceRepository).Returns(mockedResourceRepo.Object);

            //------------Execute Test---------------------------
            WorkflowDesignerUtils.ShowExampleWorkflow("DsfDateTimeActivity", mockedEnvironment.Object, null);

            // Assert MultiAssign example shown
            Assert.AreEqual(expectedResourceName, actualResourceInvoked.DisplayName, "Example for DateTime tool not shown");
        }
        void Setup()
        {
            var environmentModel = CreateMockEnvironment(new Mock<IEventPublisher>().Object);


            _resourceModel = new ResourceModel(environmentModel.Object)
            {
                ResourceName = "test",
                ResourceType = ResourceType.Service,
                WorkflowXaml = new StringBuilder(@"
<Service Name=""abc"">
    <Inputs/>
    <Outputs/>
    <DataList>
        <Country/>
        <State />
        <City>
            <Name/>
            <GeoLocation />
        </City>
    </DataList>
</Service>
")
            };
        }
        public void Init()
        {
            Monitor.Enter(DataListSingletonTest.DataListSingletonTestGuard);


            var testEnvironmentModel = ResourceModelTest.CreateMockEnvironment();



            _resourceModel = new ResourceModel(testEnvironmentModel.Object)
            {
                ResourceName = "test",
                ResourceType = ResourceType.Service,
                DataList     = @"
            <DataList>
                    <Scalar/>
                    <Country/>
                    <State />
                    <City>
                        <Name/>
                        <GeoLocation />
                    </City>
             </DataList>
            "
            };

            IDataListViewModel setupDatalist = new DataListViewModel();

            DataListSingleton.SetDataList(setupDatalist);
            DataListSingleton.ActiveDataList.InitializeDataListViewModel(_resourceModel);
        }
Пример #19
0
 /// <summary>
 ///     Updates the non workflow related details of from another resource model.
 /// </summary>
 /// <param name="resourceModel">The resource model to update from.</param>
 public void Update(IResourceModel resourceModel)
 {
     AllowCategoryEditing = resourceModel.AllowCategoryEditing;
     Category             = resourceModel.Category;
     Comment         = resourceModel.Comment;
     DataTags        = resourceModel.DataTags;
     DisplayName     = resourceModel.DisplayName;
     VersionInfo     = resourceModel.VersionInfo;
     HelpLink        = resourceModel.HelpLink;
     IsDebugMode     = resourceModel.IsDebugMode;
     RequiresSignOff = resourceModel.RequiresSignOff;
     ResourceName    = resourceModel.ResourceName;
     ResourceType    = resourceModel.ResourceType;
     Tags            = resourceModel.Tags;
     DataList        = resourceModel.DataList;
     UpdateIconPath(resourceModel.IconPath);
     Version          = resourceModel.Version;
     ConnectionString = resourceModel.ConnectionString;
     ID = resourceModel.ID;
     ServerResourceType = resourceModel.ServerResourceType;
     UserPermissions    = resourceModel.UserPermissions;
     Inputs             = resourceModel.Inputs;
     Outputs            = resourceModel.Outputs;
     WorkflowXaml       = resourceModel.WorkflowXaml;
     _errors.Clear();
     if (resourceModel.Errors != null)
     {
         foreach (var error in resourceModel.Errors)
         {
             _errors.Add(error);
         }
     }
 }
        void Setup()
        {
            var environmentModel = CreateMockEnvironment(new Mock <IEventPublisher>().Object);


            _resourceModel = new ResourceModel(environmentModel.Object)
            {
                ResourceName = "test",
                ResourceType = ResourceType.Service,
                WorkflowXaml = new StringBuilder(@"
<Service Name=""abc"">
    <Inputs/>
    <Outputs/>
    <DataList>
        <Country/>
        <State />
        <City>
            <Name/>
            <GeoLocation />
        </City>
    </DataList>
</Service>
")
            };
        }
Пример #21
0
        public ExecuteMessage Save(IResourceModel instanceObj)
        {
            AddResourceIfNotExist(instanceObj);

            var executeMessage = SaveResource(_server, instanceObj.ToServiceDefinition(), _server.Connection.WorkspaceID, instanceObj.GetSavePath());

            return(executeMessage);
        }
Пример #22
0
        internal IDataListViewModel CreateDataListViewModel(IResourceModel resourceModel)
        {
            DataListViewModel dLVM = new DataListViewModel();

            dLVM.InitializeDataListViewModel(resourceModel);

            return(dLVM);
        }
Пример #23
0
        internal IDataListViewModel CreateDataListViewModel(IResourceModel resourceModel, IDataListItemModel dataListItemViewModel)
        {
            IDataListViewModel dlVM = CreateDataListViewModel(resourceModel);

            dlVM.DataList.Add(dataListItemViewModel);

            return(dlVM);
        }
Пример #24
0
        private void AddResourceIfNotExist(IResourceModel instanceObj)
        {
            Dev2Logger.Info($"Save Resource: {instanceObj.ResourceName}  Environment:{_server.Name}");
            var workflow = FindSingle(c => c.ID == instanceObj.ID);

            if (workflow == null)
            {
                _resourceModels.Add(instanceObj);
            }
        }
Пример #25
0
        protected internal ResourceClassBase(IResourceModel resourceModel, Entity entity, FilterContext filterContext)
            : this(
                resourceModel,
                entity,
                filterContext,

                // Include all collections and embedded objects (but don't include extensions [from another schema] here)
                () => GetCollectionAssociations(entity),
                () => GetEmbeddedObjectAssociations(entity))
        {
        }
Пример #26
0
        public bool DoesResourceExistInRepo(IResourceModel resource)
        {
            int index = _resourceModels.IndexOf(resource);

            if (index != -1)
            {
                return(true);
            }

            return(false);
        }
Пример #27
0
 public ResourceChildItem(
     IResourceModel resourceModel,
     FullName fullName,
     ResourceClassBase parentResource,
     Func <IEnumerable <AssociationView> > collectionAssociations,
     Func <IEnumerable <AssociationView> > embeddedObjectAssociations,
     FilterContext filterContext)
     : base(resourceModel, fullName, collectionAssociations, embeddedObjectAssociations, filterContext)
 {
     Parent = parentResource;
 }
Пример #28
0
 internal ResourceChildItem(
     IResourceModel resourceModel,
     Entity entity,
     FilterContext childContext,
     ResourceClassBase parentResource,
     Func <IEnumerable <AssociationView> > collectionAssociations,
     Func <IEnumerable <AssociationView> > embeddedObjectAssociations)
     : base(resourceModel, entity, childContext, collectionAssociations, embeddedObjectAssociations)
 {
     Parent = parentResource;
 }
Пример #29
0
        protected override void OnPreviewMouseLeftButtonDown(MouseButtonEventArgs e)
        {
            //2012.10.01: massimo.guerrera - Added for the click through on the dependency viewer
            if (e.ClickCount == 2)
            {
                ReleaseMouseCapture();
                FrameworkElement        fe  = e.OriginalSource as FrameworkElement;
                FrameworkContentElement fce = e.OriginalSource as FrameworkContentElement;
                object dataContext          = null;

                if (fe != null)
                {
                    dataContext = fe.DataContext;
                }
                else if (fce != null)
                {
                    dataContext = fce.DataContext;
                }

                string resourceName = dataContext as string;

                if (string.IsNullOrEmpty(resourceName) && dataContext is Node)
                {
                    resourceName = (dataContext as Node).ID;
                }

                if (!string.IsNullOrEmpty(resourceName))
                {
                    var vm = DataContext as DependencyVisualiserViewModel;
                    if (vm != null)
                    {
                        IResourceModel resource = vm.ResourceModel.Environment
                                                  .ResourceRepository.FindSingle(
                            c => c.ResourceName == resourceName);
                        if (resource != null)
                        {
                            WorkflowDesignerUtils.EditResource(resource, _eventPublisher);
                        }
                    }
                }
            }

            e.GetPosition(this);
            _scrollStartOffset.X = myScrollViewer.HorizontalOffset;
            _scrollStartOffset.Y = myScrollViewer.VerticalOffset;

            // Update the cursor if scrolling is possible
            Cursor = (myScrollViewer.ExtentWidth > myScrollViewer.ViewportWidth) ||
                     (myScrollViewer.ExtentHeight > myScrollViewer.ViewportHeight) ?
                     Cursors.ScrollAll : Cursors.Arrow;

            CaptureMouse();
            base.OnPreviewMouseDown(e);
        }
Пример #30
0
 public SubResource(IParentableResource parent, IResourceModel parentInstance, String name = null) : base(parent.Context, name: name)
 {
     if (!parent.GetModelType().IsAssignableFrom(parentInstance.GetType()))
     {
         throw new ShopifyConfigurationException("Parent model instance provided to SubResource must be appropriate to the provided Parent Resource.");
     }
     if (parentInstance.Id == null)
     {
         throw new ShopifyConfigurationException("Parent model instance provided for subresource has null id, which would lead to untenable subresource URIs.");
     }
     ParentResource = parent;
     ParentInstance = parentInstance;
 }
Пример #31
0
        public ExecuteMessage SaveToServer(IResourceModel instanceObj)
        {
            AddResourceIfNotExist(instanceObj);
            var saveResource = SaveResource(_server, instanceObj.ToServiceDefinition(), GlobalConstants.ServerWorkspaceID, instanceObj.GetSavePath());

            if (saveResource != null && !saveResource.HasError)
            {
                var connection     = _server.Connection;
                var comsController = new CommunicationController();
                comsController.FetchResourceAffectedMessages(connection, instanceObj.ID);
            }
            return(saveResource);
        }
Пример #32
0
 void ShowUnusedDataListVariables(IResourceModel resourceModel, IList <IDataListVerifyPart> listOfUnused)
 {
     if (resourceModel == Resource)
     {
         if (listOfUnused != null && listOfUnused.Count != 0)
         {
             SetUnusedDataListItems(listOfUnused);
         }
         else
         {
             // do we need to process ;)
             UpdateDataListItemsAsUsed();
         }
     }
 }
Пример #33
0
        public List <IDataListVerifyPart> UpdateDataListItems(IResourceModel resourceModel, IList <IDataListVerifyPart> workflowFields)
        {
            IList <IDataListVerifyPart> removeParts = MissingWorkflowItems(workflowFields);
            var filteredDataListParts = MissingDataListParts(workflowFields);

            ShowUnusedDataListVariables(resourceModel, removeParts);

            if (resourceModel == Resource)
            {
                AddMissingDataListItems(filteredDataListParts);
                return(filteredDataListParts);
            }

            return(new List <IDataListVerifyPart>());
        }
Пример #34
0
        public void InitializeDataListViewModel(IResourceModel resourceModel)
        {
            string errorString = string.Empty;

            _resource = resourceModel;
            if (_resource != null)
            {
                CreateListsOfIDataListItemModelToBindTo(out errorString);

                if (!string.IsNullOrEmpty(errorString))
                {
                    throw new Exception(errorString);
                }
                AddRecordsetNamesIfMissing();
            }
        }
Пример #35
0
        public List <IDataListVerifyPart> UpdateDataListItems(IResourceModel resourceModel, IList <IDataListVerifyPart> workflowFields)
        {
            IList <IDataListVerifyPart> removeParts = MissingWorkflowItems(workflowFields);
            var filteredDataListParts = MissingDataListParts(workflowFields);

            ShowUnusedDataListVariables(resourceModel, removeParts, workflowFields);

            ViewModelUtils.RaiseCanExecuteChanged(DeleteCommand);

            if (resourceModel != Resource)
            {
                return(new List <IDataListVerifyPart>());
            }
            AddMissingDataListItems(filteredDataListParts);
            return(filteredDataListParts);
        }
Пример #36
0
        public void InitializeDataListViewModel(IResourceModel resourceModel)
        {
            Resource = resourceModel;
            if (Resource == null)
            {
                return;
            }

            string errorString;

            CreateListsOfIDataListItemModelToBindTo(out errorString);
            if (!string.IsNullOrEmpty(errorString))
            {
                throw new Exception(errorString);
            }
        }
Пример #37
0
        public static void EditResource(IResourceModel resource, IEventAggregator eventAggregator)
        {
            if(eventAggregator == null)
            {
                throw new ArgumentNullException("eventAggregator");
            }
            if(resource != null)
            {
                switch(resource.ResourceType)
                {
                    case ResourceType.WorkflowService:
                        eventAggregator.Publish(new AddWorkSurfaceMessage(resource));
                        break;

                    case ResourceType.Service:
                        eventAggregator.Publish(new ShowEditResourceWizardMessage(resource));
                        break;
                    case ResourceType.Source:
                        eventAggregator.Publish(new ShowEditResourceWizardMessage(resource));
                        break;
                }
            }
        }
 public bool TabExists(IResourceModel resource)
 {
     return
         Tabs.Any(
             tab =>
             UIElementTitleProperty.GetTitle(tab)
                                   .Equals(resource.ResourceName, StringComparison.InvariantCultureIgnoreCase));
 }
 public FrameworkElement FindTabByResourceModel(IResourceModel resource)
 {
     return
         Tabs.FirstOrDefault(
             tab => UIElementTitleProperty.GetTitle(tab).Equals(resource.ResourceName,
                                                                StringComparison.InvariantCultureIgnoreCase));
 }
Пример #40
0
 public void Update(IResourceModel resourceModel)
 {
 }
        public void SetActiveTab(IResourceModel resource)
        {
            FrameworkElement tabToSetActive = Tabs.FirstOrDefault(
                tab =>
                UIElementTitleProperty.GetTitle(tab)
                                      .Equals(resource.ResourceName, StringComparison.InvariantCultureIgnoreCase));

            SetActiveDocument(tabToSetActive);
        }
        static TestSqlBulkInsertDesignerViewModel CreateViewModel(ModelItem modelItem, Dictionary<DbSource, DbTableList> sources, IEventAggregator eventAggregator, IResourceModel resourceModel, bool configureFindSingle = false, string columnListErrors = "")
        {
            var sourceDefs = sources == null ? null : sources.Select(s => s.Key.ToXml().ToString());

            var envModel = new Mock<IEnvironmentModel>();
            envModel.Setup(e => e.Connection.WorkspaceID).Returns(Guid.NewGuid());

            var resourceRepo = new Mock<IResourceRepository>();

            envModel.Setup(e => e.Connection.ExecuteCommand(It.Is<StringBuilder>(s => s.Contains("FindSourcesByType")), It.IsAny<Guid>(), It.IsAny<Guid>()))
                .Returns(new StringBuilder(string.Format("<XmlData>{0}</XmlData>", sourceDefs == null ? "" : string.Join("\n", sourceDefs))));

            // return the resource repository now ;)
            envModel.Setup(e => e.ResourceRepository).Returns(resourceRepo.Object);

            // setup the FindSourcesByType command
            if(sources != null)
            {
                var dbs = sources.Keys.ToList();
                resourceRepo.Setup(r => r.FindSourcesByType<DbSource>(It.IsAny<IEnvironmentModel>(), enSourceType.SqlDatabase)).Returns(dbs);
            }

            var tableJson = new DbTableList();
            // ReSharper disable ImplicitlyCapturedClosure
            resourceRepo.Setup(r => r.GetDatabaseTables(It.IsAny<DbSource>())).Callback((DbSource src) =>
            // ReSharper restore ImplicitlyCapturedClosure
            {
                if(sources != null)
                {
                    var tableList = sources[src];
                    tableJson = tableList;
                }
                // ReSharper disable ImplicitlyCapturedClosure
            }).Returns(() => tableJson);
            // ReSharper restore ImplicitlyCapturedClosure

            var columnsJson = new DbColumnList();
            // ReSharper disable ImplicitlyCapturedClosure
            resourceRepo.Setup(r => r.GetDatabaseTableColumns(It.IsAny<DbSource>(), It.IsAny<DbTable>())).Callback((DbSource src, DbTable tbl) =>
            // ReSharper restore ImplicitlyCapturedClosure
            {
                var tableName = tbl.TableName;
                if(sources != null)
                {
                    var tables = sources[src];

                    var table = tables.Items.First(t => t.TableName == tableName.Trim(new[] { '"' }));
                    var columnList = new DbColumnList();
                    columnList.Items.AddRange(table.Columns);
                    if(!string.IsNullOrEmpty(columnListErrors))
                    {
                        columnList.HasErrors = true;
                        columnList.Errors = columnListErrors;
                    }
                    columnsJson = columnList;
                }
                // ReSharper disable ImplicitlyCapturedClosure
            }).Returns(() => columnsJson);
            // ReSharper restore ImplicitlyCapturedClosure
            
            if(configureFindSingle)
            {
                envModel.Setup(e => e.ResourceRepository.FindSingle(It.IsAny<Expression<Func<IResourceModel, bool>>>(), false)).Returns(resourceModel);
            }

            return new TestSqlBulkInsertDesignerViewModel(modelItem, envModel.Object, eventAggregator);
        }
Пример #43
0
 public void AddMockResource(IResourceModel mockRes)
 {
     ResourceModels.Add(mockRes);
 }
        /// <summary>
        /// Returns the correct wizard endpoint depending upon its type
        /// </summary>
        /// <param name="theModel"></param>
        /// <returns></returns>
        public static string SelectWizard(IResourceModel theModel)
        {
            const string Result = "Dev2ServiceDetails"; // defaults to the service wizard

            return Result;
        }
Пример #45
0
        public List<IDataListVerifyPart> UpdateDataListItems(IResourceModel resourceModel, IList<IDataListVerifyPart> workflowFields)
        {
            IList<IDataListVerifyPart> removeParts = MissingWorkflowItems(workflowFields);
            var filteredDataListParts = MissingDataListParts(workflowFields);
            ShowUnusedDataListVariables(resourceModel, removeParts,workflowFields);

            if(resourceModel == Resource)
            {
                AddMissingDataListItems(filteredDataListParts);
                return filteredDataListParts;
            }

            return new List<IDataListVerifyPart>();
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="T:System.Object"/> class.
 /// </summary>
 public ShowEditResourceWizardMessage(IResourceModel resourceModel)
 {
     ResourceModel = resourceModel;
 }
        /// <summary>
        /// Builds up the POST data for editing a resource
        /// </summary>
        /// <param name="resourceType"></param>
        /// <param name="rm"></param>
        /// <returns></returns>
        public static string BuildStudioEditPayload(string resourceType, IResourceModel rm)
        {
            StringBuilder result = new StringBuilder();
            string resType = string.Empty;

            // add service type
            result.Append(ResourceKeys.Dev2ServiceType);
            result.Append("=");
            result.Append(resType);

            // add service name
            result.Append("&");
            result.Append(ResourceKeys.Dev2ServiceName);
            result.Append("=");
            result.Append(rm.ResourceName);

            // add category
            result.Append("&");
            result.Append(ResourceKeys.Dev2Category);
            result.Append("=");
            result.Append(rm.Category);

            // add help
            result.Append("&");
            result.Append(ResourceKeys.Dev2Help);
            result.Append("=");
            result.Append(rm.HelpLink); // rm.HelpLink

            // add icon
            result.Append("&");
            result.Append(ResourceKeys.Dev2Icon);
            result.Append("=");
            result.Append(rm.IconPath);

            // add comment
            result.Append("&");
            result.Append(ResourceKeys.Dev2Description);
            result.Append("=");
            result.Append(rm.Comment);

            // add tags
            result.Append("&");
            result.Append(ResourceKeys.Dev2Tags);
            result.Append("=");
            result.Append(rm.Tags);

            string serviceDef = string.Empty; //rm.ServiceDefinition;

            if(serviceDef.IndexOf(" SourceName=", StringComparison.Ordinal) > 0)
            {
                // we have 
                string sourceName = DataListUtil.ExtractAttribute(serviceDef, "Action", "SourceName");
                string sourceMethod = DataListUtil.ExtractAttribute(serviceDef, "Action", "SourceMethod");

                // add source method
                result.Append("&");
                result.Append(ResourceKeys.Dev2SourceMethod);
                result.Append("=");
                result.Append(sourceMethod);

                // add source name
                result.Append("&");
                result.Append(ResourceKeys.Dev2SourceName);
                result.Append("=");
                result.Append(sourceName);

                result.Append("&");
                result.Append(ResourceKeys.Dev2StudioExe);
                result.Append("=");
                result.Append("yes");
            }
            else if(serviceDef.IndexOf("<Source", StringComparison.Ordinal) >= 0)
            {
                // we have a source to process 
                if(resType == "Plugin")
                {
                    result.Append("&");
                    result.Append(ResourceKeys.Dev2SourceManagementSource);
                    result.Append("=");
                    result.Append(rm.ResourceName);
                }
                else if(resType == "Database")
                {
                    result.Append("&");
                    result.Append(ResourceKeys.Dev2SourceManagementDatabaseSource);
                    result.Append("=");
                    result.Append(rm.ResourceName);
                }

                result.Append("&");
                result.Append(ResourceKeys.Dev2SourceName);
                result.Append("=");
                result.Append(rm.ResourceName);

                result.Append("&");
                result.Append(ResourceKeys.Dev2StudioExe);
                result.Append("=");
                result.Append("yes");

            }

            return result.ToString();
        }
        internal void BindViewToViewModel(IResourceModel resourceModel)
        {
            FrameworkElement tab = FindTabByResourceModel(resourceModel);
            if (tab == null) return;

            if (tab.DataContext is IWorkflowDesignerViewModel)
            {
                var workflowDataContext = tab.DataContext as IWorkflowDesignerViewModel;
                workflowDataContext.BindToModel();
            }
            else if (tab.DataContext is IDesignerViewModel)
            {
                var designerDataContext = tab.DataContext as IDesignerViewModel;
                designerDataContext.BindToModel();
            }
        }
Пример #49
0
 void ShowUnusedDataListVariables(IResourceModel resourceModel, IList<IDataListVerifyPart> listOfUnused, IList<IDataListVerifyPart> listOfUsed)
 {
     if(resourceModel == Resource)
     {
         if(listOfUnused != null && listOfUnused.Count != 0)
         {
             SetIsUsedDataListItems(listOfUnused, false);
         }
         else
         {
             // do we need to process ;)
             UpdateDataListItemsAsUsed();
         }
         if (listOfUsed != null && listOfUsed.Count > 0)
         {
             SetIsUsedDataListItems(listOfUsed,true);
         }
     }
 }
Пример #50
0
        public void InitializeDataListViewModel(IResourceModel resourceModel)
        {
            Resource = resourceModel;
            if(Resource == null) return;

            string errorString;
            CreateListsOfIDataListItemModelToBindTo(out errorString);
            if(!string.IsNullOrEmpty(errorString))
            {
                throw new Exception(errorString);
            }
        }
Пример #51
0
 /// <summary>
 ///     Updates the non workflow related details of from another resource model.
 /// </summary>
 /// <param name="resourceModel">The resource model to update from.</param>
 public void Update(IResourceModel resourceModel)
 {
     AllowCategoryEditing = resourceModel.AllowCategoryEditing;
     Category = resourceModel.Category;
     Comment = resourceModel.Comment;
     DataTags = resourceModel.DataTags;
     DisplayName = resourceModel.DisplayName;
     VersionInfo = resourceModel.VersionInfo;
     HelpLink = resourceModel.HelpLink;
     IsDebugMode = resourceModel.IsDebugMode;
     RequiresSignOff = resourceModel.RequiresSignOff;
     ResourceName = resourceModel.ResourceName;
     ResourceType = resourceModel.ResourceType;
     Tags = resourceModel.Tags;
     DataList = resourceModel.DataList;
     UpdateIconPath(resourceModel.IconPath);
     Version = resourceModel.Version;
     ConnectionString = resourceModel.ConnectionString;
     ID = resourceModel.ID;
     ServerResourceType = resourceModel.ServerResourceType;
     UserPermissions = resourceModel.UserPermissions;
     Inputs = resourceModel.Inputs;
     Outputs = resourceModel.Outputs;
     WorkflowXaml = resourceModel.WorkflowXaml;
     _errors.Clear();
     if (resourceModel.Errors != null)
     {
         foreach (var error in resourceModel.Errors)
         {
             _errors.Add(error);
         }
     }
 }
 public static IDataListViewModel CreateDataListViewModel(IResourceModel resourceModel)
 {
     IDataListViewModel dataListViewModel = new DataListViewModel();
     dataListViewModel.InitializeDataListViewModel(resourceModel);
     return dataListViewModel;
 }
        static TestEmailDesignerViewModel CreateViewModel(List<EmailSource> sources, ModelItem modelItem, IEventAggregator eventPublisher, IResourceModel resourceModel)
        {
            var environment = new Mock<IEnvironmentModel>();
            environment.Setup(e => e.ResourceRepository.FindSourcesByType<EmailSource>(It.IsAny<IEnvironmentModel>(), enSourceType.EmailSource))
                .Returns(sources);
            environment.Setup(e => e.ResourceRepository.FindSingle(It.IsAny<Expression<Func<IResourceModel, bool>>>(), false, false))
                .Returns(resourceModel);

            var testEmailDesignerViewModel = new TestEmailDesignerViewModel(modelItem, environment.Object, eventPublisher)
                {
                    GetDatalistString = () =>
                        {
                            const string trueString = "True";
                            const string noneString = "None";
                            var datalist = string.Format("<DataList><var Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><a Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><b Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><h Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><r Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /><rec Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" ><set Description=\"\" IsEditable=\"{0}\" ColumnIODirection=\"{1}\" /></rec></DataList>", trueString, noneString);
                            return datalist;
                        }
                };

            return testEmailDesignerViewModel;
        }
 public void AppendValues(IResourceModel item)
 {
     BaseModel.AppendValues (item.Name, item.Value, item.Comment);
 }