Example #1
0
        public void Test_ListQuery_DefaultHandler()
        {
            var             expectedSql = "SELECT [t0].[FirstName],[t0].[LastName] FROM [dbo].[Person] AS [t0] WHERE ([t0].[FirstName]=@p0);";
            IDbQueryBuilder query       = new Csg.Data.DbQueryBuilder("dbo.Person", new Mock.MockConnection());
            var             queryDef    = new ListQueryDefinition();

            queryDef.Fields  = new string[] { "FirstName", "LastName" };
            queryDef.Filters = new List <ListFilter>(new ListFilter[] {
                new ListFilter()
                {
                    Name = "FirstName", Operator = ListFilterOperator.Equal, Value = "Bob"
                }
            });

            var conn = new Mock.MockConnection();

            var stmt = conn
                       .QueryBuilder("dbo.Person")
                       .ListQuery(queryDef)
                       .ValidateWith <Mock.Person>()
                       .Apply()
                       .Render();

            Assert.AreEqual(expectedSql, stmt.CommandText);
            Assert.AreEqual(1, stmt.Parameters.Count);
        }
Example #2
0
        public void Test_ListFilterOperator_Like()
        {
            var expectedSql = "SELECT * FROM [dbo].[Person] AS [t0] WHERE ([t0].[FirstName] LIKE @p0);";
            var queryDef    = new ListQueryDefinition()
            {
                Filters = new List <ListFilter>()
                {
                    new ListFilter()
                    {
                        Name = "FirstName", Operator = ListFilterOperator.Like, Value = "Bob"
                    }
                }
            };

            var stmt = new Mock.MockConnection().QueryBuilder("dbo.Person")
                       .ListQuery(queryDef)
                       .ValidateWith <Mock.Person>()
                       .Apply()
                       .Render();

            Assert.AreEqual(expectedSql, stmt.CommandText);
            Assert.AreEqual(1, stmt.Parameters.Count);
            // default is a beginswith search
            Assert.AreEqual("Bob%", stmt.Parameters.First().Value.ToString());
        }
Example #3
0
        public void Test_ListFilterOperator_IsNullFalse()
        {
            var expectedSql = "SELECT * FROM [dbo].[Person] AS [t0] WHERE ([t0].[FirstName] IS NOT NULL);";
            var queryDef    = new ListQueryDefinition()
            {
                Filters = new List <ListFilter>()
                {
                    new ListFilter()
                    {
                        Name = "FirstName", Operator = ListFilterOperator.IsNull, Value = false
                    }
                }
            };

            var stmt = new Mock.MockConnection().QueryBuilder("dbo.Person")
                       .ListQuery(queryDef)
                       .ValidateWith <Mock.Person>()
                       .Apply()
                       .Render();

            Assert.AreEqual(expectedSql, stmt.CommandText);
        }
Example #4
0
        public void Test_ListFilterOperator_Between()
        {
            var expectedSql = "SELECT * FROM [dbo].[Person] AS [t0] WHERE (([t0].[FirstName]>=@p0) AND ([t0].[FirstName]<=@p1));";
            var queryDef    = new ListQueryDefinition()
            {
                Filters = new List <ListFilter>()
                {
                    new ListFilter()
                    {
                        Name = "FirstName", Operator = ListFilterOperator.Between, Value = new string[] { "Bob", "Dole" }
                    }
                }
            };

            var stmt = new Mock.MockConnection().QueryBuilder("dbo.Person")
                       .ListQuery(queryDef)
                       .ValidateWith <Mock.Person>()
                       .Apply()
                       .Render();

            Assert.AreEqual(expectedSql, stmt.CommandText);
            Assert.AreEqual(2, stmt.Parameters.Count);
        }
Example #5
0
        public void Test_ListFilterOperator_NotEquals()
        {
            var expectedSql = "SELECT * FROM [dbo].[Person] AS [t0] WHERE ([t0].[FirstName]<>@p0);";
            var queryDef    = new ListQueryDefinition()
            {
                Filters = new List <ListFilter>()
                {
                    new ListFilter()
                    {
                        Name = "FirstName", Operator = ListFilterOperator.NotEqual, Value = "Bob"
                    }
                }
            };

            var stmt = new Mock.MockConnection().QueryBuilder("dbo.Person")
                       .ListQuery(queryDef)
                       .ValidateWith <Mock.Person>()
                       .Apply()
                       .Render();

            Assert.AreEqual(expectedSql, stmt.CommandText);
            Assert.AreEqual(1, stmt.Parameters.Count);
        }