private string WorksheetValidation(DataTable sourceTable) { StringBuilder str = new StringBuilder(); var rmRules = ValidationRules.Worksheets.Where(a => a.Name == sourceTable.TableName).FirstOrDefault(); if (rmRules == null) { return string.Empty; } foreach (var validation in rmRules.Validations) { switch (validation.Type) { case ValidationTypeEnum.ZeroCheck: str.Append(sourceTable.ZeroValueCheck(validation.Field)); break; case ValidationTypeEnum.PossibleValueCheck: str.Append(sourceTable.ValueCheck(validation.Field, validation.Values)); break; default: break; } } return str.ToString(); }
private List<LogData> WorksheetValidation(DataTable sourceTable) { var logData = new List<LogData>(); var rmRules = ValidationRules.Worksheets.Where(a => a.Name == sourceTable.TableName).FirstOrDefault(); if (rmRules == null) { return logData; } foreach (var validation in rmRules.Validations) { switch (validation.Type) { case ValidationTypeEnum.NullCheck: logData.AddRange(sourceTable.NullValueCheck(validation.Field)); break; case ValidationTypeEnum.ReferenceDataTypeCheck: var dataTypeReferenceTable = tableCollection.Where(a => a.TableName == validation.ReferenceTable).FirstOrDefault(); logData.AddRange(sourceTable.ReferenceDataTypeCheck(validation.Field, validation.DataType, validation.DataTypeField, dataTypeReferenceTable, validation.ReferenceDataTypeField, validation.ReferenceCompareField)); break; case ValidationTypeEnum.ZeroCheck: logData.AddRange(sourceTable.ZeroValueCheck(validation.Field)); break; case ValidationTypeEnum.PossibleValueCheck: logData.AddRange(sourceTable.ValueCheck(validation.Field, validation.Values)); break; case ValidationTypeEnum.ConditionalCheck: logData.AddRange(sourceTable.ConditionalCheck(validation.Field, validation.Values, validation.ConditionBasedKeyValues)); break; case ValidationTypeEnum.ReferenceValueCheck: var referenceTable = tableCollection.Where(a => a.TableName == validation.ReferenceTable).FirstOrDefault(); logData.AddRange(sourceTable.ReferenceCheck(validation.Field, referenceTable, validation.ReferenceField)); break; case ValidationTypeEnum.GroupCheck: logData.AddRange(sourceTable.GroupCheck(validation.Field, validation.IgnoreFields)); break; case ValidationTypeEnum.DateTypeCheck: logData.AddRange(sourceTable.DataTypeCheck(validation.Field)); break; default: break; } } return logData; }