private SchemaValidationErrorType CheckMinMax(SchemaFieldItem field, IConvertible value) { SchemaValidationErrorType result = SchemaValidationErrorType.None; if (field.FieldType == (int)SFIType.Number) { decimal dvalue = value.ToDecimal(CultureInfo.InvariantCulture); if (field.MinValue.HasValue && dvalue < field.MinValue.Value) { result = SchemaValidationErrorType.LessThenMinNumber; } if (field.MaxValue.HasValue && dvalue > field.MaxValue.Value) { result = SchemaValidationErrorType.GreaterThenMaxNumber; } } else if (field.FieldType == (int)SFIType.Date) { DateTime dtvalue = value.ToDateTime(CultureInfo.InvariantCulture); if (field.MinDateValue.HasValue && dtvalue < field.MinDateValue.Value) { result = SchemaValidationErrorType.LessThenMinDate; } if (field.MaxDateValue.HasValue && dtvalue > field.MaxDateValue.Value) { result = SchemaValidationErrorType.GreaterThenMaxDate; } } return(result); }
public void SchemaFieldItem_can_deserialize_empty() { var bytes = Encoding.Default.GetBytes(EMPTY_FIELD_ITEM_XML); using (var stream = new MemoryStream(bytes)) { SchemaFieldItem item = SchemaFieldItem.FromXml(stream); Assert.IsNotNull(item); } }
public void SchemaFieldItem_can_serialize_empty() { using (var stream = new MemoryStream()) { SchemaFieldItem item = new SchemaFieldItem(); item.ToXml(stream); var bytes = stream.ToArray(); var str = Encoding.Default.GetString(bytes); Assert.AreEqual(EMPTY_FIELD_ITEM_XML, str); } }
private SchemaValidationErrorType CheckValue(SchemaFieldItem field, object value) { SchemaValidationErrorType result = SchemaValidationErrorType.None; if (value == null || value == DBNull.Value) { if (field.IsNotNull) { result = SchemaValidationErrorType.NullValueNotNullField; } } else { result = SchemaValidationErrorType.InvalidFieldType; SFIType?fieldType = TryGetFieldType(value.GetType()); if (fieldType.HasValue && (int)fieldType.Value == field.FieldType) { result = CheckMinMax(field, (IConvertible)value); } } return(result); }