public async Task <IActionResult> SalvarTipoSituacaoAcomodacao([FromBody] TipoSituacaoAcomodacaoItem tipoSituacaoAcomodacaoToSave)
        {
            //AREA DE VALIDACAO
            string msgRule = "";

            if (!ruleValidaNomeTipoSituacaoAcomodacao(tipoSituacaoAcomodacaoToSave.Nome_TipoSituacaoAcomodacao, ref msgRule))
            {
                return(BadRequest(msgRule));
            }

            //FIM AREA DE VALIDACAO

            if (_configuracaoContext.Set <TipoSituacaoAcomodacaoItem>().Any(e => e.Id_TipoSituacaoAcomodacao == tipoSituacaoAcomodacaoToSave.Id_TipoSituacaoAcomodacao))
            {
                _configuracaoContext.TipoSituacaoAcomodacaoItems.Update(tipoSituacaoAcomodacaoToSave);
            }
            else
            {
                _configuracaoContext.TipoSituacaoAcomodacaoItems.Add(tipoSituacaoAcomodacaoToSave);
            }

            //Create Integration Event to be published through the Event Bus
            var tipoSituacacoAcomodacaoSaveEvent = new TipoSituacaoAcomodacaoSaveIE(tipoSituacaoAcomodacaoToSave.Id_TipoSituacaoAcomodacao, tipoSituacaoAcomodacaoToSave.Nome_TipoSituacaoAcomodacao);

            try
            {
                // Achieving atomicity between original Catalog database operation and the IntegrationEventLog thanks to a local transaction
                await _configuracaoIntegrationEventService.SaveEventAndTipoSituacaoAcomodacaoContextChangesAsync(tipoSituacacoAcomodacaoSaveEvent, tipoSituacaoAcomodacaoToSave);
            }
            catch (Exception e)
            {
                //Validações das CONSTRAINTS do BANCO
                if (ruleValidaNomeTipoSituacaoAcomodacaoUnique(e.Message, ref msgRule))
                {
                    return(BadRequest(msgRule));
                }
                else
                {
                    return(BadRequest(e.Message));
                }
            }
            // Publish through the Event Bus and mark the saved event as published
            await _configuracaoIntegrationEventService.PublishThroughEventBusAsync(tipoSituacacoAcomodacaoSaveEvent);


            return(CreatedAtAction(nameof(SalvarTipoSituacaoAcomodacao), tipoSituacaoAcomodacaoToSave.Id_TipoSituacaoAcomodacao));
        }