Example #1
0
        /// <summary>Speichert ein Updateprojekt.</summary>
        /// <param name="projectPath">Das Pfad zur Projektdatei (nicht zum Verzeichnis)</param>
        /// <param name="project">Das zu speichernde Updateprojekt.</param>
        public void saveProject(string projectPath, updateProject project)
        {
            //Argumente prüfen
            if (string.IsNullOrEmpty(projectPath))
            {
                throw new ArgumentException("projectPath");
            }
            if (project == null)
            {
                throw new ArgumentException("project");
            }

            //Projektverzeichnis ermitteln
            var projectDirectory = new DirectoryInfo(Path.GetDirectoryName(projectPath));

            //Überprüfen ob das Projektverzeichnis existiert, wenn nicht erstellen
            if (!projectDirectory.Exists)
            {
                projectDirectory.Create();
            }

            //Projektstruktur erstellen/prüfen
            foreach (var directoryName in _projectStructure)
            {
                if (!Directory.Exists(Path.Combine(projectDirectory.FullName, directoryName)))
                {
                    projectDirectory.CreateSubdirectory(directoryName);
                }
            }

            //Projektdatei speichern
            secureSerializer.Serialize(projectPath, project);
        }
Example #2
0
		/// <summary>Erstellt ein neues Updateprojekt.</summary>
		public updateProject createNewProject() {
			var project = new updateProject {
			                                  	projectName = "New Updateproject",
			                                  	keyPair = rsaKeyPair.Create(),
			                                  	projectId = Guid.NewGuid().ToString(),
			                                  	publishProviderSettings = new List<publishSettings>()
			                                  };
			return project;
		}
Example #3
0
        /// <summary>Erstellt ein neues Updateprojekt.</summary>
        public updateProject createNewProject()
        {
            var project = new updateProject {
                projectName             = "New Updateproject",
                keyPair                 = rsaKeyPair.Create(),
                projectId               = Guid.NewGuid().ToString(),
                publishProviderSettings = new List <publishSettings>()
            };

            return(project);
        }
Example #4
0
        public object Clone()
        {
            var result = new updateProject {
                keyPair                 = keyPair,
                projectName             = projectName,
                projectId               = projectId,
                publishProviderSettings = new List <publishSettings>(),
                hidePublishResult       = hidePublishResult,
                updateLogUser           = (userAccount)updateLogUser.Clone(),
                generateNativeImages    = generateNativeImages,
                updateParameterSuccess  = updateParameterSuccess,
                updateParameterFailed   = updateParameterFailed,
                updateLogEnabled        = updateLogEnabled,
                updateSetupId           = updateSetupId,
                linkAssemblyToVersion   = linkAssemblyToVersion,
                linkedAssemblyPath      = linkedAssemblyPath,
                viewFilter              = (updatePackageViewFilter)viewFilter.Clone(),
                setServicePackAsDefault = setServicePackAsDefault,
                changelogPath           = changelogPath
            };

            //Provider kopieren
            foreach (var setting in publishProviderSettings)
            {
                result.publishProviderSettings.Add((publishSettings)setting.Clone());
            }

            //Updatepakete kopieren
            foreach (var update in updatePackages)
            {
                result.updatePackages.Add((updatePackage)update.Clone());
            }

            //Verknüpfungen kopieren
            foreach (var link in linkedPublishProvider)
            {
                result.linkedPublishProvider.Add(link.Key, new List <string>(link.Value.ToArray()));
            }

            return(result);
        }
Example #5
0
		/// <summary>Speichert ein Updateprojekt.</summary>
		/// <param name="projectPath">Das Pfad zur Projektdatei (nicht zum Verzeichnis)</param>
		/// <param name="project">Das zu speichernde Updateprojekt.</param>
		public void saveProject(string projectPath, updateProject project) {

			//Argumente prüfen
			if(string.IsNullOrEmpty(projectPath))
				throw new ArgumentException("projectPath");
			if(project == null)
				throw new ArgumentException("project");

			//Projektverzeichnis ermitteln
			var projectDirectory = new DirectoryInfo(Path.GetDirectoryName(projectPath));
			
			//Überprüfen ob das Projektverzeichnis existiert, wenn nicht erstellen
			if(!projectDirectory.Exists)
				projectDirectory.Create();

			//Projektstruktur erstellen/prüfen
			foreach (var directoryName in _projectStructure)
				if (!Directory.Exists(Path.Combine(projectDirectory.FullName, directoryName)))
					projectDirectory.CreateSubdirectory(directoryName);

			//Projektdatei speichern
			secureSerializer.Serialize(projectPath, project);

		}
		public object Clone() {
			var result = new updateProject {
			                               	keyPair = keyPair,
			                               	projectName = projectName,
			                               	projectId = projectId,
			                               	publishProviderSettings = new List<publishSettings>(),
											hidePublishResult = hidePublishResult,
											updateLogUser = (userAccount)updateLogUser.Clone(),
											generateNativeImages = generateNativeImages,
											updateParameterSuccess = updateParameterSuccess,
											updateParameterFailed = updateParameterFailed,
											updateLogEnabled = updateLogEnabled,
											updateSetupId = updateSetupId,
											linkAssemblyToVersion = linkAssemblyToVersion,
											linkedAssemblyPath = linkedAssemblyPath,
											viewFilter = (updatePackageViewFilter)viewFilter.Clone(),
											setServicePackAsDefault = setServicePackAsDefault,
											changelogPath = changelogPath
			                               };
			
			//Provider kopieren
			foreach(var setting in publishProviderSettings)
				result.publishProviderSettings.Add((publishSettings)setting.Clone());

			//Updatepakete kopieren
			foreach(var update in updatePackages)
				result.updatePackages.Add((updatePackage)update.Clone());

			//Verknüpfungen kopieren
			foreach (var link in linkedPublishProvider)
				result.linkedPublishProvider.Add(link.Key, new List<string>(link.Value.ToArray()));

			return result;
		}