public bool GetMatchedDailyTimex(string text, out string timex)
        {
            var trimmedText = text.Trim();

            float  durationLength = 1; // Default value
            float  multiplier     = 1;
            string durationType;

            if (DoubleMultiplierRegex.IsMatch(trimmedText))
            {
                multiplier = 2;
            }

            if (DayTypeRegex.IsMatch(trimmedText))
            {
                durationType = Constants.TimexDay;
            }
            else if (WeekTypeRegex.IsMatch(trimmedText))
            {
                durationType = Constants.TimexWeek;
            }
            else if (BiWeekTypeRegex.IsMatch(trimmedText))
            {
                durationType = Constants.TimexWeek;
                multiplier   = 2;
            }
            else if (WeekendTypeRegex.IsMatch(trimmedText))
            {
                durationType = Constants.TimexWeekend;
            }
            else if (MonthTypeRegex.IsMatch(trimmedText))
            {
                durationType = Constants.TimexMonth;
            }
            else if (QuarterTypeRegex.IsMatch(trimmedText))
            {
                multiplier   = 3;
                durationType = Constants.TimexMonth;
            }
            else if (SemiAnnualTypeRegex.IsMatch(trimmedText))
            {
                multiplier   = 0.5f;
                durationType = Constants.TimexYear;
            }
            else if (YearTypeRegex.IsMatch(trimmedText))
            {
                durationType = Constants.TimexYear;
            }
            else
            {
                timex = null;
                return(false);
            }

            timex = TimexUtility.GenerateSetTimex(durationType, durationLength, multiplier);

            return(true);
        }
        public bool GetMatchedDailyTimex(string text, out string timex)
        {
            var trimmedText = text.Trim().Normalized(DateTimeDefinitions.SpecialCharactersEquivalent);

            float  durationLength = 1; // Default value
            float  multiplier     = 1;
            string durationType;

            if (DayTypeRegex.IsMatch(trimmedText))
            {
                durationType = Constants.TimexDay;
            }
            else if (WeekTypeRegex.IsMatch(trimmedText))
            {
                durationType = Constants.TimexWeek;
            }
            else if (BiWeekTypeRegex.IsMatch(trimmedText))
            {
                durationType = Constants.TimexWeek;
                multiplier   = 2;
            }
            else if (MonthTypeRegex.IsMatch(trimmedText))
            {
                durationType = Constants.TimexMonth;
            }
            else if (BiMonthTypeRegex.IsMatch(trimmedText))
            {
                durationType = Constants.TimexMonth;
                multiplier   = 2;
            }
            else if (QuarterTypeRegex.IsMatch(trimmedText))
            {
                durationType = Constants.TimexMonth;
                multiplier   = 3;
            }
            else if (SemiAnnualTypeRegex.IsMatch(trimmedText))
            {
                durationType = Constants.TimexYear;
                multiplier   = 0.5f;
            }
            else if (YearTypeRegex.IsMatch(trimmedText))
            {
                durationType = Constants.TimexYear;
            }
            else
            {
                timex = null;
                return(false);
            }

            timex = TimexUtility.GenerateSetTimex(durationType, durationLength, multiplier);

            return(true);
        }
Esempio n. 3
0
        public bool GetMatchedDailyTimex(string text, out string timex)
        {
            var trimmedText = text.Trim();

            float  durationLength = 1; // Default value
            float  multiplier     = 1;
            string durationType;

            if (DoubleMultiplierRegex.IsMatch(trimmedText))
            {
                multiplier = 2;
            }
            else if (HalfMultiplierRegex.IsMatch(trimmedText))
            {
                multiplier = 0.5f;
            }

            if (DayTypeRegex.IsMatch(trimmedText))
            {
                durationType = "D";
            }
            else if (WeekTypeRegex.IsMatch(trimmedText))
            {
                durationType = "W";
            }
            else if (WeekendTypeRegex.IsMatch(trimmedText))
            {
                durationType = "WE";
            }
            else if (MonthTypeRegex.IsMatch(trimmedText))
            {
                durationType = "M";
            }
            else if (QuarterTypeRegex.IsMatch(trimmedText))
            {
                durationLength = 3;
                durationType   = "M";
            }
            else if (YearTypeRegex.IsMatch(trimmedText))
            {
                durationType = "Y";
            }
            else
            {
                timex = null;
                return(false);
            }

            timex = TimexUtility.GenerateSetTimex(durationType, durationLength, multiplier);

            return(true);
        }