// GET api/SearchBeer
        public async Task<List<Brewery>> Get(string keyword)
        {
            tracer.Info(string.Format("Search brewery call with keyword {0}",keyword));
            var rv = new List<Brewery>();

            if (!BreweryDBHelper.InsureBreweryDbIsInitialized(settings, tracer))
                return rv;

            try
            {
                var results = await new BreweryDB.BreweryDBClient().SearchForBeer(keyword);
                if (results != null && results.Any())
                {
                    foreach (var r in results)
                    {
                        var brewery = new Brewery 
                        { 
                             Id=r.Id,
                             Name=r.Name,
                             Description=r.Description
                        };
                        rv.Add(brewery);
                    }
                }
            }
            catch (Exception ex)
            {
                tracer.Error(ex.Message);
            }

            return rv;
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Create([Bind("BreweryId,FirstName,LastName,BusinessName,ZipCode,Email,IdentityUserId")] Brewery brewery)
        {
            if (ModelState.IsValid)
            {
                brewery.IdentityUserId = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
                _context.Add(brewery);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["IdentityUserId"] = new SelectList(_context.Users, "Id", "Id", brewery.IdentityUserId);
            return(View("Index"));
        }
Ejemplo n.º 3
0
        public Brewery CreateNewBrewery(string name = null, string address = null, int year = 1995, string city = null, string imageUrl = null)
        {
            var brewery = new Brewery
            {
                Name             = name ?? Guid.NewGuid().ToString(),
                Address          = address ?? "someplace",
                YearOfFoundation = year,
                City             = city ?? "Sebes",
                ImageUrl         = imageUrl
            };

            return(brewery);
        }
Ejemplo n.º 4
0
        public ActionResult <Brewery> GetBrewery(int id)
        {
            Brewery existingBrewery = breweryDAO.GetBrewery(id);

            if (existingBrewery != null)
            {
                return(Ok(existingBrewery));
            }
            else
            {
                return(NotFound("Brewery not found"));
            }
        }
Ejemplo n.º 5
0
 public ActionResult Create([Bind(Include = "Name,Phone,Description,Street,PostalCode,City,CountryID")] Brewery brewery, HttpPostedFileBase file)
 {
     if (ModelState.IsValid)
     {
         brewery.ImageUrl = FileUpload(file);
         db.Breweries.Add(brewery);
         db.SaveChanges();
         PopulateCountriesDropDownList(brewery.CountryID);
         return(RedirectToAction("Index"));
     }
     PopulateCountriesDropDownList(brewery.CountryID);
     return(View(brewery));
 }
        /// <summary>
        /// Update a brewery
        /// </summary>
        /// <param name="brewery">int ID of brewery</param>
        public void Update(Brewery brewery)
        {
            var index = this.breweries.FindIndex(a => a.ID == brewery.ID);

            if (index != -1)
            {
                this.breweries[index] = brewery;
            }
            else
            {
                throw new ArgumentException("BreweryNotFound");
            }
        }
Ejemplo n.º 7
0
        public UpdateResult UpdateBrewery(string id, Brewery brewery)
        {
            var brewId     = new ObjectId(id);
            var collection = db.GetCollection <Brewery>("breweries");

            var filter = Builders <Brewery> .Filter.Eq("_id", brewId);

            var update = Builders <Brewery> .Update.Set("address", brewery.Address)
                         .Set("name", brewery.Name)
                         .Set("url", brewery.Url);

            return(collection.UpdateOne(filter, update));
        }
 public BreweryViewModel(Brewery brewery)
 {
     Name        = brewery.Name;
     City        = brewery.City;
     State       = brewery.State;
     Code        = brewery.Code;
     Country     = brewery.Country;
     Phone       = brewery.Phone;
     Website     = brewery.Website;
     Description = brewery.Description;
     Address     = brewery.Address == null ? "" : brewery.Address.FirstOrDefault();
     Geo         = brewery.Geo ?? new Geo();
 }
Ejemplo n.º 9
0
 private bool MatchesSearch(Brewery brewery, SearchBreweryDTO searchData)
 {
     if (!String.IsNullOrWhiteSpace(searchData.Name))
     {
         if (!brewery.Name.ToLower().Contains(searchData.Name.ToLower()))
         {
             return(false);
         }
     }
     return(((searchData.Type != null && brewery.Type != searchData.Type) ||
             (searchData.Country != null && brewery.Country != searchData.Country) ||
             brewery.YearEst < searchData.YearEstMin ||
             brewery.YearEst > searchData.YearEstMax) ? false : true);
 }
Ejemplo n.º 10
0
        public void MapBreweryToDTO_ShouldReturnCorrectID()
        {
            //Arrange
            var but = new Brewery
            {
                ID      = 1,
                Country = new Country()
            };
            //Act
            var sut = but.MapBreweryToDTO();

            //Assert
            Assert.AreEqual(sut.ID, 1);
        }
Ejemplo n.º 11
0
        public void ToBreweryDto_GivenValidBreweryWithAListOfBeers_ReturnsMappedBreweryDto()
        {
            // Arrange
            var breweryToMap = new Brewery
            {
                Id      = 1,
                Name    = "Test Brewery",
                Address = new Address
                {
                    City          = "Redding",
                    State         = "CA",
                    ZipCode       = "96002",
                    StreetAddress = "123 Redding St."
                }
            };

            // Add our beers since they are initialized within the domain
            breweryToMap.Beers.Add(new Beer {
                Id = 1, Name = "Test Beer 1", BeerStyle = BeerStyle.Lager
            });
            breweryToMap.Beers.Add(new Beer {
                Id = 2, Name = "Test Beer 2", BeerStyle = BeerStyle.Ipa
            });
            breweryToMap.Beers.Add(new Beer {
                Id = 3, Name = "Test Beer 3", BeerStyle = BeerStyle.DoubleIpa
            });

            // Act
            var mappedBrewery = breweryToMap.ToBreweryDto();

            // Assert
            mappedBrewery.ShouldNotBeNull();
            mappedBrewery.Id.ShouldBe(breweryToMap.Id);
            mappedBrewery.Name.ShouldBe(breweryToMap.Name);
            mappedBrewery.Address?.ShouldNotBeNull();
            mappedBrewery.Address?.City.ShouldBe(breweryToMap.Address?.City);
            mappedBrewery.Address?.State.ShouldBe(breweryToMap.Address?.State);
            mappedBrewery.Address?.StreetAddress.ShouldBe(breweryToMap.Address?.StreetAddress);
            mappedBrewery.Address?.ZipCode.ShouldBe(breweryToMap.Address?.ZipCode);
            mappedBrewery.Beers.ShouldNotBeNull();
            mappedBrewery.Beers.ShouldNotBeEmpty();
            mappedBrewery.Beers.First(b => b.Id == 1).Name.ShouldBe("Test Beer 1");
            mappedBrewery.Beers.First(b => b.Id == 1).Style.ShouldBe("Lager");
            mappedBrewery.Beers.First(b => b.Id == 2).Name.ShouldBe("Test Beer 2");
            mappedBrewery.Beers.First(b => b.Id == 2).Style.ShouldBe("Ipa");
            mappedBrewery.Beers.First(b => b.Id == 3).Name.ShouldBe("Test Beer 3");
            mappedBrewery.Beers.First(b => b.Id == 3).Style.ShouldBe("DoubleIpa");
            mappedBrewery.BeerCount.ShouldNotBeNull();
            mappedBrewery.BeerCount.ShouldBe(3);
        }
Ejemplo n.º 12
0
        public void Add_beer_that_already_exists_should_return_an_error()
        {
            var brewery = new Brewery(BreweryName.Create("Abbaye de Leffe").Value);

            brewery.AddBeer(BeerName.Create("Leffe Blonde").Value,
                            BeerPrice.Create(2.55m).Value,
                            BeerAlcoholDegree.Create(5.5m).Value);

            Result <Brewery> breweryResult = brewery.AddBeer(BeerName.Create("Leffe Blonde").Value,
                                                             BeerPrice.Create(2.55m).Value,
                                                             BeerAlcoholDegree.Create(5.5m).Value);

            breweryResult.IsFailure.ShouldBeTrue();
        }
Ejemplo n.º 13
0
        public async Task <bool> AddBrewery(Brewery brewery)
        {
            if (brewery == null)
            {
                return(false);
            }

            if (await _breweryRepository.AddAsyn(brewery) == null)
            {
                return(false);
            }

            return(true);
        }
Ejemplo n.º 14
0
        public void DeleteAll_DeletesAllBreweriesFromDatabase_BreweryList()
        {
            Brewery newBrewery1 = new Brewery("Enegren", "Moorpark", "CA");
            Brewery newBrewery2 = new Brewery("Elysian", "Seattle", "WA");

            newBrewery1.Save();
            newBrewery2.Save();
            Brewery.DeleteAll();
            List <Brewery> testList = new List <Brewery> {
            };
            List <Brewery> result   = Brewery.GetAll();

            CollectionAssert.AreEqual(testList, result);
        }
Ejemplo n.º 15
0
        public Brewery GetBrewery(int id)
        {
            Brewery brewery = null;

            try
            {
                using (SqlConnection conn = new SqlConnection(connectionString))
                {
                    conn.Open();
                    var query = $"SELECT breweries.id AS brewery_id, breweries.description AS brewery_description, breweries.address_1, breweries.address_2, breweries.address_city, breweries.bar, breweries.brewery, breweries.established_date, breweries.happyhour_start, breweries.happyhour_end, breweries.happyhour_details, breweries.name AS brewery_name, beers.id AS beer_id, breweries.address_zip, beers.name AS beer_name, abv, image_url, BeerTypes.name AS beertype_name, BeerTypes.id AS beertype_id FROM breweries JOIN breweries_beers ON breweries.id = breweries_beers.brewery_id JOIN beers ON breweries_beers.beer_id = beers.id JOIN beers_beertypes ON beers.id = beers_beertypes.beer_id JOIN beertypes ON beertypes.id = Beers_BeerTypes.beertype_id WHERE brewery_id = @id";
                    //SqlCommand cmd = new SqlCommand("SELECT breweries.id AS brewery_id, breweries.description AS brewery_description, breweries.address_1, breweries.address_2, breweries.address_city, breweries.bar, breweries.brewery, breweries.established_date, breweries.happyhour_start, breweries.address_zip, breweries.happyhour_end, breweries.happyhour_details, breweries.name AS brewery_name  FROM breweries WHERE id = @id", conn);
                    SqlCommand cmd = new SqlCommand(query, conn);
                    cmd.Parameters.AddWithValue("@id", id);

                    var reader = cmd.ExecuteReader();

                    while (reader.Read())
                    {
                        if (brewery == null)
                        {
                            brewery = MapRowToBrewery(reader, true);
                        }
                        else
                        {
                            // see if the beer already exists
                            var currentBeer = RowToBeer(reader);
                            if (!brewery.BeersServed.Any(item => item.BeerId == currentBeer.BeerId))
                            {
                                brewery.BeersServed.Add(currentBeer);
                            }
                            else
                            {
                                // see if the beer type already exists
                                var currentBeerType = RowToBeerType(reader);
                                if (!currentBeer.BeerTypes.Any(item => item.BeerTypeId == currentBeerType.BeerTypeId))
                                {
                                    currentBeer.BeerTypes.Add(currentBeerType);
                                }
                            }
                        }
                    }
                }

                return(brewery);
            }
            catch (SqlException ex)
            {
                throw ex;
            }
        }
        public async Task UpdateBeer_If_BeerExist()
        {
            var options      = TestUtils.GetOptions(nameof(UpdateBeer_If_BeerExist));
            var mockDateTime = new Mock <IDateTimeProvider>();
            var country      = new Country
            {
                Name = "Romania"
            };
            var brewery = new Brewery
            {
                Name      = "Kamenitza",
                CountryId = 1
            };
            var style = new Style
            {
                Name = "Pale"
            };

            var beer = new Beer
            {
                Name      = "Ariana",
                Abv       = 4,
                CountryId = 1,
                BreweryId = 1,
                StyleId   = 1,
            };

            using (var arrangeContext = new BeeroverflowContext(options))
            {
                await arrangeContext.Countries.AddAsync(country);

                await arrangeContext.Breweries.AddAsync(brewery);

                await arrangeContext.Styles.AddAsync(style);

                await arrangeContext.Beers.AddAsync(beer);

                await arrangeContext.SaveChangesAsync();
            }

            //Act and Assert
            using (var assertContext = new BeeroverflowContext(options))
            {
                var sut    = new BeerService(assertContext, mockDateTime.Object);
                var result = await sut.UpdateBeerAsync(1, "Kamenitza", 5.0);

                Assert.AreEqual("Kamenitza", result.Name);
                Assert.AreEqual(5.0, result.Abv);
            }
        }
Ejemplo n.º 17
0
        public async Task <IActionResult> Create([Bind("BreweryName,Location")] Brewery brewery)
        {
            if (!_common.BreweryExists(brewery.Id))
            {
                if (ModelState.IsValid)
                {
                    _context.Add(brewery);
                    await _context.SaveChangesAsync();

                    return(RedirectToAction(nameof(Index)));
                }
            }
            return(View(brewery));
        }
Ejemplo n.º 18
0
        public IList <Brewery> GetAllByQuery(int?zip, string brewOrBar, string happyHour, string name, string userLat, string userLng, int?range, string beerName)
        {
            IList <Brewery> breweries = new List <Brewery>();
            bool            isBar     = brewOrBar != "brewery";
            bool            isBrewery = brewOrBar != "bar";
            string          sql       = "select distinct br.* from breweries br left join beers_breweries bb ON br.id=bb.brewery_id left JOIN beers b ON b.id = bb.beer_id where  (@zip = 0 or zip = @zip) and isbar = @bar and isbrewery = @brewery and br.name like @name and (@happyHour = '00:00' or (@happyHour <= happyHourTo and @happyHour >= happyHourFrom)) and (@beerName='%%' or b.name LIKE @beerName)";

            //" group by br.id, br.name, br.happyHourFrom, br.happyHourTo, br.established, br.address, br.city, br.state, br.zip, br.latitude, br.longitude, br.siteURL, br.description, br.isBar, br.isBrewery, br.imgSrc";

            if (range != 0)
            {
                sql = "declare @source geography = 'Point(' + @lng + ' ' + @lat + ')'" +
                      " select distinct br.* from breweries br left join beers_breweries bb ON br.id=bb.brewery_id left JOIN beers b ON b.id = bb.beer_id where (@zip = 0 or zip = @zip) and isbar = @bar and isbrewery = @brewery and br.name like @name and (@happyHour = '00:00' or (@happyHour <= happyHourTo and @happyHour >= happyHourFrom))" +
                      " and (@range = 0 or @source.STDistance('Point(' + cast(br.longitude as nvarchar(25)) + ' ' + cast(br.latitude as nvarchar(25)) + ')') * 0.000621371 <= @range) and (@beerName='%%' or b.name LIKE @beerName)";
                //" group by br.id, br.name, br.happyHourFrom, br.happyHourTo, br.established, br.address, br.city, br.state, br.zip, br.latitude, br.longitude, br.siteURL, br.description, br.isBar, br.isBrewery, br.imgSrc";
            }

            try
            {
                using (SqlConnection conn = new SqlConnection(this.connectionString))
                {
                    conn.Open();

                    SqlCommand cmd = new SqlCommand(sql, conn);

                    cmd.Parameters.AddWithValue("@zip", zip);
                    cmd.Parameters.AddWithValue("@bar", isBar);
                    cmd.Parameters.AddWithValue("@brewery", isBrewery);
                    cmd.Parameters.AddWithValue("@name", '%' + name + '%');
                    cmd.Parameters.AddWithValue("@happyHour", happyHour);
                    cmd.Parameters.AddWithValue("@lat", userLat.ToString());
                    cmd.Parameters.AddWithValue("@lng", userLng.ToString());
                    cmd.Parameters.AddWithValue("@range", range);
                    cmd.Parameters.AddWithValue("@beerName", '%' + beerName + '%');
                    SqlDataReader reader = cmd.ExecuteReader();

                    while (reader.Read())
                    {
                        Brewery brewery = ConvertReaderToBrewery(reader);
                        breweries.Add(brewery);
                    }
                }
            }
            catch (SqlException ex)
            {
                throw;
            }

            return(breweries);
        }
        public ActionResult UpdateBrewery(int id)
        {
            List <Brewery> breweries       = (List <Brewery>)Session["Breweries"];
            Brewery        breweryToUpdate = null;

            foreach (Brewery brewery in breweries)
            {
                if (brewery.ID == id)
                {
                    breweryToUpdate = brewery;
                }
            }
            return(View(breweryToUpdate));
        }
Ejemplo n.º 20
0
        public void CreateValid()
        {
            // arrange
            Brewery a = new Brewery
            {
                Name = "New Brewery"
            };

            // act
            var actual = (RedirectToRouteResult)controller.Create(a);

            // assert
            Assert.AreEqual("Index", actual.RouteValues["action"]);
        }
        // GET: Breweries/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Brewery brewery = db.Breweries.Find(id);

            if (brewery == null)
            {
                return(HttpNotFound());
            }
            return(View(brewery));
        }
Ejemplo n.º 22
0
 private void DeleteBrewaryByID(int ID)
 {
     for (int i = 0; i < _breweryList.Count; i++)
     {
         if (ID == _breweryList[i].BreweryID)
         {
             Brewery Brewery = _breweryList[i];
             _breweryList.RemoveAt(i);
             KatalogPiw.App.Database.DeleteBrewery(Brewery);
             notifyCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset));
             break;
         }
     }
 }
