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