public void Carregar() { ddlServico.Items.Clear(); ddlServico.DataSource = SYS_ServicosBO.SelecionaServicos(); ddlServico.Items.Insert(0, new ListItem("-- Selecione um serviço --", "-1", true)); ddlServico.DataBind(); }
/// <summary> /// Método para disparar agora o serviço selecionado /// </summary> private void Disparar() { try { SYS_Servicos servico = SYS_ServicosBO.GetEntity(new SYS_Servicos() { ser_id = Convert.ToInt16(UCComboServico1.Valor) }); ApplicationWEB.SchedulerProvider.Scheduler.TriggerJob(new JobKey(servico.ser_nomeProcedimento)); lblMessage.Text = UtilBO.GetErroMessage("Serviço disparado com sucesso.", UtilBO.TipoMensagem.Sucesso); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMessage.Text = UtilBO.GetErroMessage("Erro ao disparar o serviço.", UtilBO.TipoMensagem.Erro); } }
private void UCComboServico1_IndexChanged() { divDetalhes.Visible = divServico.Visible = UCComboServico1.Valor > 0; try { if (divServico.Visible) { LimparCampos(); string expressao; DataTable dt = SYS_ServicosBO.SelecionaProcedimentoPorNome(UCComboServico1.Texto); string trigger = String.Format("Trigger_{0}", dt.Rows[0]["ser_nomeProcedimento"].ToString()); if (!string.IsNullOrEmpty(dt.Rows[0]["ser_descricao"].ToString())) { _lblMensagem.Text = dt.Rows[0]["ser_descricao"].ToString(); _lblMensagem.Font.Bold = true; divDetalhes.Visible = true; } else { _lblMensagem.Text = string.Empty; divDetalhes.Visible = false; } if (GestaoEscolarServicosBO.SelecionaExpressaoPorTrigger(trigger, out expressao)) { UCFrequenciaServico1.ConfigurarFrequencia(expressao); chkDesativar.Visible = true; } else { chkDesativar.Visible = false; } } } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o sistema.", UtilBO.TipoMensagem.Erro); } }
/// <summary> /// Salva o serviço (reativa a trigger no Quartz) /// </summary> /// <param name="json">Parâmetros</param> /// <returns></returns> private static bool SalvarServico(string json) { JArray listaDados = (JArray.Parse(json) ?? new JArray()); foreach (var dados in listaDados) { string jobName = dados.ToString(); const string groupName = "DEFAULT"; string cronExpression = SYS_ServicosBO.GeraCronExpression(jobName); if (string.IsNullOrEmpty(cronExpression)) { throw new Exception("Expressão de agendamento de serviço não encontrada. " + jobName); } string triggerName = "Trigger_" + jobName; byte ser_ativo = SYS_ServicosBO.SelecionaStatusServico(jobName); if (ser_ativo != (byte)GestaoEscolarServicosBO.eServicoAtivo.Ativo) { throw new Exception("Serviço não está ativo. " + jobName); } var jobKey = new JobKey(jobName, groupName); // Verifica se a trigger já está criada if (ApplicationWEB.SchedulerProvider.Scheduler.CheckExists(jobKey)) { // Caso a trigger já exista, deleta para cria-la com as configurações novas ApplicationWEB.SchedulerDataProvider.DeleteTrigger(new TriggerKey(triggerName, groupName)); } // Verifica se o serviço está habilitado if (ser_ativo == (byte)GestaoEscolarServicosBO.eServicoAtivo.Ativo) { // Cria a trigger com as configurações novas ApplicationWEB.SchedulerDataProvider.ScheduleCronTriggerForJob(jobKey, triggerName, cronExpression); } } return(true); }
/// <summary> /// Salva as configurações do serviço na tabela do quartz (serviço do windows que executa os serviços de integração). /// </summary> /// <param name="srv_id">ID do serviço.</param> /// <param name="src_situacao">Situação do serviço.</param> private void SalvarTriggerQuartz(string ser_nome, byte ser_ativo) { const string groupName = "DEFAULT"; string jobName = SYS_ServicosBO.SelecionaProcedimentoPorNome(ser_nome).Rows[0]["ser_nomeProcedimento"].ToString(); string cronExpression = UCFrequenciaServico1.GeraCronExpression(); string triggerName = "Trigger_" + jobName; var jobKey = new JobKey(jobName, groupName); // Verifica se a trigger já está criada if (ApplicationWEB.SchedulerProvider.Scheduler.CheckExists(jobKey)) { // Caso a trigger já exista, deleta para cria-lá com as configurações novas ApplicationWEB.SchedulerDataProvider.DeleteTrigger(new TriggerKey(triggerName, groupName)); } // Verifica se o serviço está habilitado if (ser_ativo == (byte)GestaoEscolarServicosBO.eServicoAtivo.Ativo) { // Cria a trigger com as configurações novas ApplicationWEB.SchedulerDataProvider.ScheduleCronTriggerForJob(jobKey, triggerName, cronExpression); } }