示例#1
0
        public static List <LocationDetails> GetProgramDataFolderPath(StudioLocationListItem selectedLocation, List <StudioVersionListItem> studioVersions)
        {
            var studioDetails = new List <LocationDetails>();

            try
            {
                foreach (var studioVersion in studioVersions)
                {
                    var programDataFolderPath = string.Format(@"C:\ProgramData\SDL\SDL Trados Studio\{0}\Updates", studioVersion.FolderName);
                    var directoryInfo         = new DirectoryInfo(programDataFolderPath);
                    var details = new LocationDetails
                    {
                        OriginalFilePath = programDataFolderPath,
                        BackupFilePath   = Path.Combine(_backupFolderPath, studioVersion.DisplayName, "ProgramData", directoryInfo.Name),
                        Alias            = selectedLocation?.Alias,
                        Version          = studioVersion?.DisplayName
                    };
                    studioDetails.Add(details);
                }
            }
            catch (Exception ex)
            {
                Log.Logger.Error($"{Constants.GetProgramDataFolderPath} {ex.Message}\n {ex.StackTrace}");
            }
            return(studioDetails);
        }
示例#2
0
        public static List <LocationDetails> GetProjectsFolderPath(string userName, StudioLocationListItem selectedLocation, List <StudioVersionListItem> studioVersions)
        {
            var studioDetails = new List <LocationDetails>();

            try
            {
                foreach (var studioVersion in studioVersions)
                {
                    var projectsXmlPath = string.Format(@"C:\Users\{0}\Documents\{1}\Projects\projects.xml", userName, studioVersion.DisplayName);
                    var details         = new LocationDetails
                    {
                        OriginalFilePath = projectsXmlPath,
                        BackupFilePath   = Path.Combine(_backupFolderPath, studioVersion.DisplayName, "Projects", "projects.xml"),
                        Alias            = selectedLocation?.Alias,
                        Version          = studioVersion?.DisplayName
                    };
                    studioDetails.Add(details);
                }
            }
            catch (Exception ex)
            {
                Log.Logger.Error($"{Constants.GetProjectsFolderPath} {ex.Message}\n {ex.StackTrace}");
            }
            return(studioDetails);
        }
示例#3
0
        public static List <LocationDetails> GetRoamingProjectApiFolderPath(string userName,
                                                                            StudioLocationListItem selectedLocation, List <StudioVersionListItem> studioVersions)
        {
            var studioDetails        = new List <LocationDetails>();
            var studioInstalledPaths = new Studio()?.GetInstalledStudioVersion();

            foreach (var studioVersion in studioVersions)
            {
                foreach (var studioPath in studioInstalledPaths)
                {
                    if (studioPath.Version.Equals(studioVersion.FolderName))
                    {
                        var projApiFullPath   = GetProjectApiFilePath(studioPath.InstallPath);
                        var projApiFolderPath = Path.GetDirectoryName(projApiFullPath);
                        if (!string.IsNullOrEmpty(projApiFolderPath))
                        {
                            var directoryInfo = new DirectoryInfo(projApiFolderPath);
                            var details       = new LocationDetails
                            {
                                OriginalFilePath = projApiFolderPath,
                                BackupFilePath   = Path.Combine(_backupFolderPath, studioVersion.DisplayName, "ProjectApi", directoryInfo.Name),
                                Alias            = selectedLocation.Alias,
                                Version          = studioVersion.DisplayName
                            };
                            studioDetails.Add(details);
                        }
                    }
                }
            }
            return(studioDetails);
        }
示例#4
0
        public static List <LocationDetails> GetProgramDataFolderPath(StudioLocationListItem selectedLocation, List <StudioVersionListItem> studioVersions)
        {
            var studioDetails = new List <LocationDetails>();

            foreach (var studioVersion in studioVersions)
            {
                var programDataFolderPath = string.Format(@"C:\ProgramData\SDL\SDL Trados Studio\{0}\Updates", studioVersion.FolderName);
                var directoryInfo         = new DirectoryInfo(programDataFolderPath);
                var details = new LocationDetails
                {
                    OriginalFilePath = programDataFolderPath,
                    BackupFilePath   = Path.Combine(_backupFolderPath, studioVersion.DisplayName, "ProgramData", directoryInfo.Name),
                    Alias            = selectedLocation.Alias,
                    Version          = studioVersion.DisplayName
                };
                studioDetails.Add(details);
            }
            return(studioDetails);
        }
