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)); }
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)); }
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)); }
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)); }
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)); }
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)); }