public async Task <IActionResult> ExcluirTipoSituacaoAcomodacao(int id_TipoSituacaoAcomodacao)
        {
            if (id_TipoSituacaoAcomodacao < 1)
            {
                return(BadRequest());
            }

            var tipoSituacaoAcomodacaoToDelete = _configuracaoContext.TipoSituacaoAcomodacaoItems
                                                 .OfType <TipoSituacaoAcomodacaoItem>()
                                                 .SingleOrDefault(c => c.Id_TipoSituacaoAcomodacao == id_TipoSituacaoAcomodacao);

            if (tipoSituacaoAcomodacaoToDelete is null)
            {
                return(BadRequest());
            }

            _configuracaoContext.TipoSituacaoAcomodacaoItems.Remove(tipoSituacaoAcomodacaoToDelete);

            //Create Integration Event to be published through the Event Bus
            var TipoSituacaoAcomodacaoExclusaoEvent = new TipoSituacaoAcomodacaoExclusaoIE(tipoSituacaoAcomodacaoToDelete.Id_TipoSituacaoAcomodacao);

            // Achieving atomicity between original Catalog database operation and the IntegrationEventLog thanks to a local transaction
            await _configuracaoIntegrationEventService.DeleteEventAndTipoSituacaoAcomodacaoContextChangesAsync(TipoSituacaoAcomodacaoExclusaoEvent);

            // Publish through the Event Bus and mark the saved event as published
            await _configuracaoIntegrationEventService.PublishThroughEventBusAsync(TipoSituacaoAcomodacaoExclusaoEvent);

            return(CreatedAtAction(nameof(ExcluirTipoSituacaoAcomodacao), null));
        }