Example #1
0
        /// <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);
            }
        }
Example #2
0
        /// <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);
            }
        }