public static void VerificarIntegridade(Dir dir)
        {
            var currentfiles  = SHA256Code.GenerateFromDir(dir.path);
            var databaseFiles = AjudanteParaBD.SelectFilesWithDir(dir.path);


            foreach (TFile f in databaseFiles)
            {
                //Se foi eliminado
                if (!currentfiles.Keys.Contains(f.path))
                {
                    Console.WriteLine("Removido o ficheiro \'" + f.path + "\' da base de dados.");
                    AjudanteParaBD.DeleteFile(f);

                    continue;
                }

                // Se existir vamos ver se foi alterado
                if (!currentfiles[f.path].Equals(f.sha256))
                {
                    Console.WriteLine("O ficheiro \'" + f.path + "\'  sofreu alteracoes.");
                    AjudanteParaBD.UpdateFile(new TFile(f.path, currentfiles[f.path], dir.path));
                }
                else
                {
                    Console.WriteLine("O ficheiro \'" + f.path + "\' não sofreu alteracoes.");
                }

                currentfiles.Remove(f.path);
            }

            // Se ainda houver ficheiros, são os que foram adicionados
            foreach (string file in currentfiles.Keys)
            {
                Console.WriteLine("Adicionado o ficheiro \'" + file + "\' a base de dados.");
                AjudanteParaBD.InsertFile(new TFile(file, currentfiles[file], dir.path));
            }
        }
        public string[] VerificarIntegridadeSHA256()
        {
            var currentfiles  = SHA256Code.GenerateFromDir(dir.path);
            var databaseFiles = AjudanteParaBD.SelectFilesWithDir(dir.path);

            var lines = new List <string>();

            foreach (TFile f in databaseFiles)
            {
                //Se foi eliminado
                if (!currentfiles.Keys.Contains(f.path))
                {
                    lines.Add(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + " - Removido o ficheiro \'" + f.path + "\' da base de dados.");
                    AjudanteParaBD.DeleteFile(f);

                    continue;
                }

                // Se existir vamos ver se foi alterado
                if (!currentfiles[f.path].Equals(f.sha256))
                {
                    lines.Add(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + " - O ficheiro \'" + f.path + "\' sofreu alteracoes.");
                    AjudanteParaBD.UpdateFile(new TFile(f.path, currentfiles[f.path], dir.path));
                }

                currentfiles.Remove(f.path);
            }

            // Se ainda houver ficheiros, são os que foram adicionados
            foreach (string file in currentfiles.Keys)
            {
                lines.Add(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + " - Adicionado o ficheiro \'" + file + "\' a base de dados.");
                AjudanteParaBD.InsertFile(new TFile(file, currentfiles[file], dir.path));
            }

            return(lines.ToArray());
        }