public IList <FavoriteCategoryContract> GetFavoriteLabeledCategories(IList <int> categoryIds) { if (categoryIds == null) { categoryIds = new List <int>(); } var user = TryGetUser(); var dbResult = m_favoritesRepository.GetFavoriteLabeledCategories(categoryIds, user.Id); var resultList = new List <FavoriteCategoryContract>(); foreach (var favoriteCategoryGroup in dbResult.GroupBy(x => x.Category.Id)) { var favoriteItems = new FavoriteCategoryContract { Id = favoriteCategoryGroup.Key, FavoriteInfo = favoriteCategoryGroup.Select(Mapper.Map <FavoriteBaseDetailContract>).ToList() }; resultList.Add(favoriteItems); } return(resultList); }