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

            var checklistItemChecklistToDelete = _configuracaoContext.ChecklistItemChecklistItems
                                                 .OfType <ChecklistItemChecklistItem>()
                                                 .SingleOrDefault(c => c.Id_Checklist == Id_Checklist && c.Id_ItemChecklist == Id_ItemChecklist);

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

            _configuracaoContext.ChecklistItemChecklistItems.Remove(checklistItemChecklistToDelete);

            //Create Integration Event to be published through the Event Bus
            var ChecklistItemChecklistExclusaoEvent = new ChecklistItemChecklistExclusaoIE(checklistItemChecklistToDelete.Id_Checklist, checklistItemChecklistToDelete.Id_ItemChecklist);

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

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

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