public IEnumerable <Alarm> GetAlarmsInArea(int areaId) { IEnumerable <int> areas = areaRepository.GetChildAreas(areaId).Select(area => area.Id).ToList(); List <int> deviceInAreas = deviceRepository.FindAll(dev => areas.Contains(dev.AreaId), dev => dev.Id).ToList(); return(alarmRepository .FindAll(alarm => deviceInAreas.Contains(alarm.DeviceId)) .OrderByDescending(alarm => alarm.StartDttm) .Select(alarm => new Alarm { DeviceId = alarm.DeviceId, DeviceName = alarm.DeviceName, AlarmType = alarm.AlarmType.ToString(), StartDttm = alarm.StartDttm })); }