public ActionResult GetGenrePreferences() { GetPreferencesViewModel preferencesViewModel = new GetPreferencesViewModel(); var currentUser = db.Users.Find(System.Web.HttpContext.Current.User.Identity.GetUserId()); preferencesViewModel.User = currentUser; foreach (Genre genre in db.Genres) { string genreNameToAdd = genre.Name; preferencesViewModel.AvailableGenres.Add(genreNameToAdd); } foreach (UserToGenre genre in db.UserToGenres) { for (int i = 0; i <= preferencesViewModel.AvailableGenres.Count - 1; i++) { if (genre.UserId == preferencesViewModel.User.Id && genre.Genre.Name == preferencesViewModel.AvailableGenres[i]) { preferencesViewModel.AvailableGenres.RemoveAt(i); i--; } } } foreach (UserToGenre genre in db.UserToGenres) { if (genre.UserId == preferencesViewModel.User.Id) { preferencesViewModel.PreferredGenres.Add(genre.Genre.Name); } } return(View(preferencesViewModel)); }
public async Task <ActionResult> GetPreferences(GetPreferencesViewModel model, CancellationToken cancellationToken) { EnsureModalStateIsValid(); var request = Mapper .Map <GetPreferencesViewModel, GetPreferencesRequest>(model); var response = await Mediator.Send(request, cancellationToken); return(await HandleResponse(response, cancellationToken)); }
public ActionResult GetCuisinePreferences() { GetPreferencesViewModel preferencesViewModel = new GetPreferencesViewModel(); var currentUser = db.Users.Find(System.Web.HttpContext.Current.User.Identity.GetUserId()); preferencesViewModel.User = currentUser; string currentUserCity = cityIdResolver.Resolve(currentUser); var client = new WebClient(); client.Headers.Add("user-key", "d846616ebd6c5c018f6cd8fd36a6fb68"); var response = client.DownloadString("https://developers.zomato.com/api/v2.1/cuisines?city_id=" + currentUserCity); var cuisineResults = new JavaScriptSerializer().Deserialize <CuisineResultResponse>(response); foreach (Cuisines cuisine in cuisineResults.Cuisines) { Cuisine cuisineToAdd = cuisine.Cuisine; preferencesViewModel.AvailableCuisines.Add(cuisineToAdd); } foreach (UserToCuisine cuisine in db.UserToCuisines) { for (int i = 0; i <= preferencesViewModel.AvailableCuisines.Count - 1; i++) { if (cuisine.UserId == preferencesViewModel.User.Id && cuisine.CuisineName == preferencesViewModel.AvailableCuisines[i].Cuisine_Name) { preferencesViewModel.AvailableCuisines.RemoveAt(i); i--; } } } foreach (UserToCuisine cuisine in db.UserToCuisines) { if (cuisine.UserId == preferencesViewModel.User.Id) { preferencesViewModel.PreferredCuisines.Add(cuisine); } } return(View(preferencesViewModel)); }