private static string GetParameterValueFromExpression(Emdat.InVision.SSRS.ReportParameter r, Emdat.InVision.SSRS.ParameterValue v, DateTime sourceDate) { if (v == null || string.IsNullOrEmpty(v.Value)) { return(null); } if (r.Type == Emdat.InVision.SSRS.ParameterTypeEnum.DateTime) { DateTime?dt = DateTimeExpression.Evaluate(v.Value, sourceDate); return(dt.HasValue ? dt.Value.ToString("yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture) : null); } else if (r.Type == Emdat.InVision.SSRS.ParameterTypeEnum.String && r.Name.EndsWith("Time", StringComparison.InvariantCultureIgnoreCase)) { if (string.IsNullOrEmpty(v.Value)) { return(v.Value); } DateTime dt; if (DateTime.TryParseExact(v.Value, Report.TimeFormats, null, DateTimeStyles.None, out dt)) { return(dt.ToString("HH:mm")); } else { return(v.Value); } } else { return(v.Value); } }
public static DateTimeExpression AddYear(this DateTimeExpression expr, int n) { var newExpr = (DateTimeExpression)expr.Clone(); newExpr._sql = "DATEADD(year, ?, " + newExpr._sql + ")"; newExpr._childExpressions.Insert(0, new Int32ParameterExpression(n)); return(newExpr); }
public static DateTimeExpression AddMonth(this DateTimeExpression expr, int n) { var newExpr = (DateTimeExpression)expr.Clone(); newExpr._sql = "ADD_MONTHS(month, ?, " + newExpr._sql + ")"; newExpr._childExpressions.Insert(0, new Int32ParameterExpression(n)); return(newExpr); }
/// <summary> /// Add seconds to current datetime expression. /// </summary> /// <param name="expr">The expr.</param> /// <param name="n">The number of seconds.</param> /// <returns></returns> public static DateTimeExpression AddSecond(this DateTimeExpression expr, int n) { var newExpr = (DateTimeExpression)expr.Clone(); newExpr.Sql = "DATEADD(second, ?, " + newExpr.Sql + ")"; newExpr.ChildExpressions.Insert(0, new Int32ParameterExpression(n)); return(newExpr); }
internal DateTimeColumn(DateTimeExpression expr, string columnName) : this(columnName) { if (ReferenceEquals(expr, null)) { throw new ArgumentNullException("expr"); } Sql = expr.Sql; if (expr.ChildExpressions != null) { ChildExpressions.AddRange(expr.ChildExpressions); } }
public static DateTimeExpression AddMonth(this DateTimeExpression expr, Int32Expression n) { if (n == null) { throw new ArgumentNullException("n"); } var newExpr = (DateTimeExpression)expr.Clone(); newExpr._sql = "DATEADD(month, ?, " + newExpr._sql + ")"; newExpr._childExpressions.Insert(0, n); return(newExpr); }
private AST Group3() { var ast = Group2(); if (ast == null) { if (CurrentToken.TokenType == TokenType.Operator && (CurrentToken.Value == "-" || CurrentToken.Value == "+")) { var token = CurrentToken; CurrentToken = _lexer.GetNextToken(); ast = new OperatorNode(Group3(), token); } } else if ((ast is DateTimeFunction || ast is AddMonths) && CurrentToken.TokenType == TokenType.Operator && (CurrentToken.Value == "-" || CurrentToken.Value == "+")) { ast = new DateTimeExpression(ast, Token.Expression, Group6()); } return(ast); }
public Assignment Set(DateTimeExpression value) { return(new Assignment(this, ((object)value) == null ? (IExpression)NullExpression.Value : value)); }
public Property Given_DateTimeExpression_equals_left_and_left_equals_right_expression_IsEquivalentTo_should_be_true(DateTimeExpression filterExpression, PositiveInt n) => Given_OneOfExpression_contains_the_same_epxression_repeated_many_time_When_comparing_to_that_expression_IsEquivalentTo_should_return_true(filterExpression, n.Item);
public void Given_DateTimeExpression_equals_left_and_left_equals_right_expression_IsEquivalentTo_should_be_true(DateTimeExpression filterExpression) => Given_FilterExpression_equals_left_and_right_IsEquivalentTo_should_return_true(filterExpression);
internal OracleDateTimeColumn(DateTimeExpression expr, string columnName) : base(expr, columnName) { }
public static Int32Expression GetSecond(this DateTimeExpression expr) { return(new Int32Expression("DATEPART(second, " + expr._sql + ")", ((DateTimeExpression)expr.Clone())._childExpressions)); }
/// <summary> /// Gets the minute. /// </summary> /// <param name="expr">The expr.</param> /// <returns></returns> public static Int32Expression GetMinute(this DateTimeExpression expr) { return(new Int32Expression("DATEPART(minute, " + expr.Sql + ")", ((DateTimeExpression)expr.Clone()).ChildExpressions)); }