private void InitializeJob(Object sender, ElapsedEventArgs e) { // Verifica se o job já foi iniciado if (jobController != null) { startupTrigger.Stop(); return; } // Abre a conexão com o banco DataAccess dataAccess = DataAccess.Instance; dataAccess.MountConnection(FileResource.MapDesktopResource("DataAccess.xml"), DatabaseEnum.PrintAccounting); dataAccess.OpenConnection(); // Busca os parâmetros de execução no banco ApplicationParamDAO applicationParamDAO = new ApplicationParamDAO(dataAccess.GetConnection()); Dictionary <String, NameValueCollection> appParams = applicationParamDAO.GetParamsGroupByTask(); double interval = Double.Parse(appParams["reportMailing"]["interval"]); // Fecha a conexão com o banco dataAccess.CloseConnection(); // Cria a lista sem nenhum parâmetro ( a classe reportMailingTask não necessita parâmetros por enquanto) NameValueCollection taskParams = new NameValueCollection(); IPeriodicTask reportMailingTask = new ReportMailingTask(); jobController = new JobController(reportMailingTask, taskParams, dataAccess, interval); jobController.Start(); }
private void button2_Click(object sender, EventArgs e) { // Abre a conexão com o banco DataAccess dataAccess = DataAccess.Instance; dataAccess.MountConnection(FileResource.MapDesktopResource("DataAccess.xml"), DatabaseEnum.PrintAccounting); dataAccess.OpenConnection(); // Busca os parâmetros de execução no banco ApplicationParamDAO applicationParamDAO = new ApplicationParamDAO(dataAccess.GetConnection()); Dictionary <String, NameValueCollection> appParams = applicationParamDAO.GetParamsGroupByTask(); double interval = Double.Parse(appParams["reportMailing"]["interval"]); NameValueCollection taskParams = new NameValueCollection(); // Executa a tarefa ReportMailingTask task = new ReportMailingTask(); task.InitializeTaskState(taskParams, dataAccess); task.Execute(); // Fecha a conexão com o banco dataAccess.CloseConnection(); // ReportMailingController controller = new ReportMailingController(); }