public IEnumerable <ValidationError> Visit(DateTimeFieldProperties properties) { if (!properties.Editor.IsEnumValue()) { yield return(new ValidationError(Not.Valid(nameof(properties.Editor)), nameof(properties.Editor))); } if (IsMaxGreaterThanMin(properties.MaxValue, properties.MinValue)) { yield return(new ValidationError(Not.GreaterThan(nameof(properties.MaxValue), nameof(properties.MinValue)), nameof(properties.MinValue), nameof(properties.MaxValue))); } if (properties.CalculatedDefaultValue.HasValue) { if (!properties.CalculatedDefaultValue.Value.IsEnumValue()) { yield return(new ValidationError(Not.Valid(nameof(properties.CalculatedDefaultValue)), nameof(properties.CalculatedDefaultValue))); } if (properties.DefaultValue.HasValue) { yield return(new ValidationError(T.Get("schemas.dateTimeCalculatedDefaultAndDefaultError"), nameof(properties.CalculatedDefaultValue), nameof(properties.DefaultValue))); } } }
public IEnumerable <IValidator> Visit(DateTimeFieldProperties properties) { if (properties.IsRequired) { yield return(new RequiredValidator()); } if (properties.MinValue.HasValue || properties.MaxValue.HasValue) { yield return(new RangeValidator <Instant>(properties.MinValue, properties.MaxValue)); } }
public void Should_not_add_error_if_sut_is_valid() { var sut = new DateTimeFieldProperties { MinValue = FutureDays(10), MaxValue = FutureDays(20), DefaultValue = FutureDays(15) }; var errors = FieldPropertiesValidator.Validate(sut).ToList(); Assert.Empty(errors); }
public void Should_add_error_if_default_value_is_greater_than_min() { var sut = new DateTimeFieldProperties { MaxValue = FutureDays(10), DefaultValue = FutureDays(15) }; var errors = FieldPropertiesValidator.Validate(sut).ToList(); errors.Should().BeEquivalentTo( new List <ValidationError> { new ValidationError("Default value must be less than max value.", "DefaultValue") }); }
public void Should_add_error_if_editor_is_not_valid() { var sut = new DateTimeFieldProperties { Editor = (DateTimeFieldEditor)123 }; var errors = FieldPropertiesValidator.Validate(sut).ToList(); errors.Should().BeEquivalentTo( new List <ValidationError> { new ValidationError("Editor is not a valid value.", "Editor") }); }
public void Should_add_error_if_calculated_default_value_is_not_valid() { var sut = new DateTimeFieldProperties { CalculatedDefaultValue = (DateTimeCalculatedDefaultValue)123 }; var errors = FieldPropertiesValidator.Validate(sut).ToList(); errors.Should().BeEquivalentTo( new List <ValidationError> { new ValidationError("Calculated default value is not valid.", "CalculatedDefaultValue") }); }
public JToken Visit(DateTimeFieldProperties properties) { if (properties.CalculatedDefaultValue == DateTimeCalculatedDefaultValue.Now) { return(now.ToString()); } if (properties.CalculatedDefaultValue == DateTimeCalculatedDefaultValue.Today) { return(now.ToString().Substring(10)); } return(properties.DefaultValue?.ToString()); }
public JToken Visit(DateTimeFieldProperties properties) { if (properties.CalculatedDefaultValue == DateTimeCalculatedDefaultValue.Now) { return(now.ToString()); } if (properties.CalculatedDefaultValue == DateTimeCalculatedDefaultValue.Today) { return(now.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture)); } return(properties.DefaultValue?.ToString()); }
public void Should_add_error_if_min_greater_than_max() { var sut = new DateTimeFieldProperties { MinValue = FutureDays(10), MaxValue = FutureDays(5) }; var errors = FieldPropertiesValidator.Validate(sut).ToList(); errors.Should().BeEquivalentTo( new List <ValidationError> { new ValidationError("Max value must be greater than min value.", "MinValue", "MaxValue") }); }
public void Should_add_error_if_calculated_default_value_default_value_is_defined() { var sut = new DateTimeFieldProperties { CalculatedDefaultValue = DateTimeCalculatedDefaultValue.Now, DefaultValue = FutureDays(10) }; var errors = FieldPropertiesValidator.Validate(sut).ToList(); errors.Should().BeEquivalentTo( new List <ValidationError> { new ValidationError("Calculated default value and default value cannot be used together.", "CalculatedDefaultValue", "DefaultValue") }); }
public IJsonValue Visit(DateTimeFieldProperties properties, Args args) { if (properties.CalculatedDefaultValue == DateTimeCalculatedDefaultValue.Now) { return(JsonValue.Create(args.Now)); } if (properties.CalculatedDefaultValue == DateTimeCalculatedDefaultValue.Today) { return(JsonValue.Create($"{args.Now.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture)}T00:00:00Z")); } var value = GetDefaultValue(properties.DefaultValue, properties.DefaultValues, args.Partition); return(JsonValue.Create(value)); }
public IEnumerable <ValidationError> Visit(DateTimeFieldProperties properties) { if (!properties.Editor.IsEnumValue()) { yield return(new ValidationError(Not.Valid("Editor"), nameof(properties.Editor))); } if (properties.DefaultValue.HasValue && properties.MinValue.HasValue && properties.DefaultValue.Value < properties.MinValue.Value) { yield return(new ValidationError(Not.GreaterEquals("Default value", "min value"), nameof(properties.DefaultValue))); } if (properties.DefaultValue.HasValue && properties.MaxValue.HasValue && properties.DefaultValue.Value > properties.MaxValue.Value) { yield return(new ValidationError(Not.LessEquals("Default value", "max value"), nameof(properties.DefaultValue))); } if (properties.MaxValue.HasValue && properties.MinValue.HasValue && properties.MinValue.Value >= properties.MaxValue.Value) { yield return(new ValidationError(Not.GreaterThan("Max value", "min value"), nameof(properties.MinValue), nameof(properties.MaxValue))); } if (properties.CalculatedDefaultValue.HasValue) { if (!properties.CalculatedDefaultValue.Value.IsEnumValue()) { yield return(new ValidationError(Not.Valid("Calculated default value"), nameof(properties.CalculatedDefaultValue))); } if (properties.DefaultValue.HasValue) { yield return(new ValidationError("Calculated default value and default value cannot be used together.", nameof(properties.CalculatedDefaultValue), nameof(properties.DefaultValue))); } } }
public IEnumerable <ValidationError> Visit(DateTimeFieldProperties properties) { if (!properties.Editor.IsEnumValue()) { yield return(new ValidationError("Editor is not a valid value.", nameof(properties.Editor))); } if (properties.DefaultValue.HasValue && properties.MinValue.HasValue && properties.DefaultValue.Value < properties.MinValue.Value) { yield return(new ValidationError("Default value must be greater than min value.", nameof(properties.DefaultValue))); } if (properties.DefaultValue.HasValue && properties.MaxValue.HasValue && properties.DefaultValue.Value > properties.MaxValue.Value) { yield return(new ValidationError("Default value must be less than max value.", nameof(properties.DefaultValue))); } if (properties.MaxValue.HasValue && properties.MinValue.HasValue && properties.MinValue.Value >= properties.MaxValue.Value) { yield return(new ValidationError("Max value must be greater than min value.", nameof(properties.MinValue), nameof(properties.MaxValue))); } if (properties.CalculatedDefaultValue.HasValue) { if (!properties.CalculatedDefaultValue.Value.IsEnumValue()) { yield return(new ValidationError("Calculated default value is not valid.", nameof(properties.CalculatedDefaultValue))); } if (properties.DefaultValue.HasValue) { yield return(new ValidationError("Calculated default value and default value cannot be used together.", nameof(properties.CalculatedDefaultValue), nameof(properties.DefaultValue))); } } }
public static Field <DateTimeFieldProperties> DateTime(long id, string name, Partitioning partitioning, DateTimeFieldProperties properties = null) { return(new Field <DateTimeFieldProperties>(id, name, partitioning, properties ?? new DateTimeFieldProperties())); }
public FieldPropertiesDto Visit(DateTimeFieldProperties properties) { return(SimpleMapper.Map(properties, new DateTimeFieldPropertiesDto())); }
private static Field <DateTimeFieldProperties> Field(DateTimeFieldProperties properties) { return(Fields.DateTime(1, "my-datetime", Partitioning.Invariant, properties)); }
private static FieldPropertiesDto Convert(DateTimeFieldProperties source) { var result = SimpleMapper.Map(source, new DateTimeFieldPropertiesDto()); return(result); }
private static DateTimeField Field(DateTimeFieldProperties properties) { return(new DateTimeField(1, "my-datetime", Partitioning.Invariant, properties)); }
public static Schema AddDateTime(this Schema schema, long id, string name, Partitioning partitioning, DateTimeFieldProperties properties = null) { return(schema.AddField(DateTime(id, name, partitioning, properties))); }