/**************************************************************************************************************/

        public static WhereX Where(this OnX on, Expression <Func <bool> > func)
        {
            var field = on.DC.EH.ExpressionHandle(func, ActionEnum.Where);

            field.Crud = CrudTypeEnum.Join;
            on.DC.AddConditions(field);
            return(new WhereX(on.DC));
        }
示例#2
0
        public static JoinX LeftJoin <M>(this OnX on, Expression <Func <M> > modelFunc)
        {
            on.DC.Action = ActionEnum.LeftJoin;
            var dic = on.DC.EH.FuncTExpression(modelFunc);

            on.DC.DPH.AddParameter(dic);
            return(new JoinX(on.DC));
        }
示例#3
0
        /***************************************************************************************************************************/

        public static JoinX InnerJoin <M>(this OnX on, Expression <Func <M> > modelFunc)
        {
            on.DC.Action = ActionEnum.InnerJoin;
            var dic = on.DC.XE.FuncTExpression(modelFunc);

            on.DC.DPH.AddParameter(dic);
            on.DC.SetTbMs <M>(dic.TbAlias);
            return(new JoinX(on.DC));
        }
示例#4
0
        public static JoinX LeftJoin <M>(this OnX on, Expression <Func <M> > func)
        {
            var dic = on.DC.EH.ExpressionHandle(func)[0];

            dic.Action = ActionEnum.LeftJoin;
            dic.Crud   = CrudTypeEnum.Join;
            on.DC.AddConditions(dic);
            return(new JoinX(on.DC));
        }
示例#5
0
 void Setup(GpioPin portX, GpioPin portY, GpioPin portA, GpioPin portB,
            GpioPin portSelect, GpioPin portJoyHorizontal, GpioPin portJoyVertical)
 {
     ButtonA.PressEnded      += (s, e) => OnA?.Invoke(s, e);
     ButtonB.PressEnded      += (s, e) => OnB?.Invoke(s, e);
     ButtonX.PressEnded      += (s, e) => OnX?.Invoke(s, e);
     ButtonY.PressEnded      += (s, e) => OnY?.Invoke(s, e);
     ButtonSelect.PressEnded += (s, e) => OnSelect?.Invoke(s, e);
 }
示例#6
0
        public JoyWing(IDigitalInputPort portX, IDigitalInputPort portY, IDigitalInputPort portA, IDigitalInputPort portB,
                       IDigitalInputPort portSelect, IDigitalInputPort portJoyHorizontal, IDigitalInputPort portJoyVertical)
        {
            /*  ButtonA = new PushButton(portA);
             * ButtonB = new PushButton(portB);
             * ButtonX = new PushButton(portX);
             * ButtonY = new PushButton(portY);
             * ButtonSelect = new PushButton(portSelect);*/

            ButtonA.PressEnded      += (s, e) => OnA?.Invoke(s, e);
            ButtonB.PressEnded      += (s, e) => OnB?.Invoke(s, e);
            ButtonX.PressEnded      += (s, e) => OnX?.Invoke(s, e);
            ButtonY.PressEnded      += (s, e) => OnY?.Invoke(s, e);
            ButtonSelect.PressEnded += (s, e) => OnSelect?.Invoke(s, e);
        }
示例#7
0
    public bool CanPickUp(OnX x)
    {
        var sum = 0;

        for (var i = 0; i < CodeBlocks.Count; i++)
        {
            if (CodeBlocks[i].GetOnX() == x)
            {
                sum++;
                if (sum >= 3)
                {
                    return(false);
                }
            }
        }

        return(true);
    }
示例#8
0
        /**************************************************************************************************************/

        public static WhereX Where(this OnX on, Expression <Func <bool> > func)
        {
            on.DC.OP.WhereJoinHandle(on, func, ActionEnum.Where);
            return(new WhereX(on.DC));
        }
示例#9
0
        /**************************************************************************************************************/

        /// <summary>
        /// 请参阅: <see langword=".Where() &amp; .And() &amp; .Or() 使用 https://www.cnblogs.com/Meng-NET/"/>
        /// </summary>
        public static WhereX Where(this OnX on, Expression <Func <bool> > compareFunc)
        {
            on.DC.Action = ActionEnum.Where;
            on.MT_WhereAndOr(on, compareFunc);
            return(new WhereX(on.DC));
        }
示例#10
0
        /**************************************************************************************************************/

        public static OrderByX OrderBy <F>(this OnX onX, Expression <Func <F> > propertyFunc, OrderByEnum orderBy = OrderByEnum.Desc)
        {
            onX.DC.Action = ActionEnum.OrderBy;
            onX.OrderByF(propertyFunc, orderBy);
            return(new OrderByX(onX.DC));
        }
示例#11
0
 public static OrderByX OrderBy <F>(this OnX target, Expression <Func <F> > propertyFunc, OrderByEnum orderBy = OrderByEnum.Desc)
 {
     return(OrderByX(target, propertyFunc, orderBy));
 }