Beispiel #1
0
        private static void LimparLocal(string dir)
        {
            string tipo;

            if (!Directory.Exists(dir))
            {
                return;
            }

            string[] arquivos = Directory.GetFiles(dir);
            foreach (string arquivo in arquivos)
            {
                tipo = GetTipo(arquivo);

                if (!ListaLocaisGuardarAquivo.Contains(tipo))
                {
                    if (PerguntarArquivoPodeSerMovido(tipo, arquivo))
                    {
                        PerguntarOndeGuardarAquivo(tipo);
                    }
                    else
                    {
                        ListaLocaisGuardarAquivo.Add(tipo, ListaLocaisGuardarAquivo.NAO_ORGANIZAR);
                    }
                }

                if (ArquivoPodeSerMovido(tipo))
                {
                    if (!ArquivoEstaNoLugarCorreto(tipo, arquivo))
                    {
                        MoverArquivo(tipo, arquivo);
                    }
                }
            }
        }
Beispiel #2
0
        private static void MoverArquivo(string tipo, string arquivo)
        {
            try
            {
                string LocalDestino = ListaLocaisGuardarAquivo.Get(tipo);

                if (!Directory.Exists(LocalDestino))
                {
                    Directory.CreateDirectory(LocalDestino);
                }

                string nome = arquivo.Split('\\').Last().Split('.').First();

                int i = 0;

                while (File.Exists($"{LocalDestino}\\{nome}{(i > 0 ? $"({i})" : "")}.{tipo}"))
                {
                    i++;
                }

                File.Move(arquivo, $"{LocalDestino}\\{nome}{(i > 0 ? $"({i})" : "")}.{tipo}");
            }
            catch
            {
            }
        }
Beispiel #3
0
        private static void PerguntarOndeGuardarAquivo(string tipo)
        {
            FolderBrowserDialog fbd = new FolderBrowserDialog();

            fbd.Description = $"Guardar arquivos .{tipo} em:";
            if (fbd.ShowDialog() == DialogResult.OK)
            {
                ListaLocaisGuardarAquivo.Add(tipo, fbd.SelectedPath);

                if (!ListaLocaisOrganizar.Contains(fbd.SelectedPath))
                {
                    DialogResult dr = MessageBox.Show(
                        $"Você gostaria de verificar ser os arquivos dentro deste diretório estão organizados também?",
                        $"Adicionar diretório",
                        MessageBoxButtons.YesNo
                        );

                    if (dr == DialogResult.Yes)
                    {
                        ListaLocaisOrganizar.Add(fbd.SelectedPath);
                    }
                }
            }
        }
Beispiel #4
0
 private static bool ArquivoEstaNoLugarCorreto(string tipo, string arquivo)
 {
     return(arquivo.StartsWith(ListaLocaisGuardarAquivo.Get(tipo)));
 }
Beispiel #5
0
 private static bool ArquivoPodeSerMovido(string tipo)
 {
     return(ListaLocaisGuardarAquivo.Get(tipo) != ListaLocaisGuardarAquivo.NAO_ORGANIZAR);
 }