public CustomModelMetadataProvider() { if (Repository == null) { Repository = new AdwRepository(); } }
public IEnumerable <CellValidationError> ValidateFile(Stream stream, IAdwRepository adw) { LoadStandardHeadings(); var validator = new CellValidator(adw); // by default the CsvReader will skip empty lines using (var csv = new CsvReader(new StreamReader(stream), true)) { var columns = csv.GetFieldHeaders(); // these are the standard headings // Check for missing columns validator.Errors.AddRange(MissingColumns(columns.ToList())); // Check that the Headings are correct validator.Errors.AddRange(HeadingErrors(columns.ToList())); // if we have heading errors dont try to go any further if (validator.Errors.Count > 0) { goto EndOfValidation; } var r = 1; while (csv.ReadNextRecord()) { if (CsvHelper.EmptyLine(csv, columns.Length)) { continue; } // process the single row r++; //var questionType = string.Empty; //var questionText = string.Empty; //var answerColumn = string.Empty; //for each column of the row for (var c = 0; c < columns.Length; c++) { var val = csv[c]; var patColumn = SelectStandardColumn(columns[c]); //if ( patColumn.ColumnName.Equals( CommonConstants.QuestionColumn_QuestionType ) ) // questionType = val; //if ( patColumn.ColumnName.Equals( CommonConstants.QuestionColumn_QuestionText ) ) // questionText = val; //if ( patColumn.ColumnName.Equals( CommonConstants.QuestionColumn_AnswerColumn ) ) // answerColumn = val; if (validator.DataIsValid(column: patColumn, value: val, rowNumber: r)) { continue; } // test the number of errors against an arbitary limit if (!validator.Errors.Count.Equals(UploadValidationErrorLimit)) { continue; } validator.Errors.Add(new CellValidationError { OptionalMessage = ErrorLimitMessage() }); goto EndOfValidation; } } } EndOfValidation: return(validator.Errors); }
public ReviewQuestionnaire(IAdwRepository adwRepository) { _adwRepository = adwRepository; }
public ProjectContract(IAdwRepository adwRepository) { _adwRepository = adwRepository; }
public Bulletin(IAdwRepository adwRepository) { _adwRepository = adwRepository; }
public CheckList(IAdwRepository adwRepository) { _adwRepository = adwRepository; }
public IEnumerable <CellValidationError> ValidateFile(string fileName, IAdwRepository adw, bool includesOutcomes) { LoadStandardHeadings(includesOutcomes); var validator = new CellValidator(adw); // by default the CsvReader will skip empty lines using (var csv = new CsvReader(new StreamReader(fileName), true)) { var columns = csv.GetFieldHeaders(); // these are the standard headings // Check for missing columns validator.Errors.AddRange(MissingColumns(columns.ToList())); // Check that the Headings are correct validator.Errors.AddRange(HeadingErrors(columns.ToList())); // if we have heading errors dont try to go any further if (validator.Errors.Count > 0) { goto EndOfValidation; } var r = 1; while (csv.ReadNextRecord()) { if (CsvHelper.EmptyLine(csv, columns.Length)) { continue; } // process the review (single row) r++; //for each column of the row for (var c = 0; c < columns.Length; c++) { var val = csv[c]; var patColumn = SelectStandardColumn(columns[c]); if (validator.DataIsValid(column: patColumn, value: val, rowNumber: r)) { continue; } // test the number of errors against an arbitary limit if (!validator.Errors.Count.Equals(UploadValidationErrorLimit)) { continue; } validator.Errors.Add(new CellValidationError { OptionalMessage = ErrorLimitMessage() }); goto EndOfValidation; } // If there is outcome data check the outcome rules still are valid if (includesOutcomes) { CheckOutcomeData(csv, columns, r, validator); } } } EndOfValidation: return(validator.Errors); }
public CellValidator(IAdwRepository adw) { Errors = new List <CellValidationError>(); RowType = "row"; _adwRepository = adw; }
public Review(IAdwRepository adwRepository) { _adwRepository = adwRepository; }