public void VerificarStatusCampanha() { Console.WriteLine(Environment.GetEnvironmentVariable("CAMPANHA")); var id = Guid.Parse(Environment.GetEnvironmentVariable("CAMPANHA")); var dadosCampanha = _campanhaWorkflowService.Find(a => a.CampanhaId.Equals(id)); var workflowStatus = dadosCampanha.Status; switch (workflowStatus) { case (int)WorkflowStatus.WorkflowManager: _atualizarStatus.AtualizarStatusApi(id, (int)WorkflowStatus.MessageBuilder); _dockerHelper.RunAsync(id, "nyom.messagebuilder"); Console.WriteLine("Status Atualizado, iniciando MessageBuilder"); break; case (int)WorkflowStatus.MessageBuilder: case (int)WorkflowStatus.QueueBuilder: case (int)WorkflowStatus.PushSender: case (int)WorkflowStatus.LoggingCleanup: break; case (int)WorkflowStatus.MessageBuilderCompleted: Console.WriteLine("Entrou aqui 2"); _atualizarStatus.AtualizarStatusApi(id, (int)WorkflowStatus.QueueBuilder); _dockerHelper.RunAsync(id, "nyom.queuebuilder"); Console.WriteLine("Status Atualizado, iniciando QueuBuilder"); break; case (int)WorkflowStatus.QueueBuilderCompleted: _atualizarStatus.AtualizarStatusApi(id, (int)WorkflowStatus.PushSender); _dockerHelper.RunAsync(id, "nyom.pushsender"); Console.WriteLine("Status Atualizado, iniciando PushSender"); break; case (int)WorkflowStatus.PushSenderCompleted: _atualizarStatus.AtualizarStatusApi(id, (int)WorkflowStatus.Finished); Console.WriteLine("Status Atualizado, Finalizado"); break; case (int)WorkflowStatus.LoggingCleanupCompleted: _atualizarStatus.AtualizarStatusApi(id, (int)WorkflowStatus.Finished); break; case (int)WorkflowStatus.Finished: break; case (int)WorkflowStatus.Error: break; case (int)WorkflowStatus.Blocked: break; case (int)WorkflowStatus.Cancelled: break; default: throw new ArgumentOutOfRangeException(nameof(workflowStatus), workflowStatus, null); } }
public IActionResult AtualizarCampanha(string id, int status) { var campanhaId = Guid.Parse(id); try { var dadosCampanha = _campanhaWorkflowService.Find(a => a.CampanhaId.Equals(campanhaId)); dadosCampanha.Status = status; _campanhaWorkflowService.Update(dadosCampanha); return(new ObjectResult(true)); } catch (Exception) { return(new ObjectResult(false)); } }