Ejemplo n.º 1
0
        private static short WichHasValue(VO.Between <T> obj)
        {
            var HasMin = !EqualityComparer <T> .Default.Equals(obj.Min, default(T));

            var HasMax = !EqualityComparer <T> .Default.Equals(obj.Max, default(T));

            if (HasMin && HasMax)
            {
                if (EqualityComparer <T> .Default.Equals(obj.Min, obj.Max))
                {
                    return(3);
                }

                return(2);
            }

            if (HasMin && !HasMax)
            {
                return(1);
            }

            if (!HasMin && HasMax)
            {
                return(0);
            }

            return(-1);
        }
Ejemplo n.º 2
0
        public static void Append(IParametrosBuilder pParametros, VO.Between <T> obj, string pAlias, string pField)
        {
            switch (WichHasValue(obj))
            {
            case 3:
                pParametros.AppendEqual(obj.Min, pAlias, pField);
                break;

            case 2:
                pParametros.AppendBetween(obj.Min, obj.Max, pAlias, pField);
                break;

            case 1:
                if (obj.UseEquals)
                {
                    pParametros.AppendBiggerOrEqualThen(obj.Min, pAlias, pField);
                }
                else
                {
                    pParametros.AppendBiggerThen(obj.Min, pAlias, pField);
                }
                break;

            case 0:
                if (obj.UseEquals)
                {
                    pParametros.AppendSmallerOrEqualThen(obj.Max, pAlias, pField);
                }
                else
                {
                    pParametros.AppendSmallerThen(obj.Max, pAlias, pField);
                }
                break;
            }
        }
Ejemplo n.º 3
0
 public static bool HasValue(VO.Between <T> obj)
 {
     return(WichHasValue(obj) > -1);
 }