private static bool wantExportRow( SnapshotController ssc, PreparedInformation preparedInformation, IInheritedSettings settings, DataRow row, CommentVisibilityScope commentVisibilityScope) { if (FileGroup.IsCompleteRowEmpty(row) && !preparedInformation.ExportCompletelyEmptyRows || // http://www.codeproject.com/KB/aspnet/ZetaResourceEditor.aspx?msg=3367544#xx3367544xx) FileGroup.IsInternalRow(row)) { return(false); } if (preparedInformation.OnlyExportRowsWithNoTranslation) { var emptyCount = 0; // ReSharper disable LoopCanBeConvertedToQuery foreach (DataColumn column in row.Table.Columns) // ReSharper restore LoopCanBeConvertedToQuery { // Column 0=FileGroup checksum, column 1=Tag name. if (column.Ordinal != 0 && column.Ordinal != 1 && !isCommentColumn(column)) { var languageCode = IsFileName(column.ColumnName) ? new LanguageCodeDetection(preparedInformation.Project).DetectLanguageCodeFromFileName( settings, column.ColumnName) : column.ColumnName; if (string.Compare(languageCode, preparedInformation.ReferenceLanguageCode, StringComparison.OrdinalIgnoreCase) != 0) { if (ConvertHelper.ToString(row[column], string.Empty).Trim().Length <= 0) { emptyCount++; } } } } if (preparedInformation.Project.EnableExcelExportSnapshots) { return(emptyCount > 0 || preparedInformation.OnlyExportRowsWithChangedTexts && hasChangedTextSinceLastExport(ssc, preparedInformation, settings, row)); } else { return(emptyCount > 0); } } else { if (preparedInformation.Project.EnableExcelExportSnapshots) { return(!preparedInformation.OnlyExportRowsWithChangedTexts || hasChangedTextSinceLastExport(ssc, preparedInformation, settings, row)); } else { return(true); } } }