Ejemplo n.º 1
0
        public bool AgendaVerCon()
        {
            bool result = false;

            Dados = new AcessoDados();

            try
            {
                // Get the service on the local machine
                using (TaskService ts = new TaskService())
                {
                    // Crie uma nova definição de tarefa e atribua propriedades
                    TaskDefinition td = ts.NewTask();
                    td.RegistrationInfo.Author      = Usuario;
                    td.RegistrationInfo.Description = "Efetua a verificação da conexão com o Banco de Dados a Cada 3 Minutos para Informar o usuário que o Banco de Dados está Online Novamente.";
                    td.RegistrationInfo.Date        = DataInicio;

                    td.Principal.RunLevel = TaskRunLevel.Highest;

                    td.Settings.Enabled = true;
                    td.Settings.Hidden  = false;
                    td.Settings.RunOnlyIfNetworkAvailable = true;

                    TimeSpan TempoIni = new TimeSpan(DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);

                    // Crie um gatilho que irá disparar a tarefa nesta hora todos os dias
                    td.Triggers.Add(new DailyTrigger {
                        Id = "VerificaBD", DaysInterval = 1, StartBoundary = DataInicio
                    });
                    td.Triggers["VerificaBD"].Repetition.Interval = TimeSpan.FromMinutes(3);
                    td.Triggers["VerificaBD"].Repetition.Duration = TimeSpan.FromHours(24);

                    // Crie uma ação que iniciará o Bloco de notas sempre que o gatilho for disparado
                    ProgramaArgs = "ScriptSQL VerificaBD " + IDConex.Trim();
                    td.Actions.Add(new ExecAction(ProgramaExe, ProgramaArgs, null));

                    // Registra a tarefa na pasta raiz
                    Tarefa = "VerConnBD";
                    ts.RootFolder.RegisterTaskDefinition(Tarefa, td, TaskCreation.CreateOrUpdate, null, null, TaskLogonType.InteractiveToken, "");

                    // Remova a tarefa que acabamos de criar
                    //ts.RootFolder.DeleteTask("Test");

                    result = true;
                }
            }
            catch (Exception ex)
            {
                var erro = ex.Message + "\n" + ex.InnerException;
                Dados.GravaErro(erro);
                return(result);
            }

            return(result);
        }
Ejemplo n.º 2
0
        public bool AgendaRebuild()
        {
            bool result = false;

            Dados = new AcessoDados();

            try
            {
                // Get the service on the local machine
                using (TaskService ts = new TaskService())
                {
                    // Crie uma nova definição de tarefa e atribua propriedades
                    TaskDefinition td = ts.NewTask();
                    td.RegistrationInfo.Author      = "Controller Informática - Controller ERP - " + Usuario;
                    td.RegistrationInfo.Description = DescricaoTarefa;
                    td.RegistrationInfo.Date        = DataInicio;

                    td.Settings.Enabled = true;
                    td.Settings.Hidden  = false;
                    td.Settings.RunOnlyIfNetworkAvailable = false;

                    // Crie um gatilho que irá disparar a tarefa nesta hora todos os dias
                    td.Triggers.Add(new DailyTrigger {
                        DaysInterval = (short)FreqAgenda, StartBoundary = DataInicio
                    });

                    // Crie uma ação que iniciará o Bloco de notas sempre que o gatilho for disparado
                    td.Actions.Add(new ExecAction(ProgramaExe, ProgramaArgs, null));

                    // Registra a tarefa na pasta raiz
                    ts.RootFolder.RegisterTaskDefinition(Tarefa, td, TaskCreation.CreateOrUpdate, null, null, TaskLogonType.S4U, "");

                    // Remova a tarefa que acabamos de criar
                    //ts.RootFolder.DeleteTask("Test");

                    result = true;
                }
            }
            catch (Exception ex)
            {
                var erro = ex.Message + "\n" + ex.InnerException;
                Dados.GravaErro(erro);
                return(result);
            }

            return(result);
        }
Ejemplo n.º 3
0
        public bool DeleteTask()
        {
            bool feito = false;

            Dados = new AcessoDados();

            try
            {
                TaskSchedulerClass oAgendador = new TaskSchedulerClass();
                oAgendador.Connect();
                ITaskFolder containingFolder = oAgendador.GetFolder("\\");
                containingFolder.DeleteTask(Tarefa, 0);

                feito = true;
            }
            catch (Exception ex)
            {
                var erro = ex.Message + "\n" + ex.InnerException;
                Dados.GravaErro(erro);
                feito = false;
            }

            return(feito);
        }