public async Task <IEnumerable <Crop> > GetUserCropsAsync(IPrincipal user) { var crops = user.GetCrops(); if (!crops.Any()) { return(Enumerable.Empty <Crop>()); } if (crops.Any(x => x.ToUpper() == "ALL")) { return(await GetCropAsync()); } var allCrops = await GetCropAsync(); return(allCrops.Where(x => crops.Contains(x.CropCode, StringComparer.OrdinalIgnoreCase))); }