public async Task <IActionResult> IncluirChecklistItemChecklist([FromBody] ChecklistItemChecklistItem checklistItemChecklistToSave)
        {
            string msgRule = "";

            _configuracaoContext.ChecklistItemChecklistItems.Add(checklistItemChecklistToSave);

            //Create Integration Event to be published through the Event Bus
            var checklistItemChecklistSaveEvent = new ChecklistItemChecklistIncluirIE(checklistItemChecklistToSave.Id_Checklist, checklistItemChecklistToSave.Id_ItemChecklist);

            try
            {
                // Achieving atomicity between original Catalog database operation and the IntegrationEventLog thanks to a local transaction
                await _configuracaoIntegrationEventService.IncluirEventAndChecklistItemChecklistContextChangesAsync(checklistItemChecklistSaveEvent);
            }
            catch (Exception e)
            {
                //Validações das CONSTRAINTS do BANCO
                if (ruleValidaChecklistItemChecklistPK(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(checklistItemChecklistSaveEvent);


            return(CreatedAtAction(nameof(IncluirChecklistItemChecklist), null));
        }
        public async Task <IActionResult> IncluirChecklistTipoSituacaoTipoAtividadeTipoAcomodacao([FromBody] ChecklistTipoSituacaoTipoAtividadeTipoAcomodacaoItem checklistTipoSituacaoTipoAtividadeTipoAcomodacaoToSave)
        {
            string msgRule = "";

            _configuracaoContext.ChecklistTipoSituacaoTipoAtividadeTipoAcomodacaoItems.Add(checklistTipoSituacaoTipoAtividadeTipoAcomodacaoToSave);

            //Create Integration Event to be published through the Event Bus
            var checklistTipoSituacaoTATAcomodacaoSaveEvent = new ChecklistTipoSituacaoTATAIncluirIE(checklistTipoSituacaoTipoAtividadeTipoAcomodacaoToSave.Id_Checklist,
                                                                                                     checklistTipoSituacaoTipoAtividadeTipoAcomodacaoToSave.Id_TipoSituacaoAcomodacao,
                                                                                                     checklistTipoSituacaoTipoAtividadeTipoAcomodacaoToSave.Id_TipoAtividadeAcomodacao,
                                                                                                     checklistTipoSituacaoTipoAtividadeTipoAcomodacaoToSave.Id_TipoAcomodacao,
                                                                                                     checklistTipoSituacaoTipoAtividadeTipoAcomodacaoToSave.Id_Empresa,
                                                                                                     checklistTipoSituacaoTipoAtividadeTipoAcomodacaoToSave.Id_CheckTSTAT);

            try
            {
                // Achieving atomicity between original Catalog database operation and the IntegrationEventLog thanks to a local transaction
                await _configuracaoIntegrationEventService.IncluirEventAndChecklistTipoSituacaoTipoAtividadeTipoAcomodacaoContextChangesAsync(checklistTipoSituacaoTATAcomodacaoSaveEvent, checklistTipoSituacaoTipoAtividadeTipoAcomodacaoToSave);
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
            // Publish through the Event Bus and mark the saved event as published
            await _configuracaoIntegrationEventService.PublishThroughEventBusAsync(checklistTipoSituacaoTATAcomodacaoSaveEvent);


            return(CreatedAtAction(nameof(IncluirChecklistTipoSituacaoTipoAtividadeTipoAcomodacao), null));
        }
コード例 #3
0
        public async Task <IActionResult> IncluirTipoSituacaoTipoAtividadeAcomodacao([FromBody] TipoSituacaoTipoAtividadeAcomodacaoItem tipoSituacaoTipoAtividadeToSave)
        {
            string msgRule = "";

            _configuracaoContext.TipoSituacaoTipoAtividadeAcomodacaoItems.Add(tipoSituacaoTipoAtividadeToSave);

            //Create Integration Event to be published through the Event Bus
            var tipoSituacaoTipoAtividadeAcomodacaoSaveEvent = new TipoSituacaoTAAIncluirIE(tipoSituacaoTipoAtividadeToSave.Id_TipoSituacaoAcomodacao, tipoSituacaoTipoAtividadeToSave.Id_TipoAtividadeAcomodacao);

            try
            {
                // Achieving atomicity between original Catalog database operation and the IntegrationEventLog thanks to a local transaction
                await _configuracaoIntegrationEventService.IncluirEventAndTipoSituacaoTipoAtividadeAcomodacaoContextChangesAsync(tipoSituacaoTipoAtividadeAcomodacaoSaveEvent);
            }
            catch (Exception e)
            {
                //Validações das CONSTRAINTS do BANCO
                if (ruleValidaTipoSituacaoTipoAtividadeAcomodacaoPK(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(tipoSituacaoTipoAtividadeAcomodacaoSaveEvent);


            return(CreatedAtAction(nameof(IncluirTipoSituacaoTipoAtividadeAcomodacao), null));
        }
コード例 #4
0
        public async Task <IActionResult> SalvarTipoAcaoAcomodacao([FromBody] TipoAcaoAcomodacaoItem tipoAcaoAcomodacaoToSave)
        {
            //AREA DE VALIDACAO
            string msgRule = "";

            if (!ruleValidaNomeTipoAcaoAcomodacao(tipoAcaoAcomodacaoToSave.Nome_TipoAcaoAcomodacao, ref msgRule))
            {
                return(BadRequest(msgRule));
            }

            if (!ruleValidaStatusTipoAcaoAcomodacao(tipoAcaoAcomodacaoToSave.Nome_Status, ref msgRule))
            {
                return(BadRequest(msgRule));
            }

            //FIM AREA DE VALIDACAO

            if (_configuracaoContext.Set <TipoAcaoAcomodacaoItem>().Any(e => e.Id_TipoAcaoAcomodacao == tipoAcaoAcomodacaoToSave.Id_TipoAcaoAcomodacao))
            {
                _configuracaoContext.TipoAcaoAcomodacaoItems.Update(tipoAcaoAcomodacaoToSave);
            }
            else
            {
                _configuracaoContext.TipoAcaoAcomodacaoItems.Add(tipoAcaoAcomodacaoToSave);
            }

            //Create Integration Event to be published through the Event Bus
            var tipoAcaoAcomodacaoSaveEvent = new TipoAcaoAcomodacaoSaveIE(tipoAcaoAcomodacaoToSave.Id_TipoAcaoAcomodacao, tipoAcaoAcomodacaoToSave.Nome_TipoAcaoAcomodacao, tipoAcaoAcomodacaoToSave.Nome_Status);

            try
            {
                // Achieving atomicity between original Catalog database operation and the IntegrationEventLog thanks to a local transaction
                await _configuracaoIntegrationEventService.SaveEventAndTipoAcaoAcomodacaoContextChangesAsync(tipoAcaoAcomodacaoSaveEvent, tipoAcaoAcomodacaoToSave);
            }
            catch (Exception e)
            {
                //Validações das CONSTRAINTS do BANCO
                if (ruleValidaNomeTipoAcaoAcomodacaoUnique(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(tipoAcaoAcomodacaoSaveEvent);


            return(CreatedAtAction(nameof(SalvarTipoAcaoAcomodacao), tipoAcaoAcomodacaoToSave.Id_TipoAcaoAcomodacao));
        }
コード例 #5
0
        public async Task <IActionResult> IncluirSetor([FromBody] SetorItem setorToSave)
        {
            Guid gKey;

            gKey = Guid.NewGuid();

            setorToSave.id_Setor = gKey;
            // Update current setor
            _setorContext.SetorItems.Add(setorToSave);


            //if (_settings.UseCache)
            //{
            //    Cache<SetorItem> mycache = new Cache<SetorItem>();
            //    await mycache.SetAsync(cachePrefix + setorToSave.id_Empresa+ setorToSave.id_Setor, setorToSave);
            //}

            //Create Integration Event to be published through the Event Bus
            var setorInclusaoEvent = new SetorInclusaoIntegrationEvent(setorToSave.id_Empresa, setorToSave.id_Setor, setorToSave.nome_Setor);

            // Achieving atomicity between original Catalog database operation and the IntegrationEventLog thanks to a local transaction
            await _setorIntegrationEventService.SaveEventAndSetorContextChangesAsync(setorInclusaoEvent);

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


            return(CreatedAtAction(nameof(IncluirSetor), null));
        }
コード例 #6
0
        public async Task <IActionResult> SalvarChecklist([FromBody] ChecklistItem checklistToSave)
        {
            //AREA DE VALIDACAO
            string msgRule = "";

            if (!ruleValidaNomeCheckList(checklistToSave.Nome_Checklist, ref msgRule))
            {
                return(BadRequest(msgRule));
            }

            //FIM AREA DE VALIDACAO

            if (_configuracaoContext.Set <ChecklistItem>().Any(e => e.Id_Checklist == checklistToSave.Id_Checklist))
            {
                _configuracaoContext.ChecklistItems.Update(checklistToSave);
            }
            else
            {
                _configuracaoContext.ChecklistItems.Add(checklistToSave);
            }

            //Create Integration Event to be published through the Event Bus
            var checklistSaveEvent = new ChecklistSaveIE(checklistToSave.Id_Checklist, checklistToSave.Nome_Checklist);

            try
            {
                // Achieving atomicity between original Catalog database operation and the IntegrationEventLog thanks to a local transaction
                await _configuracaoIntegrationEventService.SaveEventAndChecklistContextChangesAsync(checklistSaveEvent, checklistToSave);
            }
            catch (Exception e)
            {
                //Validações das CONSTRAINTS do BANCO
                if (ruleValidaNomeChecklistUnique(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(checklistSaveEvent);


            return(CreatedAtAction(nameof(SalvarChecklist), checklistToSave.Id_Checklist));
        }
コード例 #7
0
        public async Task <IActionResult> SalvarSLASituacao([FromBody] SLASituacaoItem slaSituacaoToSave)
        {
            string msgRule = "";

            if (_configuracaoContext.Set <SLASituacaoItem>().Any(e => e.Id_SLA == slaSituacaoToSave.Id_SLA))
            {
                _configuracaoContext.SLASituacaoItems.Update(slaSituacaoToSave);
            }
            else
            {
                _configuracaoContext.SLASituacaoItems.Add(slaSituacaoToSave);
            }

            //Create Integration Event to be published through the Event Bus
            var slaSituacaoSaveEvent = new SLASituacaoSaveIE(slaSituacaoToSave.Id_SLA, slaSituacaoToSave.Id_TipoSituacaoAcomodacao, slaSituacaoToSave.Id_Empresa, slaSituacaoToSave.Tempo_Minutos, slaSituacaoToSave.Versao_SLA);

            try
            {
                // Achieving atomicity between original Catalog database operation and the IntegrationEventLog thanks to a local transaction
                await _configuracaoIntegrationEventService.SaveEventAndSLASituacaoContextChangesAsync(slaSituacaoSaveEvent, slaSituacaoToSave);
            }
            catch (Exception e)
            {
                //Validações das CONSTRAINTS do BANCO
                if (ruleValidaVersaoUnique(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(slaSituacaoSaveEvent);


            return(CreatedAtAction(nameof(SalvarSLASituacao), slaSituacaoToSave.Id_SLA));
        }
        public async Task <IActionResult> IncluirFluxoAutomaticoCheck([FromBody] FluxoAutomaticoCheckItem FluxoAutomaticoCheckToSave)
        {
            string msgRule = "";

            _configuracaoContext.FluxoAutomaticoCheckItems.Add(FluxoAutomaticoCheckToSave);

            //Create Integration Event to be published through the Event Bus
            var fluxoAutomaticoCheckSaveEvent = new FluxoAutomaticoCheckIncluirIE(
                FluxoAutomaticoCheckToSave.Id_Checklist,
                FluxoAutomaticoCheckToSave.Id_TipoSituacaoAcomodacao,
                FluxoAutomaticoCheckToSave.Id_ItemChecklist,
                FluxoAutomaticoCheckToSave.Id_TipoAtividadeAcomodacao,
                FluxoAutomaticoCheckToSave.Cod_Resposta,
                FluxoAutomaticoCheckToSave.Cod_PermiteTotal);

            try
            {
                // Achieving atomicity between original Catalog database operation and the IntegrationEventLog thanks to a local transaction
                await _configuracaoIntegrationEventService.IncluirEventAndFluxoAutomaticoCheckContextChangesAsync(fluxoAutomaticoCheckSaveEvent);
            }
            catch (Exception e)
            {
                //Validações das CONSTRAINTS do BANCO
                if (ruleValidaFluxoAutomaticoPK(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(fluxoAutomaticoCheckSaveEvent);


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