private static DqfProject read_DQFProjectSettings(XmlReader xmlReader) { var dqfProject = new DqfProject(); while (xmlReader.Read()) { switch (xmlReader.NodeType) { case XmlNodeType.Element: if (string.Compare(xmlReader.Name, "settings", StringComparison.OrdinalIgnoreCase) == 0) { while (xmlReader.MoveToNextAttribute()) { if (string.Compare(xmlReader.Name, "project_id", StringComparison.OrdinalIgnoreCase) == 0) { dqfProject.DqfProjectId = Convert.ToInt32(xmlReader.Value); } else if (string.Compare(xmlReader.Name, "project_key", StringComparison.OrdinalIgnoreCase) == 0) { dqfProject.DqfProjectKey = xmlReader.Value; } else if (string.Compare(xmlReader.Name, "name", StringComparison.OrdinalIgnoreCase) == 0) { dqfProject.Name = xmlReader.Value; } else if (string.Compare(xmlReader.Name, "created", StringComparison.OrdinalIgnoreCase) == 0) { dqfProject.Created = Helper.GetDateTimeFromString(xmlReader.Value); } else if (string.Compare(xmlReader.Name, "source_language", StringComparison.OrdinalIgnoreCase) == 0) { dqfProject.SourceLanguage = xmlReader.Value; } else if (string.Compare(xmlReader.Name, "process", StringComparison.OrdinalIgnoreCase) == 0) { dqfProject.Process = Convert.ToInt32(xmlReader.Value); } else if (string.Compare(xmlReader.Name, "content_type", StringComparison.OrdinalIgnoreCase) == 0) { dqfProject.ContentType = Convert.ToInt32(xmlReader.Value); } else if (string.Compare(xmlReader.Name, "industry", StringComparison.OrdinalIgnoreCase) == 0) { dqfProject.Industry = Convert.ToInt32(xmlReader.Value); } else if (string.Compare(xmlReader.Name, "quality_level", StringComparison.OrdinalIgnoreCase) == 0) { dqfProject.QualityLevel = Convert.ToInt32(xmlReader.Value); } } } break; } } return(dqfProject); }
public void ImportDqfProjectSettings() { var f = new OpenFileDialog { Filter = PluginResources.DQF_Project_Import_File + @" (*.dqfpi)|*.dqfpi", Title = PluginResources.Open_TAUS_DQF_Project_Import_File, RestoreDirectory = true }; f.ShowDialog(); if (f.FileName.Trim() == string.Empty) { return; } var dqfProject = new DqfProject(); var xmlTextReader = new XmlTextReader(f.FileName); var xmlReaderSettings = new XmlReaderSettings { ValidationType = ValidationType.None }; using (var xmlReader = XmlReader.Create(xmlTextReader, xmlReaderSettings)) { while (xmlReader.Read()) { switch (xmlReader.NodeType) { case XmlNodeType.Element: { if (string.Compare(xmlReader.Name, "dqf_project_import_file", StringComparison.OrdinalIgnoreCase) == 0) { var xmlReaderInner = xmlReader.ReadSubtree(); dqfProject = read_DQFProjectSettings(xmlReaderInner); xmlReaderInner.Close(); } } break; } } } if (dqfProject.DqfProjectId <= -1) { return; } var dqfProjectFind = Project.DqfProjects.Find(a => a.DqfProjectId == dqfProject.DqfProjectId); if (dqfProjectFind != null) { MessageBox.Show(string.Format(PluginResources.The_DQF_Project_0_already_exists_in_the_list, dqfProject.Name), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); } else { dqfProject.ProjectId = Project.Id; dqfProject.ProjectIdStudio = Project.StudioProjectId; dqfProject.DqfPmanagerKey = Tracked.Settings.DqfSettings.UserKey; dqfProject.Imported = true; var query = new Query(); dqfProject.Id = query.CreateDqfProject(Tracked.Settings.ApplicationPaths.ApplicationMyDocumentsDatabaseProjectsPath, dqfProject); var tn = treeView_dqf_projects.Nodes.Add(dqfProject.Name); tn.ImageIndex = dqfProject.Imported ? 1 : 0; tn.SelectedImageIndex = tn.ImageIndex; tn.Tag = dqfProject; Project.DqfProjects.Add(dqfProject); } }