Ejemplo n.º 23
0
 public IActionResult AddBrewery([FromBody] Brewery brewery)
 {
     if (ModelState.IsValid)
     {
         int newId = breweryDAO.AddBrewery(brewery);
         brewery = breweryDAO.GetBreweryById(newId);
         // Return CreatedAtRoute to return 201
         return(CreatedAtRoute("GetBrewery", new { id = newId }, brewery));
     }
     else
     {
         return(new BadRequestObjectResult(ModelState));
     }
 }
Ejemplo n.º 24
0
        public async Task <IActionResult> PutBrewery([FromRoute] long id, [FromBody] Brewery brewery)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (String.IsNullOrEmpty(brewery.Name) ||
                String.IsNullOrEmpty(brewery.Country) ||
                !brewery.ResourceVersion.HasValue)
            {
                return(BadRequest());
            }

            if (id != brewery.Id)
            {
                brewery.Id = id;
            }

            _context.Entry(brewery).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!BreweryExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    return(Conflict());
                }
            }

            brewery.ResourceVersion++;
            _context.Entry(brewery).State = EntityState.Modified;
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                throw;
            }

            return(NoContent());
        }
Ejemplo n.º 25
0
        // GET: Breweries/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Brewery brewery = repo.Get(id);

            if (brewery == null)
            {
                return(HttpNotFound());
            }
            return(View(brewery));
        }
