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);
        }
        // ---- Basic CRUD ----------------------------------------------------
        public IList <EventAlarmForList> GetAllAlarms()
        {
            IList <EventAlarm>        allAlarms      = _repo.Query <EventAlarm>().Include(o => o.Owner).Include(e => e.Event).ToList();
            IList <EventAlarmForList> listableAlarms = new List <EventAlarmForList>();

            foreach (EventAlarm alarm in allAlarms)
            {
                EventAlarmForList newAlarm = new EventAlarmForList
                {
                    Id                = alarm.Id,
                    AlarmTime         = alarm.AlarmTime,
                    AlarmMethod       = alarm.AlarmMethod,
                    isActive          = alarm.isActive,
                    CalendarEventId   = alarm.Event.Id,
                    CalenderEventName = alarm.Event.Name,
                    OwnerUserName     = alarm.Owner.UserName
                };
                listableAlarms.Add(newAlarm);
            }
            return(listableAlarms);
        }