public void Execute(ISisulizerFile sisulizerFile, CommonExportOptions exportOptions) { if (exportOptions is CsvExportOptions csvExportOptions) { File.WriteAllText(csvExportOptions.OutputFilename, this.ToCsv(sisulizerFile)); } }
public void Execute(ISisulizerFile sisulizerFile, CommonExportOptions exportOptions) { if (exportOptions is XmlExportOptions xmlExportOptions) { File.WriteAllText(xmlExportOptions.OutputFilename, this.ToXml(sisulizerFile)); } }
private string ToXml(ISisulizerFile sisulizerFile) { var stringBuilder = new StringBuilder(); stringBuilder.AppendLine($"<TranslationStatus file=\"{sisulizerFile.FileName}\">"); stringBuilder.Append(this.ToXml(sisulizerFile.Languages)); foreach (var project in sisulizerFile.Projects) { stringBuilder.Append(this.ToXml(project)); } stringBuilder.AppendLine("</TranslationStatus>"); return(stringBuilder.ToString()); }
private string ToCsv(ISisulizerFile sisulizerFile) { var stringBuilder = new StringBuilder(); // header stringBuilder.AppendLine($"Project;Language;Status;StringCount;InvalidStringCount;WordCount;InvalidWordCount"); // totals over all projects in Sisulizer file this.ToCsv(stringBuilder, "total", sisulizerFile.Languages); // stats for each project individually foreach (var project in sisulizerFile.Projects) { this.ToCsv(stringBuilder, project.Name, project.Languages); } return(stringBuilder.ToString()); }
public void Execute(ISisulizerFile sisulizerFile, CommonExportOptions exportOptions) { if (exportOptions is OracleExportOptions oracleExportOptions) { using (var oracleConnection = new OracleConnection(oracleExportOptions.ConnectionString)) { var dbCommand = oracleConnection.CreateCommand(); dbCommand.CommandText = $"insert into {oracleExportOptions.TableName} (source, product, version, build, createdon, languagecode, statistictype, nottranslated, bestguess, bestguessinvalid, autotranslated, autotranslatedinvalid, translated, translatedinvalid, forreview, forreviewinvalid, complete, completeinvalid, total)" + $"values (:source, :product, :version, :build, :createdon, :languagecode, :statistictype, :nottranslated, :bestguess, :bestguessinvalid, :autotranslated, :autotranslatedinvalid, :translated, :translatedinvalid, :forreview, :forreviewinvalid, :complete, :completeinvalid, :total)"; var createdOn = DateTime.Now; foreach (var languageStats in sisulizerFile.Languages) { foreach (var statType in new[] { StatType.Strings, StatType.Words }) { this.CreateParameter(dbCommand, "source", OracleDbType.Varchar2).Value = Path.GetFileNameWithoutExtension(sisulizerFile.FileName); this.CreateParameter(dbCommand, "product", OracleDbType.Varchar2).Value = oracleExportOptions.Product; this.CreateParameter(dbCommand, "version", OracleDbType.Varchar2).Value = oracleExportOptions.Version; this.CreateParameter(dbCommand, "build", OracleDbType.Int32).Value = oracleExportOptions.Build; this.CreateParameter(dbCommand, "createdon", OracleDbType.Date).Value = createdOn; this.CreateParameter(dbCommand, "languagecode", OracleDbType.Varchar2).Value = languageStats.Language; this.CreateParameter(dbCommand, "statistictype", OracleDbType.Varchar2).Value = this.GetStatisticType(statType); this.CreateParameter(dbCommand, "nottranslated", OracleDbType.Varchar2).Value = this.GetNotTranslated(languageStats, statType); this.CreateParameter(dbCommand, "bestguess", OracleDbType.Varchar2).Value = this.GetStatValue(languageStats, LangStatus.BestGuess, statType, true); this.CreateParameter(dbCommand, "bestguessinvalid", OracleDbType.Varchar2).Value = this.GetStatValue(languageStats, LangStatus.BestGuess, statType, false); this.CreateParameter(dbCommand, "autotranslated", OracleDbType.Varchar2).Value = this.GetStatValue(languageStats, LangStatus.AutoTranslated, statType, true); this.CreateParameter(dbCommand, "autotranslatedinvalid", OracleDbType.Varchar2).Value = this.GetStatValue(languageStats, LangStatus.AutoTranslated, statType, false); this.CreateParameter(dbCommand, "translated", OracleDbType.Varchar2).Value = this.GetStatValue(languageStats, LangStatus.Translated, statType, true); this.CreateParameter(dbCommand, "translatedinvalid", OracleDbType.Varchar2).Value = this.GetStatValue(languageStats, LangStatus.Translated, statType, false); this.CreateParameter(dbCommand, "forreview", OracleDbType.Varchar2).Value = this.GetStatValue(languageStats, LangStatus.ForReview, statType, true); this.CreateParameter(dbCommand, "forreviewinvalid", OracleDbType.Varchar2).Value = this.GetStatValue(languageStats, LangStatus.ForReview, statType, false); this.CreateParameter(dbCommand, "complete", OracleDbType.Varchar2).Value = this.GetStatValue(languageStats, LangStatus.Completed, statType, true); this.CreateParameter(dbCommand, "completeinvalid", OracleDbType.Varchar2).Value = this.GetStatValue(languageStats, LangStatus.Completed, statType, false); this.CreateParameter(dbCommand, "total", OracleDbType.Varchar2).Value = this.GetNativeCount(languageStats, statType); var result = dbCommand.ExecuteNonQuery(); } } } } }