public static FileInformation Create(FileInspectionRequest request, ILogger logger, string processName = null, string entityName = null) {

            var ext = request.FileInfo.Extension.ToLower();
            var isExcel = ext.StartsWith(".xls", StringComparison.OrdinalIgnoreCase);

            var fileInformation = isExcel ?
                new ExcelInformationReader(request).Read(request.FileInfo) :
                new FileInformationReader(request, logger).Read(request.FileInfo);

            var validator = new ColumnNameValidator(fileInformation.Fields.Select(f => f.Name).ToArray());
            if (validator.Valid())
                return fileInformation;

            fileInformation.FirstRowIsHeader = false;
            for (var i = 0; i < fileInformation.Fields.Count(); i++) {
                fileInformation.Fields[i].Name = ColumnNameGenerator.CreateDefaultColumnName(i);
            }

            return fileInformation;
        }
        public static FileInformation Create(FileInspectionRequest request, ILogger logger, string processName = null, string entityName = null)
        {
            var ext     = request.FileInfo.Extension.ToLower();
            var isExcel = ext.StartsWith(".xls", StringComparison.OrdinalIgnoreCase);

            var fileInformation = isExcel ?
                                  new ExcelInformationReader(request).Read(request.FileInfo) :
                                  new FileInformationReader(request, logger).Read(request.FileInfo);

            var validator = new ColumnNameValidator(fileInformation.Fields.Select(f => f.Name).ToArray());

            if (validator.Valid())
            {
                return(fileInformation);
            }

            fileInformation.FirstRowIsHeader = false;
            for (var i = 0; i < fileInformation.Fields.Count(); i++)
            {
                fileInformation.Fields[i].Name = ColumnNameGenerator.CreateDefaultColumnName(i);
            }

            return(fileInformation);
        }
 public void Test1()
 {
     var validator = new ColumnNameValidator(new[] {"Column1", "2Column;"});
     Assert.IsTrue(validator.Valid());
 }