public static List<AppCategoryListModel> GetGroupedApp(this IList<int> source, IAppService appService) { var list = new List<AppCategoryListModel>(); foreach (var i in source) { var model = new AppCategoryListModel(); var d = appService.List().Where(m => m.IsPublic==true && m.AppCategoryId == i).ToList().Select(m => { var t = m.ToModel(); t.AppCategoryName = m.AppCategory.Name; return t; }); model.AppCategoryName = d.First().AppCategoryName; model.AppModelList = d.ToList(); list.Add(model); } return list; }