public EditCalendarEvent GetCalendarEventById(int id) { CalendarEvent originalCalendarEvent = _repo.Query <CalendarEvent>().Where(c => c.Id == id).Include(c => c.EventOwner).Include(a => a.EventAlarms).FirstOrDefault(); EditCalendarEvent editablecalendarEvent = ConvertCalendarEventToEditable(originalCalendarEvent); IList <EventAlarmForList> listableAlarms = new List <EventAlarmForList>(); foreach (EventAlarm alarm in originalCalendarEvent.EventAlarms) { EventAlarmForList listable = new EventAlarmForList { Id = alarm.Id, AlarmTime = alarm.AlarmTime, AlarmMethod = alarm.AlarmMethod, isActive = alarm.isActive, CalendarEventId = originalCalendarEvent.Id, CalenderEventName = originalCalendarEvent.Name, OwnerUserName = alarm.Owner.UserName }; listableAlarms.Add(listable); } editablecalendarEvent.EventAlarms = listableAlarms; return(editablecalendarEvent); }
/// <summary> /// Converts the CalendarEvent object to an EditableCalendar object. /// This let's us control what is sent back and handle any possible infinite loops. /// </summary> /// <param name="calendarEventToConvert">The calendar event to convert.</param> /// <returns></returns> private EditCalendarEvent ConvertCalendarEventToEditable(CalendarEvent calendarEventToConvert) { EditCalendarEvent editablecalendarEvent = new EditCalendarEvent { Id = calendarEventToConvert.Id, Name = calendarEventToConvert.Name, CreatedDate = calendarEventToConvert.CreatedDate, Location = calendarEventToConvert.Location, EventType = calendarEventToConvert.EventType, isActive = calendarEventToConvert.isActive, OwnerName = calendarEventToConvert.EventOwner.UserName, EventDate = calendarEventToConvert.EventDateTime.Date.ToString("yyyy-MM-dd"), EventTime = calendarEventToConvert.EventDateTime.TimeOfDay.ToString() }; return(editablecalendarEvent); }
public IActionResult Get(int id) { EditCalendarEvent calendarEvent = _service.GetCalendarEventById(id); return(Ok(calendarEvent)); }