コード例 #1
0
        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);
        }
コード例 #2
0
        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);
            }
        }