public void ComecaImportacao(bool bSubDiretorios, IProgressoLog pLog)
        {
            string               sCaminho;
            StringList           listaCaminho;
            FrmImportarDiretorio frmImportarDiretorio;

            DialogResult retval = form.escolherDir.ShowDialog();

            if (retval == DialogResult.OK)
            {
                FileInfo arquivo = new FileInfo(form.escolherDir.SelectedPath);
                if (arquivo.Directory.Exists)
                {
                    form.Cursor = Cursors.WaitCursor;
                    sCaminho    = arquivo.FullName;

                    frmImportarDiretorio = new FrmImportarDiretorio(form);
                    listaCaminho         = new StringList();

                    if (bSubDiretorios)
                    {
                        DiretorioBO.Instancia.
                        carregarSubDiretorios(sCaminho, listaCaminho);
                    }
                    else
                    {
                        listaCaminho.Add(sCaminho);
                    }

                    if (ImportarDiretorios(listaCaminho, bSubDiretorios,
                                           frmImportarDiretorio))
                    {
                        FinalizaImportacao(pLog);
                    }

                    form.Cursor = Cursors.Default;
                }
            }
        }
Beispiel #2
0
        public void ComecaImportacao(bool bSubDiretorios, IProgressoLog pLog)
        {
            string               sCaminho;
            StringList           listaCaminho;
            FrmImportarDiretorio frmImportarDiretorio;

            if (EscolhaArquivo.abrirDiretorio())
            {
                FileInfo arquivo = new FileInfo(EscolhaArquivo.NomeArquivo);
                if (arquivo.Directory.Exists)
                {
                    form.GdkWindow.Cursor = new Gdk.Cursor(Gdk.CursorType.Watch);
                    sCaminho = arquivo.FullName;

                    frmImportarDiretorio = new FrmImportarDiretorio(form);
                    listaCaminho         = new StringList();

                    if (bSubDiretorios)
                    {
                        DiretorioBO.Instancia.
                        carregarSubDiretorios(sCaminho, listaCaminho);
                    }
                    else
                    {
                        listaCaminho.Add(sCaminho);
                    }

                    if (ImportarDiretorios(listaCaminho, bSubDiretorios,
                                           frmImportarDiretorio))
                    {
                        FinalizaImportacao(pLog);
                    }

                    form.GdkWindow.Cursor = new Gdk.Cursor(Gdk.CursorType.Arrow);
                }
            }
        }
Beispiel #3
0
        public bool ImportarDiretorios(StringList listaCaminho,
                                       bool bSubDiretorio, FrmImportarDiretorio frmImportarDiretorio)
        {
            int        nAba, nRotuloRaiz, nCodDirRaiz;
            RotuloRaiz sRotuloRaiz = new RotuloRaiz();
            string     sCaminhoSemDrive;
            Importar   importar = new Importar();

            nAba        = getAbaAtual().Codigo;
            nCodDirRaiz = DiretorioBO.Instancia.retMaxCodDir(nAba,
                                                             listaDiretorioPai);

            foreach (string sCaminho in listaCaminho)
            {
                nRotuloRaiz = verificaNomeDiretorio(sCaminho, sRotuloRaiz);
                if (nRotuloRaiz > 0)
                {
                    importar            = new Importar();
                    importar.Aba        = nAba;
                    importar.CodDirRaiz = nCodDirRaiz;
                    importar.RotuloRaiz = sRotuloRaiz.Rotulo;
                    if (nRotuloRaiz == 1)
                    {
                        importar.NomeDirRaiz = sRotuloRaiz.Rotulo;
                    }
                    else if (nRotuloRaiz == 2)
                    {
                        sCaminhoSemDrive     = DiretorioBO.Instancia.removerDrive(sCaminho);
                        importar.NomeDirRaiz = Rotinas.SubString(
                            sCaminhoSemDrive, 1,
                            Rotinas.LastDelimiter(Rotinas.BARRA_INVERTIDA,
                                                  sCaminhoSemDrive) - 1);
                    }
                    else if (nRotuloRaiz == 3)
                    {
                        importar.NomeDirRaiz = "";
                    }
                    importar.Caminho = sCaminho;

                    frmImportarDiretorio.listaImportar.Add(importar);
                    nCodDirRaiz++;
                }
            }

            frmImportarDiretorio.bSubDiretorio = bSubDiretorio;

            if (bSubDiretorio)
            {
                frmImportarDiretorio.Show();
                frmImportarDiretorio.Importar();
                frmImportarDiretorio.Hide();
                frmImportarDiretorio.Destroy();
                return(true);
            }
            else
            {
                if (!DiretorioBO.Instancia.verificaCodDir(
                        importar.Aba, importar.RotuloRaiz,
                        listaDiretorioPai))
                {
                    frmImportarDiretorio.Show();
                    frmImportarDiretorio.Importar();
                    frmImportarDiretorio.Hide();
                    frmImportarDiretorio.Destroy();
                    return(true);
                }
                else
                {
                    Dialogo.mensagemErro("Este diretório já existe no catálogo!");

                    return(false);
                }
            }
        }