public LoginInfo(string lastIP, Emptyable<DateTime> lastTime, int total) { this.LastIP = lastIP; this.LastTime = lastTime; this.Total = total; this.OnConstructed(); }
public BrandAccessory(string name, short accessoryNum, Emptyable <DateTime> setupDate) { this.Name = name; this.AccessoryNum = accessoryNum; this.SetupDate = setupDate; this.OnConstructed(); }
public AnimalAccessory(string name, short accessoryNum, Emptyable <DateTime> setupDate, AnimalDoor door, AnimalEye eye) { this.Name = name; this.AccessoryNum = accessoryNum; this.SetupDate = setupDate; this.Door = door; this.Eye = eye; this.OnConstructed(); }
public BlockResultVoid Complete(object overrideResult) { return(new BlockResultVoid { Target = new BlockResultTarget { FlowTarget = BlockFlowTarget.Complete, OverrideResult = Emptyable.Create(overrideResult) } }); }
public BlockResultVoid Retry(object overrideInput) { return(new BlockResultVoid { Target = new BlockResultTarget { FlowTarget = BlockFlowTarget.Retry, OverrideInput = Emptyable.Create(overrideInput) } }); }
public BlockResultVoid Goto(int index, object overrideInput) { return(new BlockResultVoid { Target = new BlockResultTarget { FlowTarget = BlockFlowTarget.Goto, TargetIndex = index, OverrideInput = Emptyable.Create(overrideInput) } }); }
public BlockResultVoid Goto(string tag, object overrideInput) { return(new BlockResultVoid { Target = new BlockResultTarget { FlowTarget = BlockFlowTarget.Goto, TargetTag = tag, OverrideInput = Emptyable.Create(overrideInput) } }); }
public BlockResultVoid Skip(int i, object overrideInput) { return(new BlockResultVoid { Target = new BlockResultTarget { FlowTarget = BlockFlowTarget.Skip, TargetIndex = i, OverrideInput = Emptyable.Create(overrideInput) } }); }
public void EmptyTest() { Emptyable.Register(typeof(IEmptyA <>), typeof(EmptyB <>)); //? 接口注册。 Emptyable.Register(typeof(EmptyA <>), typeof(EmptyC <>)); //? 抽象类注册。 var i = Emptyable.Empty <int>(); var e = Emptyable.Empty <DateTimeKind>(); var d = Emptyable.Empty <DateTime>(); var s = Emptyable.Empty <string>(); var c = Emptyable.Empty <CopyTest>(); //? 默认构造函数。 var nc = Emptyable.Empty <NonPublicConstructor>(); //? 私有构造函数。 var na = Emptyable.Empty <HasArgumentsConstructor>(); //? 有参数构造函数。 var ng = Emptyable.Empty <IEmptyA <int> >(); var ng2 = Emptyable.Empty <EmptyA <string> >(); }
public void RemoveDeliveryDate(Emptyable <DateTime> deliveryDate) { _DeliveryDates.Remove(deliveryDate); }
public void AddDeliveryDate(Emptyable <DateTime> deliveryDate) { _DeliveryDates.Add(deliveryDate); }
private static void SetLiveTime(Animal animal, Emptyable <DateTime> liveTime) { liveTime = liveTime.Value.AddDays(10); animal.LiveTime = liveTime; }
public LoginInfoEmpty() : base(string.Empty, Emptyable<DateTime>.CreateEmpty(), 0) { this.OnConstructed(); }
/// <inheritdoc /> protected override void StartupCore(MethodCallExpression node) { switch (node.Method.Name) { case MethodCall.Count when node.Arguments.Count == 2: case MethodCall.LongCount when node.Arguments.Count == 2: writer.Write("COUNT"); writer.OpenBrace(); writer.Write("CASE WHEN "); VisitCondition(node); writer.Write(" THEN 1 ELSE 0 END"); writer.CloseBrace(); break; case MethodCall.Count when node.Arguments[0].NodeType == ExpressionType.Parameter: case MethodCall.LongCount when node.Arguments[0].NodeType == ExpressionType.Parameter: writer.Write("COUNT(1)"); break; case MethodCall.Count: case MethodCall.LongCount: writer.Write("COUNT"); writer.OpenBrace(); writer.Write("CASE WHEN "); Visit(node.Arguments[0]); writer.Write(" THEN 1 ELSE 0 END"); writer.CloseBrace(); break; case MethodCall.Sum when node.Arguments.Count == 2 && node.Arguments[0].NodeType == ExpressionType.Parameter: case MethodCall.Max when node.Arguments.Count == 2 && node.Arguments[0].NodeType == ExpressionType.Parameter: case MethodCall.Min when node.Arguments.Count == 2 && node.Arguments[0].NodeType == ExpressionType.Parameter: case MethodCall.Average when node.Arguments.Count == 2 && node.Arguments[0].NodeType == ExpressionType.Parameter: writer.Write(node.Method.Name == MethodCall.Average ? "AVG" : node.Method.Name.ToUpper()); writer.OpenBrace(); Visit(node.Arguments[1]); writer.CloseBrace(); break; case MethodCall.Sum when node.Arguments.Count == 2: case MethodCall.Max when node.Arguments.Count == 2: case MethodCall.Min when node.Arguments.Count == 2: case MethodCall.Average when node.Arguments.Count == 2: writer.Write(node.Method.Name == MethodCall.Average ? "AVG" : node.Method.Name.ToUpper()); writer.OpenBrace(); writer.Write("CASE WHEN "); Visit(node.Arguments[0]); writer.Write(" THEN "); Visit(node.Arguments[1]); writer.Write(" ELSE "); var returnType = node.Method.ReturnType; if (!returnType.IsValueType || returnType.IsNullable()) { writer.Null(); } else if (returnType == Types.DateTime) { writer.Parameter("date_utc_base", UtcBase); } else if (returnType == Types.DateTimeOffset) { writer.Parameter("date_offset_utc_base", new DateTimeOffset(UtcBase)); } else { writer.Parameter($"{returnType.Name.ToUrlCase()}_default", Emptyable.Empty(node.Method.ReturnType)); } writer.Write(" END"); writer.CloseBrace(); break; case MethodCall.Any when node.Arguments.Count == 1 && node.Arguments[0].NodeType == ExpressionType.Parameter: writer.BooleanTrue(); break; case MethodCall.Any when node.Arguments.Count == 1: writer.Write("CASE "); writer.Write("MAX"); writer.OpenBrace(); writer.Write("CASE WHEN "); Visit(node.Arguments[0]); writer.Write(" THEN 1 ELSE 0 END"); writer.CloseBrace(); writer.Write(" WHEN 1 THEN "); writer.BooleanTrue(); writer.Write(" ELSE "); writer.BooleanFalse(); writer.Write(" END"); break; case MethodCall.Any when node.Arguments.Count == 2: case MethodCall.All when node.Arguments.Count == 2: writer.Write("CASE "); writer.Write(node.Method.Name == MethodCall.Any ? "MAX" : "MIN"); writer.OpenBrace(); writer.Write("CASE WHEN "); VisitCondition(node); writer.Write(" THEN 1 ELSE 0 END"); writer.CloseBrace(); writer.Write(" WHEN 1 THEN "); writer.BooleanTrue(); writer.Write(" ELSE "); writer.BooleanFalse(); writer.Write(" END"); break; case MethodCall.Sum: case MethodCall.Max: case MethodCall.Min: case MethodCall.Average: throw new DSyntaxErrorException($"分组中函数“{node.Method.Name}”需指定计算属性!"); default: throw new DSyntaxErrorException($"分组中函数“{node.Method.Name}”不被支持!"); } }
internal EventHandlerBlockBase(string tag, TInput stackInput, TState state, Emptyable <Tin> input, IStackEvents <TOperationEvent> stackEvents) : base(tag, stackInput, state, stackEvents) { Input = input; }