private void ValidateIfClose() { var dateSeparator = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.DateSeparator; var FileLoadSettings = new IniFile(ConfigFilepath); string DateValue1 = ""; string DateValue2 = ""; try { DateValue1 = FileLoadSettings.Read("LastDelete", "SQL"); } catch { } try { DateValue2 = FileLoadSettings.Read("LastDelete", "DataAnalysis"); } catch { } int daysToDelete = 0; try { daysToDelete = Convert.ToInt32(FileLoadSettings.Read("WeeksToDeleteLocalData", "DataAnalysis")); daysToDelete = daysToDelete * 7; } catch { daysToDelete = 21; } if (DateValue1 != "" && DateValue2 != "") { if (DateValue1 != "" && DateValue2 == "") { DateValue1 = DateValue1.Replace(".", dateSeparator); DateValue1 = DateValue1.Replace("\\", dateSeparator); DateValue1 = DateValue1.Replace("/", dateSeparator); DateValue1 = DateValue1.Replace("-", dateSeparator); DateTime date1 = DateTime.Parse(DateValue1); DateTime currentDateNow = DateTime.Now; var days = (currentDateNow - date1).TotalDays; if (days <= daysToDelete) { Application.Exit(); } } else if (DateValue2 != "" && DateValue1 == "") { DateValue2 = DateValue2.Replace(".", dateSeparator); DateValue2 = DateValue2.Replace("\\", dateSeparator); DateValue2 = DateValue2.Replace("/", dateSeparator); DateValue2 = DateValue2.Replace("-", dateSeparator); DateTime date2 = DateTime.Parse(DateValue2); DateTime currentDateNow = DateTime.Now; var days = (currentDateNow - date2).TotalDays; if (days <= daysToDelete) { Application.Exit(); } } else if (DateValue1 != "" && DateValue2 != "") { DateValue1 = DateValue1.Replace(".", dateSeparator); DateValue1 = DateValue1.Replace("\\", dateSeparator); DateValue1 = DateValue1.Replace("/", dateSeparator); DateValue1 = DateValue1.Replace("-", dateSeparator); DateTime date1 = DateTime.Parse(DateValue1); DateValue2 = DateValue2.Replace(".", dateSeparator); DateValue2 = DateValue2.Replace("\\", dateSeparator); DateValue2 = DateValue2.Replace("/", dateSeparator); DateValue2 = DateValue2.Replace("-", dateSeparator); DateTime date2 = DateTime.Parse(DateValue2); if (date1 > date2) { DateTime currentDateNow = DateTime.Now; var days = (currentDateNow - date1).TotalDays; if (days <= daysToDelete) { Application.Exit(); } } else { DateTime currentDateNow = DateTime.Now; var days = (currentDateNow - date2).TotalDays; if (days <= daysToDelete) { Application.Exit(); } } } } }
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!"); } } }
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 SetData() { var FileLoadSettings = new IniFile(ConfigFilepath); try { string SqlInstance = FileLoadSettings.Read("SqlInstance", "General"); if (SqlInstance != "") { string[] values = SqlInstance.Split('|'); foreach (var s in values) { listBoxSQLInstance.Items.Add("- " + Environment.MachineName + @"\" + s); } } } catch { } var lastEliminationSQL = ""; try { lastEliminationSQL = FileLoadSettings.Read("LastDelete", "SQL"); if (lastEliminationSQL == "") { lastEliminationSQL = " --- "; } } catch { lastEliminationSQL = " --- "; } lblLastElimination.Text = "Última eliminação: " + lastEliminationSQL; try { var TaskExist = FileLoadSettings.Read("TaskExist", "General"); if (TaskExist != "1") { CreateWindowsTask(); } } catch (Exception ex) { } try { var DefaultInstace = Convert.ToInt32(FileLoadSettings.Read("DefaultInstace", "SQL")); listBoxSQLInstance.SetSelected(DefaultInstace, true); } catch (Exception ex) { } try { var weeksToDel = Convert.ToInt16(FileLoadSettings.Read("WeeksToDeleteLocalData", "DataAnalysis")); numericWeeks.Value = weeksToDel; } catch (Exception ex) { numericWeeks.Value = 3; } try { var folderPath = FileLoadSettings.Read("DataFolder", "DataAnalysis"); bool existsFolder = System.IO.Directory.Exists(folderPath); if (existsFolder) { TxtFolderPath.Text = folderPath; } else { TxtFolderPath.Text = ""; } } catch (Exception ex) { TxtFolderPath.Text = ""; } var lastElimination = ""; try { lastElimination = FileLoadSettings.Read("LastDelete", "DataAnalysis"); if (lastElimination == "") { lastElimination = " --- "; } } catch { lastElimination = " --- "; } lblLastLocalDelete.Text = "Última eliminação: " + lastElimination; }