Ejemplo n.º 26
0
        public void Save_When_KeyAttribute_Is_Not_Defined_Throw_DocumentIdMissingException()
        {
            //arrange
            var brewery = new Brewery();
            var bucket  = new Mock <IBucket>();
            var result  = new Mock <IOperationResult <Brewery> >();

            result.Setup(x => x.Status).Returns(ResponseStatus.Success);
            bucket.Setup(x => x.Upsert(It.IsAny <string>(), It.IsAny <Brewery>())).Returns(result.Object);
            var ctx = new BucketContext(bucket.Object);

            //act-assert
            Assert.Throws <KeyAttributeMissingException>(() => ctx.Save(brewery));
        }
Ejemplo n.º 27
0
        protected override Dictionary <string, string> ResolveCore(Brewery source)
        {
            var socials = new Dictionary <string, string>();

            if (source.Socials == null)
            {
                return(socials);
            }
            foreach (var social in source.Socials)
            {
                socials.Add(social.Site, social.Url);
            }
            return(socials);
        }
Ejemplo n.º 28
0
        private bool IsBrewerInDB(ref Brewery brewery)
        {
            List <Brewery> breweries = App.Database.GetBreweries();

            for (int i = 0; i < breweries.Count; i++)
            {
                if (breweries[i].BreweryName.ToLower() == brewery.BreweryName.ToLower())
                {
                    brewery.BreweryID = breweries[i].BreweryID;
                    return(true);
                }
            }
            return(false);
        }
