// GET: Recommendations public async Task <ActionResult> Index() { var userClaims = User.Identity as System.Security.Claims.ClaimsIdentity; ViewBag.Name = userClaims?.FindFirst("name")?.Value; IEnumerable <PreferenceEntity> preferenceEntities = TableActions.GetPreferencesResult("PreferenceTable", userClaims?.FindFirst(System.IdentityModel.Claims.ClaimTypes.Name)?.Value); IEnumerable <PantryEntity> pantryEntities = TableActions.GetPantryResult("PantryTable", userClaims?.FindFirst(System.IdentityModel.Claims.ClaimTypes.Name)?.Value); var preference = preferenceEntities.FirstOrDefault(); IEnumerable <string> dietaryRestrictions = null; string diet = null; if (preference != null) { dietaryRestrictions = preference.healthPreference.Split(','); diet = preference.dietPreference; } string[] foods = { "pork", "bread", "peppers", "sugar", "corn" }; string[] pantryList = pantryEntities.Select(x => x.RowKey).ToArray(); IngredientList userPreferences = new IngredientList(foods); IngredientList pantry = new IngredientList(pantryList); List <Tuple <Recipe, double> > recs = await Recommender.GetRecommendations(userPreferences, pantry, dietaryRestrictions, diet); return(View(recs)); }
// GET: Preferences public ActionResult Index() { var userClaims = User.Identity as System.Security.Claims.ClaimsIdentity; ViewBag.Name = userClaims?.FindFirst("name")?.Value; var preferences = TableActions.GetPreferencesResult("PreferenceTable", userClaims?.FindFirst(System.IdentityModel.Claims.ClaimTypes.Name)?.Value); var userPreference = preferences.FirstOrDefault(); PreferencesModel model = new PreferencesModel(); if (userPreference != null) { Diet diet; List <Health> dietaryRestrictions = new List <Health>(); Enum.TryParse <Diet>(userPreference.dietPreference, out diet); IEnumerable <string> dietaryRestrictionsString = userPreference.healthPreference.Split(','); foreach (var dietaryRestrictionString in dietaryRestrictionsString) { Health dietaryRestriction; Enum.TryParse <Health>(dietaryRestrictionString, out dietaryRestriction); dietaryRestrictions.Add(dietaryRestriction); } model.Diet = diet; model.DietaryRestrictions = dietaryRestrictions; } return(View(model)); }