예제 #1
0
        public IActionResult DeleteFromJoinTable(int id)
        {
            var      userId    = this.User.FindFirst(ClaimTypes.NameIdentifier)?.Value;
            UserBeer foundBeer = _db.UsersBeers.Where(entry => entry.BeerId == id).Where(entry => entry.UserId == userId).ToList()[0];

            _db.UsersBeers.Remove(foundBeer);
            _db.SaveChanges();
            return(RedirectToAction("Beers"));
        }
예제 #2
0
        public async Task <IActionResult> AddBeer(int beerId)
        {
            var userId      = this.User.FindFirst(ClaimTypes.NameIdentifier)?.Value;
            var currentUser = await _userManager.FindByIdAsync(userId);

            UserBeer userBeer = new UserBeer(userId.ToString(), beerId);

            userBeer.User = currentUser;
            _db.UsersBeers.Add(userBeer);
            _db.SaveChanges();
            return(View("Details"));
        }
예제 #3
0
        //Add UserBeer from one of the index views
        public async Task <IActionResult> AddUserBeer(string breweryDBBeerId)
        {
            var beerURL = (APIKeys.BreweryDBAPIURL + "beer/" + breweryDBBeerId + "/?key=" + APIKeys.BreweryDBAPIKey);
            HttpResponseMessage response = await client.GetAsync(beerURL);

            response.EnsureSuccessStatusCode();
            string responseBody = await response.Content.ReadAsStringAsync();

            var beer = JsonConvert.DeserializeObject <JObject>(responseBody);

            UserBeer userBeer = new UserBeer();

            userBeer.BreweryDBBeerId = breweryDBBeerId;
            var name = beer["data"]["name"];

            userBeer.Name = name.ToObject <string>();
            if (beer["data"]["abv"] != null)
            {
                var abv = beer["data"]["abv"];
                userBeer.Abv = abv.ToObject <double>();
            }
            if (beer["data"]["ibu"] != null)
            {
                var ibu = beer["data"]["ibu"];
                userBeer.Ibu = ibu.ToObject <double>();
            }
            if (beer["data"]["style"] != null)
            {
                var styleId = beer["data"]["style"]["id"];
                if (styleId != null)
                {
                    userBeer.StyleId = styleId.ToObject <int>();
                }
                var style = beer["data"]["style"]["name"];
                if (style != null)
                {
                    userBeer.StyleName = style.ToObject <string>();
                }
            }
            var description = beer["data"]["description"];

            if (description != null)
            {
                userBeer.Description = description.ToObject <string>();
            }

            string findBeerBreweryURL        = (APIKeys.BreweryDBAPIURL + "beer/" + breweryDBBeerId + "/breweries/?key=" + APIKeys.BreweryDBAPIKey);
            HttpResponseMessage thisResponse = await client.GetAsync(findBeerBreweryURL);

            thisResponse.EnsureSuccessStatusCode();
            string thisBreweryResponseBody = await thisResponse.Content.ReadAsStringAsync();

            var thisBreweryResult = JsonConvert.DeserializeObject <JObject>(thisBreweryResponseBody);

            var brewereyName = thisBreweryResult["data"][0]["name"];

            userBeer.BreweryName = brewereyName.ToObject <string>();

            string userId       = User.FindFirst(ClaimTypes.NameIdentifier).Value;
            User   loggedInUser = _context.User.Where(u => u.IdentityUserId == userId).SingleOrDefault();

            userBeer.UserId = loggedInUser.Id;

            _context.Add(userBeer);
            await _context.SaveChangesAsync();

            return(RedirectToAction("EditUserBeers"));
        }