// Validate indicator details private void ValidateIndicatorDetails(DataTable dataTable, SimpleUpload simpleUpload, AllowedData allowedData) { var duv = new DataUploadValidation(); GetIndicatorValue(dataTable, simpleUpload); GetYearValue(dataTable, simpleUpload); GetYearRange(dataTable, simpleUpload); GetQuarter(dataTable, simpleUpload); GetMonth(dataTable, simpleUpload); GetAgeId(dataTable, simpleUpload); duv.ValidateAgeId(simpleUpload.AgeId, null, allowedData.AgeIds); GetSexId(dataTable, simpleUpload); duv.ValidateSexId(simpleUpload.SexId, null, allowedData.SexIds); }
private List<UploadValidationFailure> ValidateUploadedRow(DataRow row, int rowNumber, AllowedData allowedData) { rowNumber = rowNumber + 2; var duv = new DataUploadValidation(); Exception dataConversionException; var validationFailures = new List<UploadValidationFailure>(); //Validate the IndicatorID string columnName = UploadColumnNames.IndicatorId; dataConversionException = duv.ValidateExpectedDataType(row, columnName, DataUploadValidation.DataType.Integer); if (dataConversionException != null) { validationFailures.Add(new UploadValidationFailure(rowNumber, columnName, "Invalid " + columnName, null)); } //Validate the Indicator UploadValidationFailure uploadValidationFailure = duv.ValidateIndicator(row, rowNumber); if (uploadValidationFailure != null) { //There was an error so log it validationFailures.Add(uploadValidationFailure); } //Validate the Year Data Type columnName = UploadColumnNames.Year; dataConversionException = duv.ValidateExpectedDataType(row, columnName, DataUploadValidation.DataType.Integer); if (dataConversionException != null) { validationFailures.Add(new UploadValidationFailure(rowNumber, columnName, "Invalid " + columnName, dataConversionException.Message)); } else { //Ensure this is a valid Year value uploadValidationFailure = duv.ValidateYear(row, rowNumber); if (uploadValidationFailure != null) { //There was an error so log it validationFailures.Add(uploadValidationFailure); } } //Validate the YearRange columnName = UploadColumnNames.YearRange; dataConversionException = duv.ValidateExpectedDataType(row, columnName, DataUploadValidation.DataType.Integer); if (dataConversionException != null) { validationFailures.Add(new UploadValidationFailure(rowNumber, columnName, "Invalid " + columnName, dataConversionException.Message)); } else { uploadValidationFailure = duv.ValidateYearRange(row, rowNumber); if (uploadValidationFailure != null) { //There was an error so log it validationFailures.Add(uploadValidationFailure); } } //Validate the Quarter Data Type columnName = UploadColumnNames.Quarter; dataConversionException = duv.ValidateExpectedDataType(row, columnName, DataUploadValidation.DataType.Integer); if (dataConversionException != null) { validationFailures.Add(new UploadValidationFailure(rowNumber, columnName, "Invalid " + columnName, dataConversionException.Message)); } else { //Validate the Quarter Value uploadValidationFailure = duv.ValidateQuarter(row, rowNumber); if (uploadValidationFailure != null) { //There was an error so log it validationFailures.Add(uploadValidationFailure); } } //Validate the Month Data Type columnName = UploadColumnNames.Month; dataConversionException = duv.ValidateExpectedDataType(row, columnName, DataUploadValidation.DataType.Integer); if (dataConversionException != null) { validationFailures.Add(new UploadValidationFailure(rowNumber, columnName, "Invalid " + columnName, dataConversionException.Message)); } else { //Validate the Quarter Value uploadValidationFailure = duv.ValidateMonth(row, rowNumber); if (uploadValidationFailure != null) { //There was an error so log it validationFailures.Add(uploadValidationFailure); } } //Validate the AgeId Data Type columnName = UploadColumnNames.AgeId; dataConversionException = duv.ValidateExpectedDataType(row, columnName, DataUploadValidation.DataType.Integer); if (dataConversionException != null) { validationFailures.Add(new UploadValidationFailure(rowNumber, columnName, "Invalid " + columnName, dataConversionException.Message)); } else { //Validate the Age Id Value uploadValidationFailure = duv.ValidateAgeId((int)row.Field<double>(columnName), rowNumber, allowedData.AgeIds); if (uploadValidationFailure != null) { //There was an error so log it validationFailures.Add(uploadValidationFailure); } } //Validate the SexId Data Type columnName = UploadColumnNames.SexId; dataConversionException = duv.ValidateExpectedDataType(row, columnName, DataUploadValidation.DataType.Integer); if (dataConversionException != null) { validationFailures.Add(new UploadValidationFailure(rowNumber, columnName, "Invalid " + columnName, dataConversionException.Message)); } else { //Ensure this is a valid Sex Id in the DB uploadValidationFailure = duv.ValidateSexId((int)row.Field<double>(columnName), rowNumber, allowedData.SexIds); if (uploadValidationFailure != null) { //There was an error so log it validationFailures.Add(uploadValidationFailure); } } //Validate the AreaCode columnName = UploadColumnNames.AreaCode; dataConversionException = duv.ValidateExpectedDataType(row, columnName, DataUploadValidation.DataType.String); if (dataConversionException != null) { validationFailures.Add(new UploadValidationFailure(rowNumber, columnName, "Invalid " + columnName, dataConversionException.Message)); } else { //Ensure this is a valid Area Code in the DB uploadValidationFailure = duv.ValidateArea(row, rowNumber, allowedData.AreaCodes); if (uploadValidationFailure != null) { //There was an error so log it validationFailures.Add(uploadValidationFailure); } } //Validate the Count columnName = UploadColumnNames.Count; dataConversionException = duv.ValidateExpectedDataType(row, columnName, DataUploadValidation.DataType.NullableDouble); if (dataConversionException != null) { validationFailures.Add(new UploadValidationFailure(rowNumber, columnName, "Invalid " + columnName, dataConversionException.Message)); } //Validate the Value columnName = UploadColumnNames.Value; dataConversionException = duv.ValidateExpectedDataType(row, columnName, DataUploadValidation.DataType.Double); if (dataConversionException != null) { validationFailures.Add(new UploadValidationFailure(rowNumber, columnName, "Invalid " + columnName, dataConversionException.Message)); } //Validate the LowerCI columnName = UploadColumnNames.LowerCI; dataConversionException = duv.ValidateExpectedDataType(row, columnName, DataUploadValidation.DataType.Double); if (dataConversionException != null) { validationFailures.Add(new UploadValidationFailure(rowNumber, columnName, "Invalid " + columnName, dataConversionException.Message)); } //Validate the UpperCI columnName = UploadColumnNames.UpperCI; dataConversionException = duv.ValidateExpectedDataType(row, columnName, DataUploadValidation.DataType.Double); if (dataConversionException != null) { validationFailures.Add(new UploadValidationFailure(rowNumber, columnName, "Invalid " + columnName, dataConversionException.Message)); } //Validate the Denominator columnName = UploadColumnNames.Denominator; dataConversionException = duv.ValidateExpectedDataType(row, columnName, DataUploadValidation.DataType.Double); if (dataConversionException != null) { validationFailures.Add(new UploadValidationFailure(rowNumber, columnName, "Invalid " + columnName, dataConversionException.Message)); } //Validate the Denominator_2 columnName = UploadColumnNames.Denominator2; dataConversionException = duv.ValidateExpectedDataType(row, columnName, DataUploadValidation.DataType.Double); if (dataConversionException != null) { validationFailures.Add(new UploadValidationFailure(rowNumber, columnName, "Invalid " + columnName, dataConversionException.Message)); } //Validate the ValueNoteId columnName = UploadColumnNames.ValueNoteId; dataConversionException = duv.ValidateExpectedDataType(row, columnName, DataUploadValidation.DataType.Integer); if (dataConversionException != null) { validationFailures.Add(new UploadValidationFailure(rowNumber, columnName, "Invalid " + columnName, dataConversionException.Message)); } else { //Ensure this is a value note id in the DB uploadValidationFailure = duv.ValidateValueNoteId((int)row.Field<double>(columnName), rowNumber, allowedData.ValueNoteIds); if (uploadValidationFailure != null) { //There was an error so log it validationFailures.Add(uploadValidationFailure); } } // Validate CategoryTypeId & CategoryId uploadValidationFailure = duv.ValidateCategoryTypeIdAndCategoryId(row, rowNumber, allowedData.Categories); if (uploadValidationFailure != null) { validationFailures.Add(uploadValidationFailure); } return validationFailures; }