示例#5
0
        public static List <LocationDetails> GetProjectsFolderPath(string userName, StudioLocationListItem selectedLocation, List <StudioVersionListItem> studioVersions)
        {
            var studioDetails = new List <LocationDetails>();

            foreach (var studioVersion in studioVersions)
            {
                var projectsXmlPath = string.Format(@"C:\Users\{0}\Documents\{1}\Projects\projects.xml", userName,
                                                    studioVersion.DisplayName);
                var details = new LocationDetails
                {
                    OriginalFilePath = projectsXmlPath,
                    BackupFilePath   = Path.Combine(_backupFolderPath, studioVersion.DisplayName, "Projects", "projects.xml"),

                    Alias   = selectedLocation.Alias,
                    Version = studioVersion.DisplayName
                };
                studioDetails.Add(details);
            }
            return(studioDetails);
        }
示例#6
0
        public static List <LocationDetails> GetLocalMajorFullFolderPath(string userName,
                                                                         StudioLocationListItem selectedLocation, List <StudioVersionListItem> studioVersions)
        {
            var studioDetails = new List <LocationDetails>();

            foreach (var studioVersion in studioVersions)
            {
                var majorFolderPath = string.Format(@"C:\Users\{0}\AppData\Local\SDL\SDL Trados Studio\{1}.0.0.0", userName,
                                                    studioVersion.MajorVersionNumber);
                var directoryInfo = new DirectoryInfo(majorFolderPath);
                var details       = new LocationDetails
                {
                    OriginalFilePath = majorFolderPath,
                    BackupFilePath   = Path.Combine(_backupFolderPath, studioVersion.DisplayName, "SDL Trados Studio", directoryInfo.Name),
                    Alias            = selectedLocation.Alias,
                    Version          = studioVersion.DisplayName
                };
                studioDetails.Add(details);
            }
            return(studioDetails);
        }
示例#7
0
        public static List <LocationDetails> GetRoamingProjectApiFolderPath(StudioLocationListItem selectedLocation, List <StudioVersionListItem> studioVersions)
        {
            var studioDetails = new List <LocationDetails>();

            try
            {
                var studioInstalledPaths = new Studio()?.GetInstalledStudioVersion();
                foreach (var studioVersion in studioVersions)
                {
                    foreach (var studioPath in studioInstalledPaths)
                    {
                        if (studioPath.Version.Equals(studioVersion.FolderName))
                        {
                            var projApiFullPath   = GetProjectApiFilePath(studioPath.InstallPath);
                            var projApiFolderPath = Path.GetDirectoryName(projApiFullPath);
                            if (!string.IsNullOrEmpty(projApiFolderPath))
                            {
                                var directoryInfo = new DirectoryInfo(projApiFolderPath);
                                var details       = new LocationDetails
                                {
                                    OriginalFilePath = projApiFolderPath,
                                    BackupFilePath   = Path.Combine(_backupFolderPath, studioVersion.DisplayName, "ProjectApi", directoryInfo.Name),
                                    Alias            = selectedLocation?.Alias,
                                    Version          = studioVersion?.DisplayName
                                };
                                studioDetails.Add(details);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Log.Logger.Error($"{Constants.GetRoamingProjectApiFolderPath} {ex.Message}\n {ex.StackTrace}");
            }
            return(studioDetails);
        }
示例#8
0
        public static List <LocationDetails> GetRoamingMajorFullFolderPath(string userName, StudioLocationListItem selectedLocation, List <StudioVersionListItem> studioVersions)
        {
            var studioDetails = new List <LocationDetails>();

            try
            {
                foreach (var studioVersion in studioVersions)
                {
                    var majorFolderPath = string.Format(@"C:\Users\{0}\AppData\Roaming\SDL\SDL Trados Studio\{1}.0.0.0", userName,
                                                        studioVersion.MajorVersionNumber);
                    var directoryInfo = new DirectoryInfo(majorFolderPath);
                    var details       = new LocationDetails
                    {
                        OriginalFilePath = majorFolderPath,
                        BackupFilePath   = Path.Combine(_backupFolderPath, studioVersion.DisplayName, directoryInfo.Name),
                        Alias            = selectedLocation?.Alias,
                        Version          = studioVersion?.DisplayName
                    };
                    studioDetails.Add(details);
                }
            }
            catch (Exception ex)
            {
                Log.Logger.Error($"{Constants.GetRoamingMajorFullFolderPath} {ex.Message}\n {ex.StackTrace}");
            }
            return(studioDetails);
        }