Esempio n. 1
0
        private bool AddTokens(double value, ParsingValue parsingValue, ref DateTime result)
        {
            switch (parsingValue)
            {
            case ParsingValue.Hours: return(this.AddHours(value, ref result));

            case ParsingValue.Minutes: return(this.AddMinutes(value, ref result));

            case ParsingValue.Seconds: return(this.AddSeconds(value, ref result));
            }
            return(false);
        }
Esempio n. 2
0
        private bool IsValidToken(double value, ParsingValue parsingValue)
        {
            switch (parsingValue)
            {
            case ParsingValue.Hours: return(value >= 0 && value <= 24);

            case ParsingValue.Minutes: return(value >= 0 && value < 60);

            case ParsingValue.Seconds: return(value >= 0 && value < 60);
            }
            return(false);
        }
Esempio n. 3
0
        private bool StartParsing(double value, ParsingValue parsingValue, ref DateTime result)
        {
            for (int i = 10; i < Math.Pow(10, 6); i *= 10)
            {
                int h = (int)(value / i);

                if (this.IsValidToken(h, parsingValue))
                {
                    this.AddTokens(h, parsingValue, ref result);

                    double min = value % i;

                    return(this.AddTokens(min, (parsingValue == ParsingValue.Hours ? ParsingValue.Minutes : ParsingValue.Seconds), ref result));
                }
            }
            return(false);
        }