private void CreateWindowsTask() { try { using (TaskService ts = new TaskService()) { // Create a new task definition and assign properties TaskDefinition td = ts.NewTask(); td.RegistrationInfo.Description = "Lore Sage Análise de Dados"; // Create a trigger that will fire the task at this time every other day td.Triggers.Add(new DailyTrigger { DaysInterval = 9 }); td.Settings.StartWhenAvailable = true; //td.Settings.UseUnifiedSchedulingEngine = true; string app = Form1.ConfigFolderPath + @"\DeleteDataBases.exe"; // Create an action that will launch Notepad whenever the trigger fires td.Actions.Add(new ExecAction(app, null, null)); // Register the task in the root folder ts.RootFolder.RegisterTaskDefinition(@"Lore DataBases", td); //// Remove the task we just created //ts.RootFolder.DeleteTask("Test"); var FileWriteSettings = new IniFile(Form1.ConfigFilepath); FileWriteSettings.Write("TaskExist", "1", "General"); FileWriteSettings = null; } } catch { MessageBox.Show("Tarefa não criada"); } }
private void BtnOpenFolder_Click(object sender, EventArgs e) { var dlg1 = new FolderBrowserDialog(); dlg1.Description = "Select a folder to extract to:"; dlg1.ShowNewFolderButton = true; //dlg1.NewStyle = false; dlg1.SelectedPath = TxtFolderPath.Text; dlg1.RootFolder = System.Environment.SpecialFolder.MyComputer; // Show the FolderBrowserDialog. DialogResult result = dlg1.ShowDialog(); if (result == DialogResult.OK) { TxtFolderPath.Text = dlg1.SelectedPath; var FileWriteSettings = new IniFile(Form1.ConfigFilepath); FileWriteSettings.Write("DataFolder", TxtFolderPath.Text, "DataAnalysis"); FileWriteSettings = null; } }
private void DeleteLocalData() { int FilesLongerThanXdays = Convert.ToInt32(numericWeeks.Value) * 7; var path = TxtFolderPath.Text + "\\"; DirectoryInfo di = new DirectoryInfo(path); DirectoryInfo[] directories = di.GetDirectories(); string deletationSuccessMessage = ""; string deletationErrorMessage = ""; foreach (var directory in directories) { DateTime currentDateNow = Convert.ToDateTime(DateTime.Now.AddDays(-FilesLongerThanXdays).ToString("dd-MM-yyyy")); DateTime modification; if (optCreateDate.Checked) { modification = Convert.ToDateTime(Directory.GetCreationTime(di + directory.Name).ToString("dd-MM-yyyy")); } else { modification = Convert.ToDateTime(Directory.GetLastWriteTime(di + directory.Name).ToString("dd-MM-yyyy")); } if (modification <= currentDateNow) { DirectoryInfo di_ = new DirectoryInfo(directory.FullName); DirectoryInfo[] direc = di_.GetDirectories(); foreach (FileInfo file in di_.GetFiles()) { FileInfo _file = new FileInfo(di_.FullName + @"\" + file); if (IsFileLocked(_file)) { deletationErrorMessage += "- Ficheiro «" + file + "» em " + file.DirectoryName + Environment.NewLine; break; } try { DeleteFileOrFolder(di + @"\" + file); //file.Delete(); deletationSuccessMessage += "- Ficheiro «" + file + "» em " + file.DirectoryName + Environment.NewLine + Environment.NewLine; } catch { deletationErrorMessage += "- Ficheiro «" + file + "» em " + file.DirectoryName + Environment.NewLine + Environment.NewLine; } } foreach (DirectoryInfo dir in direc) { try { DeleteFileOrFolder(di_ + @"\" + dir); //dir.Delete(true); deletationSuccessMessage += "- Pasta «" + dir + "» em " + dir.FullName + Environment.NewLine + Environment.NewLine; } catch { deletationErrorMessage += "- Pasta «" + dir + "» em " + dir.FullName + Environment.NewLine + Environment.NewLine; } } DeleteFileOrFolder(di + @"\" + directory); } } if (deletationErrorMessage != "") { MessageBox.Show("Ocorreram erros na eliminação!" + Environment.NewLine + "Consulte o log!"); } Log log = new Log(); log.WriteInFile(deletationSuccessMessage, false, false); log.WriteInFile(deletationErrorMessage, false, true); log = null; deletationSuccessMessage = ""; deletationErrorMessage = ""; foreach (FileInfo file in di.GetFiles()) { FileInfo _file = new FileInfo(di.FullName + @"\" + file); if (IsFileLocked(_file)) { deletationErrorMessage += "- Ficheiro «" + file + "» em " + file.DirectoryName + Environment.NewLine; break; } string filePath = di + @"\" + file.ToString(); DateTime currentDateNow = Convert.ToDateTime(DateTime.Now.AddDays(-FilesLongerThanXdays).ToString("dd-MM-yyyy")); DateTime modification; if (optCreateDate.Checked) { modification = Convert.ToDateTime(File.GetCreationTime(filePath).ToString("dd-MM-yyyy")); } else { modification = Convert.ToDateTime(File.GetLastWriteTime(filePath).ToString("dd-MM-yyyy")); } if (modification <= currentDateNow) { try { DeleteFileOrFolder(filePath); deletationSuccessMessage += "- Ficheiro «" + file + "» em " + file.DirectoryName + Environment.NewLine; } catch { deletationErrorMessage += "- Ficheiro «" + file + "» em " + file.DirectoryName + Environment.NewLine; } } } log = new Log(); log.WriteInFile(deletationSuccessMessage, false, false); log.WriteInFile(deletationErrorMessage, false, true); log = null; var FileWriteSettings = new IniFile(ConfigFilepath); FileWriteSettings.Write("LastDelete", DateTime.Now.ToShortDateString(), "DataAnalysis"); FileWriteSettings = null; lblLastLocalDelete.Text = "Última eliminação: " + DateTime.Now.ToShortDateString(); }
private void button1_Click(object sender, EventArgs e) { string conString = ""; bool error = true; bool haveDataBases = false; string sqlInstance = ""; var sqlInstanceID = 0; foreach (var item in listBoxSQLInstance.SelectedItems) { sqlInstance = item.ToString(); sqlInstanceID++; } try { sqlInstance = sqlInstance.Replace("- ", ""); // Open connection to the database conString = string.Format("Server={0};Database={1};Integrated Security=True;MultipleActiveResultSets=true; timeout=5", sqlInstance, "master"); string query = "SELECT name from sys.databases Where name not in ('tempdb', 'msdb', 'model', 'master')"; using (SqlConnection con = new SqlConnection(conString)) { con.Open(); // Set up a command with the given query and associate // this with the current connection. using (SqlCommand cmd = new SqlCommand(query, con)) { using (IDataReader dr = cmd.ExecuteReader()) { error = false; while (dr.Read()) { haveDataBases = true; } } } } } catch { error = true; MessageBox.Show("Instância desligada!"); } if (!error) { if (haveDataBases) { var FileWriteSettings = new IniFile(Form1.ConfigFilepath); FileWriteSettings.Write("DefaultInstace", sqlInstanceID.ToString(), "SQL"); FileWriteSettings = null; FormDeleteSQLDataBases.ConnectionString = conString; FormDeleteSQLDataBases formDeleteSQLDataBases = new FormDeleteSQLDataBases(); formDeleteSQLDataBases.ShowDialog(); } else { MessageBox.Show("Instância sem base de dados!"); } } }