public async Task <IActionResult> ExcluirFluxoAutomaticoCheck(int Id_Checklist, int Id_TipoSituacaoAcomodacao, int Id_ItemChecklist, int Id_TipoAtividadeAcomodacao)
        {
            if (Id_Checklist < 1 || Id_TipoSituacaoAcomodacao < 1 || Id_ItemChecklist < 1 || Id_TipoAtividadeAcomodacao < 1)
            {
                return(BadRequest());
            }

            var fluxoAutomaticoCheckToDelete = _configuracaoContext.FluxoAutomaticoCheckItems
                                               .OfType <FluxoAutomaticoCheckItem>()
                                               .SingleOrDefault(c => c.Id_Checklist == Id_Checklist &&
                                                                c.Id_TipoSituacaoAcomodacao == Id_TipoSituacaoAcomodacao &&
                                                                c.Id_TipoAtividadeAcomodacao == Id_TipoAtividadeAcomodacao &&
                                                                c.Id_ItemChecklist == Id_ItemChecklist);

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

            _configuracaoContext.FluxoAutomaticoCheckItems.Remove(fluxoAutomaticoCheckToDelete);

            //Create Integration Event to be published through the Event Bus
            var FluxoAutomaticoCheckExclusaoEvent = new FluxoAutomaticoCheckExcluirIE(
                fluxoAutomaticoCheckToDelete.Id_Checklist,
                fluxoAutomaticoCheckToDelete.Id_TipoSituacaoAcomodacao,
                fluxoAutomaticoCheckToDelete.Id_ItemChecklist,
                fluxoAutomaticoCheckToDelete.Id_TipoAtividadeAcomodacao);


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

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

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