public static IConverter OpenConverter(OpenFileDialog openExcelDialog, VSSolution solution) { switch (Path.GetExtension(openExcelDialog.FileName).Substring(1)) { case "xls": return new ExcelConverter(solution); case "xlsx": return new XlsxConverter(solution); default: throw new Exception("File type not supported!"); } }
public VSSolutionFileParser(string filepath, VSSolution solution) { this.solution = solution; using(StreamReader streamReader = File.OpenText(filepath)) { while (!streamReader.EndOfStream) { string s = streamReader.ReadLine(); if (s.StartsWith("Project")) RegisterProject(s); } } }
public void LoadProjects(VSSolution s, IEnumerable<VSProject> projects) { solution = s; int i = 0; foreach (var project in solution.Projects.Values) { var item = new ProjectListViewEntry(project); this.Items.Add(item); if (projects.Contains(project)) this.SetSelected(i, true); i++; } }
public void LoadCultures(VSSolution s, IEnumerable<VSCulture> selectedCultures) { solution = s; int i = 0; foreach (var culture in solution.Cultures.Values) { var item = new CultureListBoxEntry(culture); this.Items.Add(item); if (selectedCultures.Contains(culture)) this.SetSelected(i, true); i++; } }
public VSProject(VSSolution solution, string filepath, string name) : base(null, null, filepath) { this.Solution = solution; string configPath = Path.Combine(Path.Combine(Solution.SolutionDirectory.FullName, CleanDirectoryPath(filepath)), Path.GetFileNameWithoutExtension(filepath) + ResxClientProjectFile.RESXCLIENTPROJECTFILE_EXTENSION); this.ResxProjectFile = new ResxClientProjectFile(configPath); this.FilePath = filepath; this.Name = name; this.Type = resolveProjectType(filepath); base.Init(CleanDirectoryPath(filepath)); string tfsFile = Path.Combine(Solution.SolutionDirectory.FullName, filepath + VSS_PROJECT_METAFILE_EXTENSION); UnderTfsControl = File.Exists(tfsFile); }
public VSSolutionFileParser(string filepath, VSSolution solution) { Solution = solution; using (var streamReader = File.OpenText(filepath)) { while (!streamReader.EndOfStream) { string s = streamReader.ReadLine(); if (s.StartsWith("Project")) { RegisterProject(s); } } } }
public VSProject(VSSolution solution, string filepath, string name) : base(null, null, filepath) { Solution = solution; string configPath = Path.Combine(Path.Combine(Solution.SolutionDirectory.FullName, CleanDirectoryPath(filepath)), Path.GetFileNameWithoutExtension(filepath) + ResxClientConfigurationBase.RESXCLIENTPROJECTFILE_EXTENSION); ResxProjectFile = new ProjectConfiguration(configPath); FilePath = filepath; Name = name; ShortName = solution.generateProjectShortName(name); Type = resolveProjectType(filepath); base.Init(CleanDirectoryPath(filepath)); string tfsFile = Path.Combine(Solution.SolutionDirectory.FullName, filepath + VSS_PROJECT_METAFILE_EXTENSION); UnderTfsControl = File.Exists(tfsFile); }
private void openSolution(string filename) { try { setToolbarStatusText(Resources.LoadingSolution); CurrentSolution = new VSSolution(filename); this.menuStrip1.Invoke((MethodInvoker)(() => this.toolStripMenuItemExport.Enabled = true)); this.menuStrip1.Invoke((MethodInvoker)(() => this.itemSaveResources.Enabled = true)); this.menuStrip1.Invoke((MethodInvoker)(() => this.toolStripMenuItemImport.Enabled = true)); this.menuStrip1.Invoke((MethodInvoker)(() => this.itemOpenSolution.Enabled = true)); this.menuStrip1.Invoke((MethodInvoker)(() => this.storeAllTranslationsToolStripMenuItem.Enabled = true)); this.menuStrip1.Invoke((MethodInvoker)(() => this.itemCloseSolution.Enabled = true)); this.toolStrip1.Invoke((MethodInvoker)(() => this.toolSaveAll.Enabled = true)); this.toolStrip1.Invoke((MethodInvoker)(() => this.toolImport.Enabled = true)); this.toolStrip1.Invoke((MethodInvoker)(() => this.toolExport.Enabled = true)); this.toolStrip1.Invoke((MethodInvoker)(() => this.toolFillTranslations.Enabled = true)); this.menuStrip1.Invoke((MethodInvoker)(() => this.toolStripMenuItemTranslateAll.Enabled = true)); solutionTree1.LoadTree(); } catch { throw; } finally { resetToolbarStatusText(); } if (CurrentSolution.Projects.Count == 0) { MessageBox.Show(String.Format(Properties.Resources.WarningNoProjects, filename), Properties.Resources.WarningOpenSolutionTitle, MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (CurrentSolution.Cultures.Count == 0) { MessageBox.Show(String.Format(Properties.Resources.WarningNoCultures, filename), Properties.Resources.WarningOpenSolutionTitle, MessageBoxButtons.OK, MessageBoxIcon.Information); } }
private void closeSolution() { var result = testSolutionHasChanged(); if (result != System.Windows.Forms.DialogResult.Cancel) { this.CurrentSolution = null; solutionTree1.LoadTree(); this.menuStrip1.Invoke((MethodInvoker)(() => this.toolStripMenuItemExport.Enabled = false)); this.menuStrip1.Invoke((MethodInvoker)(() => this.itemSaveResources.Enabled = false)); this.menuStrip1.Invoke((MethodInvoker)(() => this.toolStripMenuItemImport.Enabled = false)); this.menuStrip1.Invoke((MethodInvoker)(() => this.storeAllTranslationsToolStripMenuItem.Enabled = false)); this.menuStrip1.Invoke((MethodInvoker)(() => this.itemCloseSolution.Enabled = false)); this.toolStrip1.Invoke((MethodInvoker)(() => this.toolSaveAll.Enabled = false)); this.toolStrip1.Invoke((MethodInvoker)(() => this.toolImport.Enabled = false)); this.toolStrip1.Invoke((MethodInvoker)(() => this.toolExport.Enabled = false)); this.toolStrip1.Invoke((MethodInvoker)(() => this.toolFillTranslations.Enabled = false)); this.menuStrip1.Invoke((MethodInvoker)(() => this.toolStripMenuItemTranslateAll.Enabled = false)); } }
public void Store(VSSolution solution) { using (TranslationStorage store = new TranslationStorage(getConnectionString())) { foreach (var project in solution.Projects.Values) { foreach (var fileGroup in project.ResxGroups.Values) { foreach (var dataGroup in fileGroup.AllData.Values) { var existingTranslationTexts = new List<TranslationText>(); foreach (var data in dataGroup.ResxData.Values) { existingTranslationTexts.AddRange(store.FindTranslations(data.Value, data.ResxFile.Culture.Name)); } if (existingTranslationTexts.Count == 0) { var t = new Translation(); foreach (var data in dataGroup.ResxData.Values) { var text = new TranslationText(); text.Text = data.Value; text.Culture = GetCulture(data.ResxFile.Culture, store); text.CreatedDate = DateTime.Now; text.ModifiedDate = DateTime.Now; t.Translations.Add(text); } store.Translations.AddObject(t); store.SaveChanges(); } else { var list = from transText in existingTranslationTexts join data in dataGroup.ResxData.Values on transText.Text.ToLowerInvariant() equals data.Value.ToLowerInvariant() group transText by transText.Translation into translation select new { Translation = translation.Key, Count = translation.Count() }; var topCandidate = list.OrderByDescending(t => t.Count) .FirstOrDefault(); if (topCandidate == null) throw new Exception("TODO: Error"); var notExistingCultures = (from c in dataGroup.ResxData.Keys select c) .Except(from cn in topCandidate.Translation.Translations select CultureInfo.GetCultureInfo(cn.Culture.CultureName)); foreach (var culture in notExistingCultures) { var text = new TranslationText(); text.Text = dataGroup.ResxData[culture].Value; text.Culture = GetCulture(culture, store); text.CreatedDate = DateTime.Now; text.ModifiedDate = DateTime.Now; topCandidate.Translation.Translations.Add(text); } store.SaveChanges(); } } } } } }
public XlsxConverter(IEnumerable<IResourceFileGroup> fileGroups, VSSolution solution) : base(fileGroups, solution) { }
public XlsxConverter(VSSolution solution) : base(solution) { }
public ConverterBase(IEnumerable<IResourceFileGroup> fileGroups, VSSolution solution) { this.FileGroups = fileGroups; this.Solution = solution; }
public ConverterBase(VSSolution solution) { this.Solution = solution; }
public ExcelConverter(VSSolution solution) : base(solution) { }