Ejemplo n.º 29
0
 public BeerModel(Beer beer, Brewery brewery)
 {
     ID = beer.ID;
     Name = beer.Name;
     Logo = beer.Logo;
     Style = beer.Style;
     Description = beer.Description;
     Rating = beer.Rating;
     TimesRated = beer.TimesRated;
     CheckIn = beer.CheckIn;
     ABV = beer.ABV;
     IBU = beer.IBU;
     Brewery = brewery;
 }
Ejemplo n.º 30
0
 public IActionResult UpdateBrewery(Brewery brewery)
 {
     try
     {
         _service.UpdateResource(brewery);
         Log.Information($"Successfully updated brewery {brewery.ID}");
         return(CreatedAtAction("UpdateBrewery", brewery));
     }
     catch (Exception e)
     {
         Log.Warning($"Unable to update brewery - {brewery.ID} {e.Message}");
         return(BadRequest());
     }
 }
Ejemplo n.º 31
0
 public IActionResult GetBrewery(string id)
 {
     try
     {
         Brewery brewery = _service.GetResource(id);
         Log.Information($"Successfully retrieved brewery {id}");
         return(Ok(brewery));
     }
     catch (Exception e)
     {
         Log.Warning($"Unable to retrieve brewery - {id} {e.Message}");
         return(StatusCode(500));
     }
 }
Ejemplo n.º 32
0
 public BreweryViewModel(Brewery b)
 {
     ID = b.ID;
     Name = b.Name;
     Description = b.Description ?? String.Empty;
     Address1 = b.Contact.Address.Address1 ?? String.Empty;
     Address2 = b.Contact.Address.Address2 ?? String.Empty;
     Address3 = b.Contact.Address.Address3 ?? String.Empty;
     Locality = b.Contact.Address.Locality ?? String.Empty;
     Region = b.Contact.Address.Region ?? String.Empty;
     PostalCode = b.Contact.Address.PostalCode ?? String.Empty;
     Country = b.Contact.Address.Country ?? String.Empty;
     Uri = b.Contact.Website ?? String.Empty;
     Phone = b.Contact.Phone ?? String.Empty;
 }
Ejemplo n.º 33
0
 public ActionResult Create()
 {
     var brewery = new Brewery();
     var model = brewery.CreateGame();
     return View("Index", model);
 }