示例#1
0
 public void Execute(ISisulizerFile sisulizerFile, CommonExportOptions exportOptions)
 {
     if (exportOptions is CsvExportOptions csvExportOptions)
     {
         File.WriteAllText(csvExportOptions.OutputFilename, this.ToCsv(sisulizerFile));
     }
 }
示例#2
0
 public void Execute(ISisulizerFile sisulizerFile, CommonExportOptions exportOptions)
 {
     if (exportOptions is XmlExportOptions xmlExportOptions)
     {
         File.WriteAllText(xmlExportOptions.OutputFilename, this.ToXml(sisulizerFile));
     }
 }
示例#3
0
        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());
        }
示例#4
0
        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();
                        }
                    }
                }
            }
        }