Exemplo n.º 1
0
        public Arquivo Obter(Arquivo arquivo)
        {
            ArquivoDa _da            = null;
            string    strNovoCaminho = string.Empty;

            if (!File.Exists(arquivo.Caminho))
            {
                strNovoCaminho = arquivo.DiretorioConfiguracao.TrimEnd('\\') + "\\" + arquivo.Diretorio.TrimEnd('\\') + "\\" + arquivo.TemporarioNome;

                if (!File.Exists(strNovoCaminho))
                {
                    throw new Exception("Arquivo não encontrado");
                }
                else
                {
                    arquivo.Caminho = strNovoCaminho;
                    _da             = new ArquivoDa(_esquema);
                    _da.AtualizarCaminho(arquivo);
                }
            }

            arquivo.Buffer = File.Open(arquivo.Caminho, FileMode.Open, FileAccess.Read, FileShare.Read);
            return(arquivo);
        }
Exemplo n.º 2
0
        public Arquivo SalvarTemp(Stream st)
        {
            if (st == null)
            {
                throw new ArgumentNullException("Stream de arquivo é nulo.");
            }

            string fileName = ObterNome();

            try
            {
                Salvar(st, fileName);
            }
            catch (IOException)
            {
                DiretoriosAtivo[_idxDir] = false;

                _idxDir = DiretoriosAtivo.IndexOf(true);

                if (_idxDir >= 0)
                {
                    return(SalvarTemp(st));
                }
                else
                {
                    throw;
                }
            }

            Arquivo arq = new Arquivo();

            arq.TemporarioNome     = Path.GetFileName(fileName);
            arq.TemporarioPathNome = fileName;

            return(arq);
        }
 public Arquivo Copiar(Arquivo arquivo, Dictionary <Int32, String> dirOrigem, Dictionary <Int32, String> diretorios, string divisaoPorQtd)
 {
     arquivo.TemporarioPathNome = dirOrigem.Single(x => File.Exists(x.Value + "\\" + arquivo.TemporarioNome)).Value;
     arquivo.Extensao           = Path.GetExtension(arquivo.Nome);
     return(Copiar(arquivo, diretorios, divisaoPorQtd, null));
 }