Ejemplo n.º 1
0
        private void weekView_OnSelectedChangedEvent(object sender, EventArgs e)
        {
            SelectedDate = ((SingleDay)sender).Date;

            ShowStatus(CalendarHelpers.Month(SelectedDate.Month).ToUpper()
                       + " " + SelectedDate.Day.ToString() + ", " + SelectedDate.Year.ToString());
        }
Ejemplo n.º 2
0
 private static string GetAppointmentName(Appointment appointment)
 {
     if (!appointment.IsRepeating)
     {
         return(appointment.Subject + " (" + CalendarHelpers.Month(appointment.StartDate.Month) + " "
                + appointment.StartDate.Day.ToString() + ", "
                + appointment.StartDate.Year.ToString() + ")");
     }
     else
     {
         return(appointment.Subject + " (" + CalendarHelpers.Month(appointment.RepresentingDate.Month) + " "
                + appointment.RepresentingDate.Day.ToString() + ", "
                + appointment.RepresentingDate.Year.ToString() + ")");
     }
 }
Ejemplo n.º 3
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            DateTime dt = ((DateTime)value).ToLocalTime();

            return(dt.DayOfWeek + ", " + CalendarHelpers.Month(dt.Month) + " " + dt.Day + ", " + dt.Year);
        }
Ejemplo n.º 4
0
        public void EasterTest()
        {
            int earliestEaster = int.MaxValue;
            int latestEaster   = int.MinValue;

            int earliestGoodFriday = int.MaxValue;
            int latestGoodFriday   = int.MinValue;

            int earliestPalmSunday = int.MaxValue;
            int latestPalmSunday   = int.MinValue;

            int earliestAshWednesday = int.MaxValue;
            int latestAshWednesday   = int.MinValue;

            for (int i = 1; i <= 9999; i++)
            {
                DateTime easter = CalendarHelpers.Easter(i);

                if (easter.Month < earliestEaster)
                {
                    earliestEaster = easter.Month;
                }
                else if (easter.Month > latestEaster)
                {
                    latestEaster = easter.Month;
                }

                DateTime goodFriday = easter.AddDays(-2);

                if (goodFriday.Month < earliestGoodFriday)
                {
                    earliestGoodFriday = goodFriday.Month;
                }
                else if (goodFriday.Month > latestGoodFriday)
                {
                    latestGoodFriday = goodFriday.Month;
                }

                DateTime palmSunday = easter.AddDays(-7);

                if (palmSunday.Month < earliestPalmSunday)
                {
                    earliestPalmSunday = palmSunday.Month;
                }
                else if (palmSunday.Month > latestPalmSunday)
                {
                    latestPalmSunday = palmSunday.Month;
                }

                DateTime ashWednesday = easter.AddDays(-46);

                if (ashWednesday.Month < earliestAshWednesday)
                {
                    earliestAshWednesday = ashWednesday.Month;
                }
                else if (ashWednesday.Month > latestAshWednesday)
                {
                    latestAshWednesday = ashWednesday.Month;
                }
            }

            Console.WriteLine("Easter Sunday:\t" + CalendarHelpers.Month(earliestEaster) + " to " + CalendarHelpers.Month(latestEaster));
            Console.WriteLine("Good Friday:\t" + CalendarHelpers.Month(earliestGoodFriday) + " to " + CalendarHelpers.Month(latestGoodFriday));
            Console.WriteLine("Palm Sunday:\t" + CalendarHelpers.Month(earliestPalmSunday) + " to " + CalendarHelpers.Month(latestPalmSunday));
            Console.WriteLine("Ash Wednesday:\t" + CalendarHelpers.Month(earliestAshWednesday) + " to " + CalendarHelpers.Month(latestAshWednesday));
        }
