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