예제 #1
0
        ServerProjectInfo ViewProjectByQualifiedName()
        {
            #region "ViewProjectByQualifiedName"
            Uri serverAddress = new Uri("http://myServerAddress:80");

            ProjectServer     server  = new ProjectServer(serverAddress, false, "MyUser", "MyPassword");
            ServerProjectInfo project = server.GetServerProject("/MyOrganization/MyProject");

            #endregion

            return(project);
        }
예제 #2
0
        void LookForAProjectAndCreateWorkSpace()
        {
            #region "LookForAProjectAndCreateWorkSpace"

            string rootLocalProjectLocation = @"C:\Projects\";

            Uri serverAddress = new Uri("http://myServerAddress:80");

            ProjectServer     server      = new ProjectServer(serverAddress, false, "MyUser", "MyPassword");
            ServerProjectInfo projectInfo = server.GetServerProject("/MyOrganizationName/MyProjectName");

            FileBasedProject project;

            if (projectInfo != null)
            {
                project = server.OpenProject(projectInfo.ProjectId, rootLocalProjectLocation + projectInfo.Name);
            }

            #endregion
        }
예제 #3
0
        void ServerPuttingItAllTogether()
        {
            const string tmServerPrefix = "sdltm.";

            string localcopylocation = @"C:\Projects\";
            string serverName        = "http://myServerAddress:80";
            Uri    serverAddress     = new Uri(serverName);
            string organizationPath  = "/MyOrganizationPath";

            ProjectServer     server      = new ProjectServer(serverAddress, false, "MyUser", "MyPassword");
            ServerProjectInfo projectInfo = server.GetServerProject("/MyOrganization/MyProject");

            FileBasedProject project;

            if (projectInfo != null)
            {
                project = server.OpenProject(projectInfo.ProjectId, localcopylocation + projectInfo.Name);

                ProjectFile[] sourceFiles = project.GetSourceLanguageFiles();
                project.UndoCheckoutFiles(sourceFiles.GetIds());

                //Add a server based translation provider
                Uri tmAddress = new Uri(String.Format("{0}{1}{2}/{3}", tmServerPrefix, serverAddress, organizationPath, "UnitTestTm"));
                TranslationProviderConfiguration tmConfig = project.GetTranslationProviderConfiguration();
                tmConfig.Entries.Add
                (
                    new TranslationProviderCascadeEntry
                    (
                        new TranslationProviderReference(tmAddress),
                        true,
                        true,
                        true,
                        0
                    )
                );

                //The credentials for a server based TM are keyed to the server address without path or tm name
                project.Credentials.AddCredential(serverAddress, "user=sa;password=sa;type=CustomUser");
                project.UpdateTranslationProviderConfiguration(tmConfig);

                List <TaskStatusEventArgs> taskStatusEventArgsList = new List <TaskStatusEventArgs>();
                List <MessageEventArgs>    messageEventArgsList    = new List <MessageEventArgs>();

                // Run tasks for source files to create target files
                AutomaticTask scanTask = project.RunAutomaticTask(
                    sourceFiles.GetIds(),
                    AutomaticTaskTemplateIds.Scan,
                    (sender, taskStatusArgs) => taskStatusEventArgsList.Add(taskStatusArgs),
                    (sender, messageArgs) => messageEventArgsList.Add(messageArgs));

                AutomaticTask convertTask = project.RunAutomaticTask(
                    sourceFiles.GetIds(),
                    AutomaticTaskTemplateIds.ConvertToTranslatableFormat,
                    (sender, taskStatusArgs) => taskStatusEventArgsList.Add(taskStatusArgs),
                    (sender, messageArgs) => messageEventArgsList.Add(messageArgs));

                AutomaticTask copyToTargetTask = project.RunAutomaticTask(
                    sourceFiles.GetIds(),
                    AutomaticTaskTemplateIds.CopyToTargetLanguages,
                    (sender, taskStatusArgs) => taskStatusEventArgsList.Add(taskStatusArgs),
                    (sender, messageArgs) => messageEventArgsList.Add(messageArgs));

                // Run tasks for target files
                ProjectFile[] targetFiles = project.GetTargetLanguageFiles();

                AutomaticTask perfectMatchTask = project.RunAutomaticTask(
                    targetFiles.GetIds(),
                    AutomaticTaskTemplateIds.PerfectMatch,
                    (sender, taskStatusArgs) => taskStatusEventArgsList.Add(taskStatusArgs),
                    (sender, messageArgs) => messageEventArgsList.Add(messageArgs));

                AutomaticTask analyseTask = project.RunAutomaticTask(
                    targetFiles.GetIds(),
                    AutomaticTaskTemplateIds.AnalyzeFiles,
                    (sender, taskStatusArgs) => taskStatusEventArgsList.Add(taskStatusArgs),
                    (sender, messageArgs) => messageEventArgsList.Add(messageArgs));

                AutomaticTask preTranslateTask = project.RunAutomaticTask(
                    targetFiles.GetIds(),
                    AutomaticTaskTemplateIds.PreTranslateFiles,
                    (sender, taskStatusArgs) => taskStatusEventArgsList.Add(taskStatusArgs),
                    (sender, messageArgs) => messageEventArgsList.Add(messageArgs));

                AutomaticTask populateProjTmTask = project.RunAutomaticTask(
                    targetFiles.GetIds(),
                    AutomaticTaskTemplateIds.PopulateProjectTranslationMemories,
                    (sender, taskStatusArgs) => taskStatusEventArgsList.Add(taskStatusArgs),
                    (sender, messageArgs) => messageEventArgsList.Add(messageArgs));

                //Check in the new target files
                targetFiles = project.GetTargetLanguageFiles();
                project.CheckinFiles(targetFiles.GetIds(), "Target Files Created and Pre-translated", null);

                //Save the project back to disk
                project.Save();
            }
        }