Пример #1
0
        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));
        }
Пример #2
0
        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));
        }
Пример #3
0
        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));
        }