public override ParameterBuilder Restore(ParameterBuilderDTO dto) { var sb = dto as LikeBuilderDTO; if (sb == null) { return(base.Restore(dto)); } // ensure we can restore the MatchMode from the name of the static fields on MatchMode var modes = typeof(MatchMode).GetFields(BindingFlags.Public | BindingFlags.Static); var validNames = new StringBuilder(); FieldInfo mode = null; foreach (var f in modes) { validNames.AppendFormat("{0}, ", f.Name); if (mode == null && f.FieldType == typeof(MatchMode) && f.Name.Equals(sb.Mode)) { mode = f; } } if (mode == null) { throw new ArgumentException(String.Format("MatchMode {0} does not match an internal static field of the same name. Valid values are {1}.", sb.Mode, validNames.Remove(validNames.Length - 2, 2))); } return(new LikeBuilder() { Label = sb.Label, Mode = (MatchMode)mode.GetValue(null) }); }
public override ParameterBuilder Restore(ParameterBuilderDTO dto) { var sb = dto as NotBuilderDTO; if (sb == null) return base.Restore(dto); return new NotBuilder() { Label = sb.Label, Other = Chain.Restore(sb.Other) }; }
public override IParameterBuilder Restore(ParameterBuilderDTO dto) { var sb = dto as U; if (sb == null) { return(base.Restore(dto)); } return(new T() { Label = sb.Label }); }
public override ParameterBuilder Restore(ParameterBuilderDTO dto) { var sb = dto as SimpleBuilderDTO; if (sb == null) { return(base.Restore(dto)); } return(new SimpleBuilder() { Label = sb.Label, Operator = sb.Operator }); }
public override IParameterBuilder Restore(ParameterBuilderDTO dto) { var sb = dto as JunctionBuilderDTO; if (sb == null) { return(base.Restore(dto)); } return(new JunctionBuilder("Conjunction".Equals(sb.Type) ? JunctionType.Conjunction : JunctionType.Disjunction) { Label = sb.Label, Other = base.Chain.Restore(sb.Other) }); }
public override IParameterBuilder Restore(ParameterBuilderDTO dto) { var sb = dto as BooleanBuilderDTO; if (sb == null) { return(base.Restore(dto)); } return(new BooleanBuilder() { Label = sb.Label, Value = sb.Value }); }
public override IParameterBuilder Restore(ParameterBuilderDTO dto) { var sb = dto as NotBuilderDTO; if (sb == null) { return(base.Restore(dto)); } return(new NotBuilder() { Label = sb.Label, Other = Chain.Restore(sb.Other) }); }
public override IParameterBuilder Restore(ParameterBuilderDTO dto) { return(Source); }
static BuilderAssemblerStub() { Source = new ParameterBuilderStub(); DTO = new ParameterBuilderDTOStub(); }
public override ParameterBuilder Restore(ParameterBuilderDTO dto) { return Source; }