/// <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); } }