in src/Relecloud.Web.CallCenter.Api/Controllers/ConcertController.cs [59:89]
public async Task<IActionResult> CreateAsync(Concert model)
{
try
{
if (!ModelState.IsValid)
{
return BadRequest(new CreateResult
{
Success = false,
ErrorMessages = ModelState.ConvertToErrorMessages()
});
}
else if (model.IsVisible && !await AreTicketsAvailableAsync(model.Id))
{
return BadRequest(new CreateResult
{
Success = false,
ErrorMessages = ModelState.ServerError("Cannot make a concert visible if tickets are not available for sale")
});
}
var newConcertResult = await this.concertRepository.CreateConcertAsync(model);
return CreatedAtRoute("GetConcertById", new { id = newConcertResult.NewId }, model);
}
catch (Exception ex)
{
this.logger.LogError(ex, "Unhandled exception from ConcertController.CreateAsync");
return Problem("Unable to Create the concert");
}
}