コード例 #1
0
        public static List <CalendarEvent> MapCoursesToEvents(IEnumerable <CourseParticipant> courseParticipants)
        {
            var returnVar = new List <CalendarEvent>();

            foreach (var cp in courseParticipants)
            {
                var course = cp.Course;

                CalendarEvent courseEvt = new CalendarEvent
                {
                    Class        = "PUBLIC",
                    Created      = new CalDateTime(course.CreatedUtc),
                    LastModified = new CalDateTime(course.CourseDatesLastModified),
                    Sequence     = course.Version,
                    //pending fix
                    Transparency       = TransparencyType.Opaque,
                    Status             = course.Cancelled ? EventStatus.Cancelled : EventStatus.Confirmed,
                    Uid                = "course" + course.Id.ToString(),
                    Priority           = 5,
                    Location           = course.Room.ShortDescription,
                    Summary            = course.Department.Abbreviation + " " + course.CourseFormat.CourseType.Abbreviation,
                    IsAllDay           = false,
                    Description        = course.Department.Name + " " + course.CourseFormat.CourseType.Description + (cp.IsFaculty?" [Faculty]":" [Participant]"),
                    GeographicLocation = GetGeoLocation(course)
                                         //DtStamp = - this is being inserted
                };
                //now add aditional days
                foreach (var cd in course.AllDays().Take(course.CourseFormat.DaysDuration))
                {
                    var dayEvt = cd.Day < course.CourseFormat.DaysDuration
                        ? courseEvt.Copy <CalendarEvent>()
                        : courseEvt;
                    dayEvt.Start    = new CalDateTime(cp.IsFaculty?cd.StartFacultyUtc:cd.StartParticipantUtc());
                    dayEvt.Duration = TimeSpan.FromMinutes(cp.IsFaculty ? cd.DurationFacultyMins: cd.DurationParticipantMins);
                    if (course.CourseFormat.DaysDuration > 1)
                    {
                        string dayNo = $" (day {cd.Day})";
                        dayEvt.Summary     += dayNo;
                        dayEvt.Description += dayNo;
                    }
                    if (cd.Day == 1)
                    {
                        dayEvt.Alarms.Add(new Alarm
                        {
                            Action  = AlarmAction.Display,
                            Summary = course.Department.Abbreviation + ' ' + course.CourseFormat.CourseType.Abbreviation,
                            Trigger = new Trigger(TimeSpan.FromHours(-24))
                        });
                    }
                    returnVar.Add(dayEvt);
                }
            }

            return(returnVar);
        }
コード例 #2
0
        public CalendarEventForm(CalendarEvent ce, Calendar calendar)
        {
            this.InitializeComponent();
            this.fEvent    = ce.Copy();
            this.fCalendar = calendar;
            foreach (MonthInfo month in this.fCalendar.Months)
            {
                this.MonthBox.Items.Add(month);
            }
            this.NameBox.Text = this.fEvent.Name;
            this.DayBox.Value = this.fEvent.DayIndex + 1;
            MonthInfo monthInfo = this.fCalendar.FindMonth(this.fEvent.MonthID);

            this.MonthBox.SelectedItem = monthInfo;
        }
コード例 #3
0
        public CalendarEventForm(CalendarEvent ce, Calendar calendar)
        {
            InitializeComponent();

            fEvent    = ce.Copy();
            fCalendar = calendar;

            foreach (MonthInfo mi in fCalendar.Months)
            {
                MonthBox.Items.Add(mi);
            }

            NameBox.Text = fEvent.Name;
            DayBox.Value = fEvent.DayIndex + 1;

            MonthInfo month = fCalendar.FindMonth(fEvent.MonthID);

            MonthBox.SelectedItem = month;
        }