コード例 #1
0
ファイル: UCComboServico.ascx.cs プロジェクト: Mualumene/SGP
 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();
 }
コード例 #2
0
 /// <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);
     }
 }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
        /// <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);
        }
コード例 #5
0
        /// <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);
            }
        }