in App/src/Events-TenantUserApp/Controllers/FindSeatsController.cs [91:117]
public async Task<ActionResult> GetAvailableSeats(string tenant, int sectionId, int eventId)
{
try
{
var tenantDetails = (_catalogRepository.GetTenant(tenant)).Result;
if (tenantDetails != null)
{
SetTenantConfig(tenantDetails.TenantId, tenantDetails.TenantIdInString);
var sectionDetails = await _tenantRepository.GetSection(sectionId, tenantDetails.TenantId);
var totalNumberOfSeats = sectionDetails.SeatRows * sectionDetails.SeatsPerRow;
var ticketsSold = await _tenantRepository.GetTicketsSold(sectionId, eventId, tenantDetails.TenantId);
var availableSeats = totalNumberOfSeats - ticketsSold;
return Content(availableSeats.ToString());
}
else
{
return View("TenantError", tenant);
}
}
catch (Exception ex)
{
_logger.LogError(0, ex, "GetAvailableSeats failed for tenant {tenant} and event {eventId}", tenant, eventId);
return Content("0");
}
}