public override void ReadFrom(XElement xE) { base.ReadFrom(xE); DayOfWeek = null; StartHour = null; StartMinute = null; EndHour = null; EndMinute = null; foreach (var xItem in xE.Elements()) { var localName = xItem.Name.LocalName; if (localName == "dayOfWeek") { DayOfWeek = DayOfWeekExtensions.Parse(xItem.Value); } else if (localName == "startHour") { StartHour = int.Parse(xItem.Value); } else if (localName == "startMinute") { StartMinute = MinuteOfHourExtensions.Parse(xItem.Value); } else if (localName == "endHour") { EndHour = int.Parse(xItem.Value); } else if (localName == "endMinute") { EndMinute = MinuteOfHourExtensions.Parse(xItem.Value); } } }
/// <summary> /// Parses a <see cref="Match"/> into a <see cref="DateToken"/>. /// </summary> /// <param name="match">A <see cref="Match"/> representation of a <see cref="DateToken"/>.</param> /// <param name="provider">An <see cref="IFormatProvider"/>.</param> /// <returns>The <see cref="DateToken"/> parsed from the <see cref="Match"/>.</returns> /// <exception cref="ArgumentNullException">If <paramref name="match"/> or <paramref name="provider"/> is /// <c>null</c>.</exception> /// <exception cref="FormatException">If the <paramref name="match"/> is not a supported representation of /// a <see cref="DateToken"/>.</exception> protected override DateToken ParseInternal(Match match, IFormatProvider provider) { provider = Resources.ResourceManager.GetEffectiveProvider(provider); DayOfWeekDateToken dateToken = new DayOfWeekDateToken(); // Parse day of week if (match.Groups["weekday"].Success) { dateToken.DayOfWeek = DayOfWeekExtensions.ParseDayOfWeek(match.Groups["weekday"].Value, provider); } // Parse day of week relation if (match.Groups["afternext"].Success) { dateToken.DayOfWeekRelation = Parsing.DayOfWeekRelation.AfterNext; } else if (match.Groups["nextweek"].Success) { dateToken.DayOfWeekRelation = Parsing.DayOfWeekRelation.NextWeek; } else { dateToken.DayOfWeekRelation = Parsing.DayOfWeekRelation.Next; } return(dateToken); }
public void TestSelectedDaysOfWeekText(bool[] daysChecked, DayOfWeek beginningOfWeek, string expectedText) { var isDayChecked = daysChecked.WithIndex() .ToDictionary(x => (DayOfWeek)x.index, x => x.item); var text = DayOfWeekExtensions.GetText(isDayChecked, beginningOfWeek); Assert.Equal(expectedText, text); }