public IEnumerable <StatusWithUnits> GetAllStatusesWithUnits() { _logger.Info($"BLL.{nameof(StatusBll)}.{nameof(GetAllStatusesWithUnits)}: Getting all statuses with units"); foreach (var item in _statusDao.GetAllStatuses()) { yield return(new StatusWithUnits ( item.Id, item.Name, _commodityUnitDao.GetCommodityUnitsByStatus(item.Id ?? -1).ToList() )); } _logger.Info($"BLL.{nameof(StatusBll)}.{nameof(GetAllStatusesWithUnits)}: Received all statuses with units"); yield break; }