public ActionResult CompareMissingIngredients(string ToCompare, string UserID) { UserRecipe.SaveRecipe(ToCompare, UserID); pantrypartyEntities ORM = new pantrypartyEntities(); List <Ingredient> RecipesIngredientsList = new List <Ingredient>(); List <Ingredient> MyIngredients = new List <Ingredient>(); // Creates list of RecipeIngredient objects and initializes RecipeIngredientsList with all matching values List <RecipeIngredient> ChangeToRecipesIng = ORM.RecipeIngredients.Where(x => x.RecipeID == ToCompare).ToList(); foreach (RecipeIngredient x in ChangeToRecipesIng) { if (!RecipesIngredientsList.Contains(ORM.Ingredients.Find(x.IngredientID))) { RecipesIngredientsList.Add(ORM.Ingredients.Find(x.IngredientID)); } } // Creates list of UserIngredient objects and initializes UserIngredientList with all matching values List <UserIngredient> ChangeToUserIngredients = ORM.UserIngredients.Where(x => x.UserID == UserID).ToList(); foreach (UserIngredient x in ChangeToUserIngredients) { if (!MyIngredients.Contains(ORM.Ingredients.Find(x.IngredientID))) { MyIngredients.Add(ORM.Ingredients.Find(x.IngredientID)); } } // Edits recipe's ingredients list to contain only missing ingredients foreach (Ingredient x in MyIngredients) { if (RecipesIngredientsList.Contains(x)) { RecipesIngredientsList.Remove(x); } } // Creates list of Users with any/all of your missing ingredients List <AspNetUser> CheckNearby = UserIngredient.FindUsersWith(RecipesIngredientsList); // Sends list of nearby users with your missing ingredients to page List <AspNetUser> NearbyUsers = AspNetUser.FindNearbyUsers(CheckNearby, UserID); ViewBag.NearbyUsers = NearbyUsers; ViewBag.CurrentUserLatLong = Geocode(UserID); ViewBag.LatLongArray = Geocode(NearbyUsers, UserID); // Sends list of your missing ingredients to page // ViewBag.MissingIngredients = RecipesIngredientsList; List <UserIngredient> Test = new List <UserIngredient>(); foreach (Ingredient item in RecipesIngredientsList) { Test.AddRange(ORM.UserIngredients.Where(x => x.IngredientID == item.Name)); } ViewBag.UserIngredients = Test.Distinct().ToList(); string APIkey = System.Configuration.ConfigurationManager.AppSettings["Google Marker API KEY"]; ViewData["APIkey"] = APIkey; return(View("NearbyUsers")); }