Beispiel #1
0
        private void SaveDependencies(TargetsFileData dependencyDefinitionFilePath)
        {
            // save
            XmlComponentRepository.SaveXmlComponent(_xmlComponent, dependencyDefinitionFilePath);
            _xmlComponentViewModel.AcceptChanges();

            Logger.LogMsg(String.Format("Saved dependency definition file {0}\n", dependencyDefinitionFilePath.LocalPath));
            Logger.ShowMessages();
        }
Beispiel #2
0
        public override void OnImportsSatisfied()
        {
            // create the component view model
            try
            {
                _xmlComponent = XmlComponentRepository.GetXmlComponent(TargetsFileData);

                if (_xmlComponent == null)
                {
                    var initErrorEvent = new InitializationErrorEvent(new Exception(String.Format("Error while loading local file {0}!", TargetsFileData.LocalPath)));
                    EventPublisher.Publish(initErrorEvent);
                }
            }
            catch (XmlException xe)
            {
                var initErrorEvent = new InitializationErrorEvent(new Exception(String.Format("Error while loading local file {0} (Error while parsing XML: {1})!", TargetsFileData.LocalPath, xe.Message)));
                EventPublisher.Publish(initErrorEvent);
            }
            catch (DependencyServiceException dse)
            {
                var initErrorEvent = new InitializationErrorEvent(new Exception(String.Format("Error while loading local file {0} ({1})!", TargetsFileData.LocalPath, dse.Message)));
                EventPublisher.Publish(initErrorEvent);
            }

            _xmlComponentViewModel = new XmlComponentViewModel(_xmlComponent);

            // initialize the list of available Xml dependencies in the current targets file
            var dependencies = _xmlComponentViewModel.GetDependencies();

            foreach (var xmlDependencyViewModel in dependencies)
            {
                XmlDependencies.Add(xmlDependencyViewModel);
            }

            // add special view model for creation
            var createXmlDependencyViewModel = new CreateXmlDependencyViewModel();

            createXmlDependencyViewModel.XmlDependencyCreationRequest += CreateXmlDependencyViewModel_XmlDependencyCreationRequest;
            XmlDependencies.Add(createXmlDependencyViewModel);

            // hook events
            ChangeTrackingService.HasChangesChanged += ChangeTrackingService_HasChangesChanged;
            var saveAllChangesEvent = EventPublisher.GetEvent <SaveAllChangesEvent>();

            saveAllChangesEvent.Subscribe(o => Save(o.FileName));
        }