Ejemplo n.º 1
0
        private void IndexColumns()
        {
            // assume first row is header with names
            var header = _sheet.Rows[0];

            for (var index = 0; index < header.Cells.Length; index++)
            {
                var name = header.TextCells[index];
                if (!String.IsNullOrWhiteSpace(name))
                {
                    var column = _columns.FirstOrDefault(x => String.Compare(x, name, true) == 0);
                    if (column == null)
                    {
                        UnknownColumns.Add(column);                         // unknown column
                    }
                    else
                    {
                        ColumnIndex.Add(column, index);
                    }
                }
            }

            // figure out which columns are missing
            foreach (var col in _columns)
            {
                if (!ColumnIndex.ContainsKey(col))
                {
                    MissingColumns.Add(col);
                }
            }
        }
Ejemplo n.º 2
0
        private string GetMissingColumnError()
        {
            if (!MissingColumns.Any())
            {
                return("No missing columns"); // Would rather return string.Empty, but that breaks the validation, as WithMessage cannot be empty
            }
            var firstMissingColumn = MissingColumns.First();

            return(string.Format("Missing column '{0}' at position {1}", firstMissingColumn.Value,
                                 firstMissingColumn.Key + 1));
        }