Esempio n. 1
0
        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");
            }
        }
Esempio n. 2
0
        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;
            }
        }
Esempio n. 3
0
        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();
        }
Esempio n. 4
0
        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!");
                }
            }
        }