Ejemplo n.º 1
0
 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);
         }
     }
 }
Ejemplo n.º 2
0
            /// <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);
            }
Ejemplo n.º 3
0
        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);
        }