private void LoadRoomCalendar(Room room) { if (room != null) { string roomKey = String.Format("{0}|{1}", room.Area.area_name, room.room_name); if (!roomCalendars.ContainsKey(roomKey)) { CalendarRoom r = new CalendarRoom(); List <Entry> entries = Database.GetFutureAppointments(room); r.StartTime = CalendarStart; r.EndTime = CalendarEnd; r.Name = room.room_name; foreach (Entry e in entries) { CalendarAppointment appt = new CalendarAppointment(); appt.BeverageService = e.coffee != ""; appt.Description = e.name; appt.Finish = Database.UnixTimeStampToDateTime(e.end_time); appt.FoodService = e.food_needed.HasValue ? e.food_needed.Value : false; appt.Location = e.Room.room_name; appt.Requestor = e.requestor; appt.Start = Database.UnixTimeStampToDateTime(e.start_time); r.Appointments.Add(appt); } roomCalendars.Add(roomKey, r); } } }
private void ShowRoomCalendar() { if (SelectedRoom != null) { if (SelectedRoom.id == -1) { //Selected All CalendarRooms.Clear(); for (int i = 1; i < rooms.Count; i++) { Room r = rooms[i]; String roomKey = String.Format("{0}|{1}", r.Area.area_name, r.room_name); CalendarRoom cal = null; if (!roomCalendars.ContainsKey(roomKey)) { LoadRoomCalendar(r); } if (roomCalendars.ContainsKey(roomKey)) { cal = roomCalendars[roomKey]; } if (cal != null) { cal.StartTime = CalendarStart; cal.EndTime = CalendarEnd; CalendarRooms.Add(cal); } } } else { String roomKey = String.Format("{0}|{1}", SelectedRoom.Area.area_name, SelectedRoom.room_name); CalendarRoom cal = null; CalendarRooms.Clear(); if (!roomCalendars.ContainsKey(roomKey)) { LoadRoomCalendar(SelectedRoom); } if (roomCalendars.ContainsKey(roomKey)) { cal = roomCalendars[roomKey]; } if (cal != null) { cal.StartTime = CalendarStart; cal.EndTime = CalendarEnd; CalendarRooms.Add(cal); } } } }