Ejemplo n.º 5
0
        private void InitializeLayout()
        {
            title.Text = CalendarHelpers.Month(_month) + " " + _year.ToString();

            int beginningOfMonth = CalendarHelpers.DayOfWeek(_year, _month, 1);
            int daysInMonth      = CalendarHelpers.DaysInMonth(_month, _year);

            int row    = 2;
            int column = 0;

            int counter = 0;

            bool hasBegin = DisplayDateStart != null;
            bool hasEnd   = DisplayDateEnd != null;

            //
            // Previous month
            //
            int prevMonth     = _month > 1 ? _month - 1 : 12;
            int prevYear      = _month > 1 ? _year : _year - 1;
            int daysLastMonth = CalendarHelpers.DaysInMonth(prevMonth, prevYear);

            for (int i = beginningOfMonth - 2; i >= 0; i--)
            {
                RadioButton text = new RadioButton();
                text.Style   = FindResource("DateButton") as Style;
                text.Opacity = 0.5;
                text.Content = (daysLastMonth - i).ToString();

                DateTime dt = new DateTime(prevYear, prevMonth, daysLastMonth - i);

                if (!hasEnd || (DateTime)DisplayDateEnd >= dt)
                {
                    if (!hasBegin || (DateTime)DisplayDateStart <= dt)
                    {
                        text.Tag               = dt;
                        text.Checked          += text_Checked;
                        text.MouseDoubleClick += text_MouseDoubleClick;
                    }
                    else
                    {
                        text.IsEnabled = false;
                    }
                }
                else
                {
                    text.IsEnabled = false;
                }

                Grid.SetRow(text, row);
                Grid.SetColumn(text, column);
                grid.Children.Add(text);

                if (column < 6)
                {
                    column++;
                }
                else
                {
                    column = 0;
                    row++;
                }

                counter++;
            }

            //
            // This month
            //
            for (int i = 1; i <= daysInMonth; i++)
            {
                RadioButton text = new RadioButton();
                text.Style   = FindResource("DateButton") as Style;
                text.Content = i.ToString();

                DateTime dt = new DateTime(_year, _month, i);
                InitRadioButton(hasBegin, hasEnd, dt, text, ref row, ref column);

                counter++;
            }

            //
            // Next month
            //
            int nextMonth = _month < 12 ? _month + 1 : 1;
            int nextYear  = _month < 12 ? _year : _year + 1;

            for (int i = 1; i <= 42 - counter; i++)
            {
                RadioButton text = new RadioButton();
                text.Style   = FindResource("DateButton") as Style;
                text.Opacity = 0.5;
                text.Content = i.ToString();

                DateTime dt = new DateTime(nextYear, nextMonth, i);
                InitRadioButton(hasBegin, hasEnd, dt, text, ref row, ref column);
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Gets a friendly name for the recurrence data.
        /// </summary>
        /// <returns></returns>
        public override string ToString()
        {
            string data = "";

            switch (_type)
            {
            case RepeatType.Daily:
                data += "every ";

                switch (_day)
                {
                case "-1":
                    data += "weekday";
                    break;

                case "1":
                    data += "day";
                    break;

                case "2":
                    data += "other day";
                    break;

                default:
                    data += _day + " days";
                    break;
                }
                break;

            case RepeatType.Weekly:
                data += "every ";

                switch (_week)
                {
                case 1:
                    break;

                case 2:
                    data += "other ";
                    break;

                default:
                    data += _week.ToString() + " weeks on ";
                    break;
                }

                data += Join <DayOfWeek>(Array.ConvertAll <char, DayOfWeek>(_day.ToCharArray(), StringToDayOfWeek));
                break;

            case RepeatType.Monthly:
                if (_week == -1)
                {
                    data += "day " + _day + " of every ";
                }
                else
                {
                    data += "the " + OrdinalWeek(_week) + " " + StringToDayOfWeek(_day[0]).ToString() + " of every ";
                }

                switch (_month)
                {
                case 1:
                    data += "month";
                    break;

                case 2:
                    data += "other month";
                    break;

                default:
                    data += _month.ToString() + " months";
                    break;
                }
                break;

            case RepeatType.Yearly:
                switch (_year)
                {
                case 1:
                    break;

                case 2:
                    data += "every other year on ";
                    break;

                default:
                    data += "every " + _year.ToString() + " years on ";
                    break;
                }

                if (_week == -1)
                {
                    data += CalendarHelpers.Month(_month) + " " + _day;
                }
                else
                {
                    data += "the " + OrdinalWeek(_week) + " " + StringToDayOfWeek(_day[0]).ToString() + " of " + CalendarHelpers.Month(_month);
                }
                break;
            }

            if (_end == RepeatEnd.Count)
            {
                data += " for " + _endCount.ToString() + " occurrences";
            }
            else if (_end == RepeatEnd.Date)
            {
                data += " until " + _endDate.ToString("MMMM d, yyyy");
            }

            if (_skip != null)
            {
                data += ", skipping " + Join <DateTime>(_skip);
            }

            return(data);
        }