Ejemplo n.º 1
0
        public override IAliasedExpression Visit(CaseExpression item)
        {
            if (item.CaseTests == null || item.CaseTests.Length == 0)
            {
                if (((Constant)item.DefaultResult).Value == null)
                    return null;
                item.CaseTests = mapping.Mapper.TestCases((string)((Constant)item.DefaultResult).Value, item.Alias);
            }

            item = (CaseExpression)new ValueExpressionMutator(driver).Visit(item);
            return base.Visit(item);
        }
Ejemplo n.º 2
0
 public virtual IAliasedExpression Update(CaseExpression item, Evaluant.NLinq.Expressions.Expression test, IDbExpression result, CaseTestExpression[] tests, TableAlias alias)
 {
     if (item.Test != test || item.DefaultResult != result || item.CaseTests != tests || item.Alias != alias)
         return new CaseExpression(alias, (IDbExpression)test, (IDbExpression)result, tests);
     return item;
 }