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); }
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 })); }
public static string ToSqlString(this DatePart value) { return(value.ToString().ToUpper()); }
/// <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")); }