public void ToodleDoDaysOfWeekFrequencyTest2() { ICustomFrequency frequency = ToodleDoRecurrencyHelpers.Get2DayRecurrency("every tue, WED"); DaysOfWeekFrequency freq = frequency as DaysOfWeekFrequency; Assert.IsNotNull(freq); Assert.IsFalse(freq.IsMonday); Assert.IsTrue(freq.IsTuesday); Assert.IsTrue(freq.IsWednesday); Assert.IsFalse(freq.IsThursday); Assert.IsFalse(freq.IsFriday); Assert.IsFalse(freq.IsSaturday); Assert.IsFalse(freq.IsSunday); }
private static string GetToodleDoDaysOfWeekRecurrency(ICustomFrequency customFrequency) { DaysOfWeekFrequency frequency = customFrequency as DaysOfWeekFrequency; if (frequency == null) { return(ToodleDoConstants.RecurrencyNone); } // Join all selected days of week List <string> selectedDays = new List <string>(); if (frequency.IsMonday) { selectedDays.Add(ToodleDoConstants.RecurrencyMonday); } if (frequency.IsTuesday) { selectedDays.Add(ToodleDoConstants.RecurrencyTuesday); } if (frequency.IsWednesday) { selectedDays.Add(ToodleDoConstants.RecurrencyWednesday); } if (frequency.IsThursday) { selectedDays.Add(ToodleDoConstants.RecurrencyThursday); } if (frequency.IsFriday) { selectedDays.Add(ToodleDoConstants.RecurrencyFriday); } if (frequency.IsSaturday) { selectedDays.Add(ToodleDoConstants.RecurrencySaturday); } if (frequency.IsSunday) { selectedDays.Add(ToodleDoConstants.RecurrencySunday); } string daysString = String.Empty; if (selectedDays.Count == 7) { daysString = ToodleDoConstants.RecurrencyDay; } else if (selectedDays.Count == 2 && frequency.IsSaturday && frequency.IsSunday) { daysString = ToodleDoConstants.RecurrencyWeekend; } else if (selectedDays.Count == 5 && !frequency.IsSaturday && !frequency.IsSunday) { daysString = ToodleDoConstants.RecurrencyWeekday; } else { daysString = string.Join(ToodleDoConstants.RecurrencyDaySeparator, selectedDays); } return(string.Format(CultureInfo.InvariantCulture, ToodleDoConstants.RecurrencyDaysOfWeekPattern, daysString)); }
private static ICustomFrequency Get2DayDaysOfWeekFrequency(string toodleDoFrequency) { Regex regex = new Regex(ToodleDoConstants.RecurrencyToodleDoDaysOfWeekRegex, RegexOptions.IgnoreCase); Match match = regex.Match(toodleDoFrequency); if (match == null || !match.Success) { return(null); } DaysOfWeekFrequency frequency = new DaysOfWeekFrequency(); CaptureCollection days = match.Groups["DayOfWeek"].Captures; foreach (var day in days) { DayOfWeek?dayOfWeek = GetDayOfWeekFromShortString(day.ToString()); if (dayOfWeek != null) { switch (dayOfWeek) { case DayOfWeek.Monday: frequency.IsMonday = true; break; case DayOfWeek.Tuesday: frequency.IsTuesday = true; break; case DayOfWeek.Wednesday: frequency.IsWednesday = true; break; case DayOfWeek.Thursday: frequency.IsThursday = true; break; case DayOfWeek.Friday: frequency.IsFriday = true; break; case DayOfWeek.Saturday: frequency.IsSaturday = true; break; case DayOfWeek.Sunday: frequency.IsSunday = true; break; } } else if (day.ToString().Equals(ToodleDoConstants.RecurrencyWeekday, StringComparison.OrdinalIgnoreCase)) { frequency.IsMonday = true; frequency.IsTuesday = true; frequency.IsWednesday = true; frequency.IsThursday = true; frequency.IsFriday = true; } else if (day.ToString().Equals(ToodleDoConstants.RecurrencyWeekend, StringComparison.OrdinalIgnoreCase)) { frequency.IsSaturday = true; frequency.IsSunday = true; } } return(frequency); }