private DateTime GetExpectedDatetime(bool isIDS, DateTime input, DateTimeQuantifiers largest, DateTimeQuantifiers smallest) { var year = 1200; var month = 1; var day = 1; var hour = 0; var minute = 0; var second = 0; var ticks = 0; if (isIDS && largest >= DateTimeQuantifiers.Hour && smallest <= DateTimeQuantifiers.Second) { // this selectivity for default year doesn't make any sense, but this is how IDS driver behaves year = 1; } if (largest == DateTimeQuantifiers.Year) { year = input.Year; } if (largest <= DateTimeQuantifiers.Month && smallest >= DateTimeQuantifiers.Month) { month = input.Month; } if (largest <= DateTimeQuantifiers.Day && smallest >= DateTimeQuantifiers.Day) { day = input.Day; } if (largest <= DateTimeQuantifiers.Hour && smallest >= DateTimeQuantifiers.Hour) { hour = input.Hour; } if (largest <= DateTimeQuantifiers.Minute && smallest >= DateTimeQuantifiers.Minute) { minute = input.Minute; } if (largest <= DateTimeQuantifiers.Second && smallest >= DateTimeQuantifiers.Second) { second = input.Second; } if (largest <= DateTimeQuantifiers.Fraction5 && smallest >= DateTimeQuantifiers.Fraction) { var digits = 3; if (smallest != DateTimeQuantifiers.Fraction) { digits = smallest - DateTimeQuantifiers.Fraction; } ticks = ((int)(input.Ticks % 10000000) / (int)Math.Pow(10, 7 - digits)) * (int)Math.Pow(10, 7 - digits); } return(new DateTime(year, month, day, hour, minute, second).AddTicks(ticks)); }
private static string GetQuantifierName(DateTimeQuantifiers quantifier) { return(quantifier switch { DateTimeQuantifiers.Fraction1 => "fraction(1)", DateTimeQuantifiers.Fraction2 => "fraction(2)", DateTimeQuantifiers.Fraction3 => "fraction(3)", DateTimeQuantifiers.Fraction4 => "fraction(4)", DateTimeQuantifiers.Fraction5 => "fraction(5)", _ => quantifier.ToString(), });
private static DateTime GetExpectedDatetime(DateTime input, DateTimeQuantifiers largest, DateTimeQuantifiers smallest) { var year = 1200; var month = 1; var day = 1; var hour = 0; var minute = 0; var second = 0; var ticks = 0; if (largest == DateTimeQuantifiers.Year) { year = input.Year; } if (largest <= DateTimeQuantifiers.Month && smallest >= DateTimeQuantifiers.Month) { month = input.Month; } if (largest <= DateTimeQuantifiers.Day && smallest >= DateTimeQuantifiers.Day) { day = input.Day; } if (largest <= DateTimeQuantifiers.Hour && smallest >= DateTimeQuantifiers.Hour) { hour = input.Hour; } if (largest <= DateTimeQuantifiers.Minute && smallest >= DateTimeQuantifiers.Minute) { minute = input.Minute; } if (largest <= DateTimeQuantifiers.Second && smallest >= DateTimeQuantifiers.Second) { second = input.Second; } if (largest <= DateTimeQuantifiers.Fraction5 && smallest >= DateTimeQuantifiers.Fraction) { var digits = 3; if (smallest != DateTimeQuantifiers.Fraction) { digits = smallest - DateTimeQuantifiers.Fraction; } ticks = ((int)(input.Ticks % 10000000) / (int)Math.Pow(10, 7 - digits)) * (int)Math.Pow(10, 7 - digits); } return(new DateTime(year, month, day, hour, minute, second).AddTicks(ticks)); }
private static string GetQuantifierName(DateTimeQuantifiers quantifier) { switch (quantifier) { case DateTimeQuantifiers.Fraction1: return("fraction(1)"); case DateTimeQuantifiers.Fraction2: return("fraction(2)"); case DateTimeQuantifiers.Fraction3: return("fraction(3)"); case DateTimeQuantifiers.Fraction4: return("fraction(4)"); case DateTimeQuantifiers.Fraction5: return("fraction(5)"); } return(quantifier.ToString()); }