コード例 #1
0
        public virtual async Task <IEnumerable <T> > FindAsync(WrapperExpression predicate)
        {
            List <T> items = new List <T>();

            try
            {
                InitConnection();

                string selectQuery = $"SELECT {SelectClause} FROM {FromClause} WHERE {predicate.ToWhereClause()}";

                selectQuery += !string.IsNullOrEmpty(OrderByClause) ? $" ORDER BY {OrderByClause}" : String.Empty;

                var result = await Connection.QueryAsync <T>(selectQuery, commandType : CommandType.Text);

                return(result.ToList());
            }
            catch (Exception e)
            {
                HasError     = true;
                ErrorMessage = e.Message;
            }
            finally
            {
                FinalizeConnection();
            }

            return(items);
        }
コード例 #2
0
        public async Task GetWhereShop()
        {
            var where = new WrapperExpression("Name", Operators.Contains, "Bimbo");

            var shops = (List <Shop>) await _shopsRepository.FindAsync(where);

            Assert.IsTrue(shops[0].Name.Contains("Bimbo"));
        }
コード例 #3
0
        public void NotContains_UnSoloAtributo()
        {
            string esperado = "((IdTema NOT LIKE '%34' OR IdTema NOT LIKE '%34%' OR IdTema NOT LIKE '34%'))";

            var wrapper = new WrapperExpression("IdTema", Operators.ContainsNot, "34");

            string where = wrapper.ToWhereClause();

            Assert.AreEqual(esperado, where);
        }
コード例 #4
0
        public void Igual_UnSoloAtributo()
        {
            string esperado = "(IdTema = 1)";

            var wrapper = new WrapperExpression("IdTema", Operators.Equals, 1);

            string where = wrapper.ToWhereClause();

            Assert.AreEqual(esperado, where);
        }
コード例 #5
0
        public async Task TraerLogPorRfc()
        {
            var where = new WrapperExpression("h.RFC",
                                              Operators.Equals,
                                              "AAQM610917QJA");


            var logs = await _logRepository.FindAsync(where);

            Assert.IsTrue(logs.Any());
        }
コード例 #6
0
        public void NotIn_UnSoloAtributo()
        {
            string esperado = "(IdTema NOT IN (1,2,4,5))";

            var wrapper = new WrapperExpression("IdTema", Operators.NotIn, new List <int> {
                1, 2, 4, 5
            });

            string where = wrapper.ToWhereClause();

            Assert.AreEqual(esperado, where);
        }
コード例 #7
0
        public void In_Texto_UnSoloAtributo()
        {
            string esperado = "(IdTema IN ('Rojo','Verde','Blanco','Azul'))";

            var wrapper = new WrapperExpression("IdTema", Operators.In, new List <string> {
                "Rojo", "Verde", "Blanco", "Azul"
            });

            string where = wrapper.ToWhereClause();

            Assert.AreEqual(esperado, where);
        }
コード例 #8
0
ファイル: NodeHelpers.cs プロジェクト: Yikez978/PT.PM
        public static Expression ToExpressionIfRequired(this UstNode node)
        {
            if (node == null)
            {
                return(null);
            }

            Expression result = node as Expression;

            if (result == null)
            {
                result = new WrapperExpression(node);
            }
            return(result);
        }
コード例 #9
0
        public static Expression ToExpressionIfRequired(this Ust ust)
        {
            if (ust == null)
            {
                return(null);
            }

            Expression result = ust as Expression;

            if (result == null)
            {
                result = new WrapperExpression(ust);
            }
            return(result);
        }
コード例 #10
0
ファイル: UstVisitor.cs プロジェクト: smartfish/PT.PM
 public virtual T Visit(WrapperExpression wrapperExpression)
 {
     return(VisitChildren(wrapperExpression));
 }
コード例 #11
0
ファイル: UstListener.cs プロジェクト: Yikez978/PT.PM
 public virtual void Enter(WrapperExpression wrapperExpression)
 {
 }
コード例 #12
0
ファイル: UstListener.cs プロジェクト: Yikez978/PT.PM
 public virtual void Exit(WrapperExpression wrapperExpression)
 {
 }