internal async Task <Result> AddBeer(int id)
        {
            UnTapped unTapped = new UnTapped();

            UnTappedBeerInfo.Root info = await unTapped.GetBeerInfo(id);

            dal.AddUnTappedBeer(info);
            return(new Result());
        }
        internal async Task <string> AddBeers(string query)
        {
            TasterDal dal      = new TasterDal();
            UnTapped  unTapped = new UnTapped();

            UnTappedBeerSearch.Root result = await unTapped.SearchUnTapped(query);

            foreach (var res in result.response.beers.items)
            {
                UnTappedBeerInfo.Root info = unTapped.GetBeerInfo(res.beer.bid).Result;
                dal.AddUnTappedBeer(info);
            }
            return("Vei");
        }
Esempio n. 3
0
        internal void AddUnTappedBeer(UnTappedBeerInfo.Root info)
        {
            UnTappedBeerInfo.Beer beer      = info.response.beer;
            List <BeverageType>   types     = GetBeverageTypes();
            BeverageType          typeToAdd = new BeverageType();
            int typeId = -1;

            if (!types.Any(a => a.Name == beer.beer_style))
            {
                typeToAdd = new BeverageType()
                {
                    Name         = beer.beer_style,
                    DisplayOrder = 0
                };
            }
            else
            {
                typeId = types.FirstOrDefault(a => a.Name == beer.beer_style).Id;
            }

            int            breweryId    = -1;
            List <Brewery> breweries    = GetAllBreweries();
            Brewery        breweryToAdd = new Brewery();

            if (!breweries.Any(a => a.Id == beer.brewery.brewery_id))
            {
                breweryToAdd = new Brewery()
                {
                    City      = beer.brewery.location.brewery_city,
                    Country   = beer.brewery.country_name,
                    DateAdded = DateTime.Now,
                    Facebook  = beer.brewery.contact.facebook,
                    Id        = beer.brewery.brewery_id,
                    Logo      = beer.brewery.brewery_label,
                    Name      = beer.brewery.brewery_name,
                    Twitter   = beer.brewery.contact.twitter,
                    WebPage   = beer.brewery.contact.url
                };
            }
            else
            {
                breweryId = beer.brewery.brewery_id;
            }

            if (!context.Beverages.Any(a => a.Id == beer.bid))
            {
                Beverage beverageToAdd = new Beverage()
                {
                    Accepted          = true,
                    AlcoholPercentage = Convert.ToDecimal(beer.beer_abv),
                    MajorGroup        = 1,
                    DateCreated       = DateTime.Now,
                    Description       = beer.beer_description,
                    IBU           = beer.beer_ibu,
                    Id            = beer.bid,
                    IpAddress     = "",
                    LableMed      = beer.beer_label_hd,
                    LableSm       = beer.beer_label,
                    Name          = beer.beer_name,
                    UtappedRating = Convert.ToDecimal(beer.rating_score)
                };

                if (typeId != -1)
                {
                    beverageToAdd.Type = typeId;
                }
                else
                {
                    beverageToAdd.BeverageType = typeToAdd;
                    Cache.InvalidateCacheFor("GetBeverageTypes");
                }

                if (breweryId != -1)
                {
                    beverageToAdd.BreweryId = breweryId;
                }
                else
                {
                    beverageToAdd.Brewery = breweryToAdd;
                    Cache.InvalidateCacheFor("GetAllBreweries");
                }

                if (beer.media.items.Any())
                {
                    beverageToAdd.ImageUrlSm  = beer.media.items.FirstOrDefault().photo.photo_img_sm;
                    beverageToAdd.ImageUrlMed = beer.media.items.FirstOrDefault().photo.photo_img_md;
                }
                context.Beverages.InsertOnSubmit(beverageToAdd);
                context.SubmitChanges();
            }
        }