Example #1
0
        void Test2()
        {
            Users     user  = new Users();
            UserRoles roles = new UserRoles()
            {
                RoleName = "role1"
            };

            OQL q2 = new OQL(user);

            q2.InnerJoin(roles).On(user.RoleID, roles.ID);

            OQLCompare cmp       = new OQLCompare(q2);
            OQLCompare cmpResult =
                (
                    cmp.Property(user.UserName) == "ABC" &
                    cmp.Comparer(user.Password, "=", "111") &
                    cmp.EqualValue(roles.RoleName)
                )
                |
                (
                    (cmp.Comparer(user.UserName, "=", "CDE") &
                     cmp.Property(user.Password) == "222" &
                     cmp.Comparer(roles.RoleName, "like", "%Role2")
                    )
                    |
                    (cmp.Property(user.LastLoginTime) > DateTime.Now.AddDays(-1))
                )
            ;

            q2.Select().Where(cmpResult);
            Console.WriteLine("OQL by OQLCompare Test:\r\n{0}", q2);
            Console.WriteLine(q2.PrintParameterInfo());
        }
Example #2
0
        OQLCompare CreateCondition(OQLCompare cmp, Users user)
        {
            OQLCompare cmpResult = null;

            if (user.NickName != "")
            {
                //cmpResult = cmp.Property(user.AddTime) > new DateTime(2013, 2, 1);
                // cmpResult = cmp.EqualValue(user.NickName);//下面一行建议用当前行的写法
                cmpResult = cmp.Comparer(user.NickName, "=", user.NickName);
            }
            if (user.ID > 0)
            {
                cmpResult = cmpResult & cmp.Property(user.UserName) == "ABC"
                            & cmp.Comparer(user.Password, "=", "111");
            }
            return(cmpResult);
        }