/// <summary> /// Deletes specified record of brewery /// </summary> /// <param name="id">Id of record</param> /// <returns>Bool</returns> public async Task <bool> DeleteAsync(int?id) { try { var brewery = await _context.Breweries.Include(b => b.Beers).FirstAsync(b => b.ID == id) ?? throw new ArgumentNullException("Brewery not found."); brewery.IsDeleted = true; brewery.DeletedOn = brewery.ModifiedOn = DateTime.UtcNow; foreach (var beer in brewery.Beers) { var newBeerService = new BeerService(this._context); await newBeerService.DeleteAsync(beer.ID); } _context.Breweries.Update(brewery); _context.SaveChanges(); return(true); } catch (Exception) { return(false); } }
/// <summary> /// Deletes specified record of beer style /// </summary> /// <param name="id">Id of record</param> /// <returns>Bool</returns> public async Task <bool> DeleteAsync(int?id) { try { var beerStyle = await this._context.BeerStyles.FindAsync(id) ?? throw new ArgumentNullException("Style not found."); beerStyle.IsDeleted = true; beerStyle.ModifiedOn = beerStyle.DeletedOn = DateTime.UtcNow; var beersOfStyle = await _context.Beers.ToListAsync(); foreach (var beer in beersOfStyle) { var newBeerService = new BeerService(this._context); await newBeerService.DeleteAsync(beer.ID); } this._context.Update(beerStyle); await this._context.SaveChangesAsync(); return(true); } catch (Exception) { return(false); } }
public void BeerService_RemoveExistingBeer_DeleteBeer() { string brewery = "Zeppelin Brews"; string beerName = "Hammer of the Gods"; IRepository<Beer> repository = new CouchbaseRepository<Beer>(); var beerService = new BeerService(repository); // Insert single beer var newBeer = new Beer { Name = beerName, Description = "This beer packs a wallop!", Brewery = brewery, ABV = 15 }; beerService.InsertBeer(newBeer); var beer = beerService.GetBeer(brewery, beerName); Assert.IsNotNull(beer); beerService.RemoveBeer(brewery, beerName); beer = beerService.GetBeer(brewery, beerName); Assert.IsNull(beer); }
public void BeerService_ValidBeerRequested_ReturnBeer() { string brewery = "Flying Pig Brewery"; string beerName = "Sucking on Wind"; IRepository<Beer> repository = new CouchbaseRepository<Beer>(); var beerService = new BeerService(repository); var beer = beerService.GetBeer(brewery, beerName); Assert.IsNotNull(beer); }
public void BeerService_InvalidBeerRequested_ReturnNull() { IRepository<Beer> repository = new CouchbaseRepository<Beer>(); var beerService = new BeerService(repository); string brewery = "Kool Aid"; string name = "Grape"; var beer = beerService.GetBeer(brewery, name); Assert.IsNull(beer); }
public void Setup() { IRepository<Beer> repository = new CouchbaseRepository<Beer>(); var beerService = new BeerService(repository); // Insert single beer var beer = new Beer { Name = "Sucking on Wind", Description = "A perfect beer to imbibe after a race", Brewery = "Flying Pig Brewery", ABV = 10 }; beerService.InsertBeer(beer); // Insert multiple beers var beers = new List<Beer>(); var beer1 = new Beer { Name = "Loose Seal", Description = "A hoppy IPA from the west coast", Brewery = "Bluth Brews", ABV = 7 }; beers.Add(beer1); var beer2 = new Beer { Name = "Illusions", Description = "A deceptively tasty pale ale from the west coast", Brewery = "Bluth Brews", ABV = 8 }; beers.Add(beer2); beerService.InsertBeers(beers); }