Example #1
0
        private static Func <DateTime, ushort> DatePartMethod(DatePart part)
        {
            switch (part)
            {
            case DatePart.Year:
                return(Year);

            case DatePart.Month:
                return(Month);

            case DatePart.DayOfMonth:
                return(DayOfMonth);

            case DatePart.Hour:
                return(Hour);

            case DatePart.Minute:
                return(Minute);

            case DatePart.Second:
                return(Second);

            case DatePart.Millisecond:
                return(Millisecond);

            default:
                throw new NotImplementedException(part.ToString());
            }
        }
 /// <summary>
 /// Parameter if less than or equal a DatePart(year, month, day) for DateTime object.
 /// </summary>
 /// <param name="exp">field</param>
 /// <param name="value">value of parameter query</param>
 /// <param name="partOfDate">Enum DatePart(day, month or year)</param>
 /// <returns></returns>
 public CriteriaBuilder <T> LessThanOrEqualDatePartAllowingNull(Expression <Func <T, object> > exp, object value, DatePart partOfDate)
 {
     if (IsNotNull(value))
     {
         this.detachedCriteria.Add(Restrictions.Le(
                                       Projections.SqlFunction(partOfDate.ToString(), NHibernateUtil.DateTime, Projections.Property(expressionToStringWithAlias(exp))), value));
     }
     return(this);
 }
Example #3
0
        private int GetDateTimePartValueFromString(string stringRepresentedDate, DatePart datepart)
        {
            int i          = -1;
            int startIndex = -1;
            int length     = -1;

            switch (datepart)
            {
            case DatePart.Second:
                startIndex = 6;
                length     = 2;
                break;

            case DatePart.Minute:
                startIndex = 3;
                length     = 2;
                break;

            case DatePart.Hour:
                startIndex = 0;
                length     = 2;
                break;

            case DatePart.Day:
                startIndex = 6;
                length     = 2;
                break;

            case DatePart.Month:
                startIndex = 4;
                length     = 2;
                break;

            case DatePart.Year:
                startIndex = 0;
                length     = 4;
                break;
            }

            try
            {
                i = int.Parse(stringRepresentedDate.Substring(startIndex, length));
            }
            catch (Exception ex)
            {
                throw new LogDateTimeException(datepart.ToString() + " was not found in correct format", ex);
            }

            return(i);
        }
 /// <summary>
 /// Parameter if between a DatePart(year, month, day) for DateTime object.
 /// </summary>
 /// <param name="exp">field</param>
 /// <param name="lower">lower value of parameter query</param>
 /// <param name="higher">higher value of parameter query</param>
 /// <param name="partOfDate">Enum DatePart(day, month or year)</param>
 /// <returns></returns>
 public CriteriaBuilder <T> BetweenDatePart(Expression <Func <T, object> > exp, object lower, object higher, DatePart partOfDate)
 {
     this.detachedCriteria.Add(Restrictions.Between(
                                   Projections.SqlFunction(partOfDate.ToString(), NHibernateUtil.DateTime, Projections.Property(expressionToStringWithAlias(exp))), lower, higher));
     return(this);
 }
 public static DbInt DateDiff(this DbFunctions dbFunctions, DatePart datePart, DbDateTime lhs, DbDateTime rhs)
 {
     return(new DbIntFunctionValue("datediff", new IDbFragment[] { new RawFragment(datePart.ToString()), lhs, rhs }));
 }
 public static DbInt DatePart(this DbFunctions dbFunctions, DatePart datePart, DbDateTime date)
 {
     return(new DbIntFunctionValue("datepart", new IDbFragment[] { new RawFragment(datePart.ToString()), date }));
 }
Example #7
0
 public static string ToSqlString(this DatePart value)
 {
     return(value.ToString().ToUpper());
 }
Example #8
0
 /// <summary>
 /// Returns the fully qualified type name of this instance.
 /// </summary>
 /// <returns>
 /// A <see cref="T:System.String"/> containing a fully qualified type name.
 /// </returns>
 /// <filterPriority>2</filterPriority>
 public override string ToString()
 {
     return(string.Format("{0} {1}{2}", value, part.ToString(),
                          (value == 0 || value == 1) ? string.Empty : "s"));
 }