public async Task DeleteAsync()

in src/Relecloud.Web.CallCenter.Api/Controllers/ConcertController.cs [152:187]


        public async Task<IActionResult> DeleteAsync(int id)
        {
            try
            {
                var concert = await this.concertRepository.GetConcertByIdAsync(id);

                if (concert == null)
                {
                    return NotFound();
                }
                else if (concert.IsVisible)
                {
                    return BadRequest(new DeleteResult
                    {
                        Success = false,
                        ErrorMessages = ModelState.ServerError("Visible concerts cannot be deleted")
                    });
                }
                else if (await HaveTicketsBeenSoldAsync(concert.Id))
                {
                    return BadRequest(new DeleteResult
                    {
                        Success = false,
                        ErrorMessages = ModelState.ServerError("Cannot delete a concert that has sold tickets")
                    });
                }

                await this.concertRepository.DeleteConcertAsync(id);
                return Ok();
            }
            catch (Exception ex)
            {
                this.logger.LogError(ex, "Unhandled exception from ConcertController.DeleteAsync");
                return Problem("Unable to Delete the concert");
            }
        }