public WorkSurfaceContextViewModel(IEventAggregator eventPublisher, WorkSurfaceKey workSurfaceKey, IWorkSurfaceViewModel workSurfaceViewModel, IPopupController popupController, Action <IContextualResourceModel, bool> saveDialogAction)
            : base(eventPublisher)
        {
            if (workSurfaceKey == null)
            {
                throw new ArgumentNullException("workSurfaceKey");
            }
            if (workSurfaceViewModel == null)
            {
                throw new ArgumentNullException("workSurfaceViewModel");
            }
            VerifyArgument.IsNotNull("popupController", popupController);
            WorkSurfaceKey       = workSurfaceKey;
            WorkSurfaceViewModel = workSurfaceViewModel;

            _windowManager           = CustomContainer.Get <IWindowManager>();
            _workspaceItemRepository = WorkspaceItemRepository.Instance;

            var model = WorkSurfaceViewModel as IWorkflowDesignerViewModel;

            if (model != null)
            {
                _environmentModel = model.EnvironmentModel;
                if (_environmentModel != null)
                {
                    // MUST use connection server event publisher - debug events are published from the server!
                    DebugOutputViewModel = new DebugOutputViewModel(_environmentModel.Connection.ServerEvents, EnvironmentRepository.Instance, new DebugOutputFilterStrategy());
                    _environmentModel.IsConnectedChanged += EnvironmentModelOnIsConnectedChanged();
                    _environmentModel.Connection.ReceivedResourceAffectedMessage += OnReceivedResourceAffectedMessage;
                }
            }

            if (WorkSurfaceKey.WorkSurfaceContext == WorkSurfaceContext.Scheduler)
            {
                if (DebugOutputViewModel == null)
                {
                    DebugOutputViewModel = new DebugOutputViewModel(new EventPublisher(), EnvironmentRepository.Instance, new DebugOutputFilterStrategy());
                }
            }
            _popupController  = popupController;
            _saveDialogAction = saveDialogAction;
        }
 public void TestCheckForServerMessages(IEnvironmentModel environmentModel, Guid id, IWorkspaceItemRepository workspace)
 {
     CheckForServerMessages(environmentModel, id, workspace);
 }
 public WorkspaceItemRepository(IWorkspaceItemRepository workspaceItemRepository)
 {
     _instance = workspaceItemRepository;
 }
 public void TestCheckForServerMessages(IEnvironmentModel environmentModel, Guid id, IWorkspaceItemRepository workspace)
 {
     CheckForServerMessages(environmentModel, id, workspace);
 }
Example #5
0
        protected void CheckForServerMessages(IEnvironmentModel environmentModel, Guid resourceId, IWorkspaceItemRepository workspace)
        {
            var resourceModel = environmentModel.ResourceRepository.FindSingle(model => model.ID == resourceId);

            if (resourceModel != null)
            {
                var resource = new ResourceModel(environmentModel);
                resource.Update(resourceModel);
                var compileMessageList = new StudioCompileMessageRepo().GetCompileMessagesFromServer(resource);

                if (compileMessageList == null || compileMessageList.Count == 0)
                {
                    return;
                }

                var numberOfDependants = compileMessageList.Dependants.Count;
                //2013.07.29: Ashley Lewis for bug 9640 - If only dependancy is open right now, don't notify of change
                if (numberOfDependants == 1)
                {
                    if (
                        compileMessageList.Dependants.Any(
                            dep =>
                            workspace.WorkspaceItems != null &&
                            workspace.WorkspaceItems.Any(c => c.ServiceName == dep)))
                    {
                        return;
                    }
                }
                //2013.07.29: Ashley Lewis for bug 10199 - Don't show dependancy viewer dialog on source type callback
                if (resource.ResourceType != ResourceType.Source)
                {
                    ShowDependencyProvider.ShowDependencyViewer(resource, compileMessageList.Dependants);
                }
            }
        }
Example #6
0
        public WorkspaceItemRepository(IWorkspaceItemRepository workspaceItemRepository)
        {
#pragma warning disable S3010 // For testing
            _instance = workspaceItemRepository;
#pragma warning restore S3010
        }
 public WorkspaceItemRepository(IWorkspaceItemRepository workspaceItemRepository)
 {
     _instance = workspaceItemRepository;
 }
        protected void CheckForServerMessages(IEnvironmentModel environmentModel, Guid resourceId, IWorkspaceItemRepository workspace)
        {
            var resourceModel = environmentModel.ResourceRepository.FindSingle(model => model.ID == resourceId);
            if(resourceModel != null)
            {
                var resource = new ResourceModel(environmentModel);
                resource.Update(resourceModel);
                var compileMessageList = new StudioCompileMessageRepo().GetCompileMessagesFromServer(resource);

                if(compileMessageList == null || compileMessageList.Count == 0)
                {
                    return;
                }

                var numberOfDependants = compileMessageList.Dependants.Count;
                //2013.07.29: Ashley Lewis for bug 9640 - If only dependancy is open right now, don't notify of change
                if(numberOfDependants == 1)
                {
                    if(
                        compileMessageList.Dependants.Any(
                            dep =>
                                workspace.WorkspaceItems != null &&
                                workspace.WorkspaceItems.Any(c => c.ServiceName == dep)))
                    {
                        return;
                    }
                }
                //2013.07.29: Ashley Lewis for bug 10199 - Don't show dependancy viewer dialog on source type callback
                if(resource.ResourceType != ResourceType.Source)
                {
                    ShowDependencyProvider.ShowDependencyViewer(resource, compileMessageList.Dependants);
                }
            }
        }