Beispiel #1
0
        /// <summary>
        /// Salva os arquivos da solução de otimização.
        /// </summary>
        /// <param name="solucaoOtimizacao">Dados da solução para onde os arquivos serão salvos.</param>
        /// <param name="arquivos">Arquivos que serão salvos.</param>
        public void SalvarArquivos(ISolucaoOtimizacao solucaoOtimizacao, IEnumerable <IArquivoSolucaoOtimizacao> arquivos)
        {
            var diretorio = ObterDiretorio(solucaoOtimizacao);

            if (!System.IO.Directory.Exists(diretorio))
            {
                System.IO.Directory.CreateDirectory(diretorio);
            }

            var buffer = new byte[1024];
            var read   = 0;

            foreach (var arquivo in arquivos)
            {
                var nomeArquivo = System.IO.Path.Combine(diretorio, arquivo.Nome);
                using (var entrada = arquivo.Abrir())
                    using (var saida = System.IO.File.Create(nomeArquivo))
                    {
                        while ((read = entrada.Read(buffer, 0, buffer.Length)) > 0)
                        {
                            saida.Write(buffer, 0, read);
                        }

                        saida.Flush();
                    }
            }
        }
Beispiel #2
0
        /// <summary>
        /// Verifica se existe o arquivo com o nome informado associado com a solução.
        /// </summary>
        /// <param name="solucaoOtimizacao"></param>
        /// <param name="nome">Nome do arquivo que será pesquisado.</param>
        /// <returns></returns>
        public bool ArquivoExiste(ISolucaoOtimizacao solucaoOtimizacao, string nome)
        {
            var diretorio = ObterDiretorio(solucaoOtimizacao);
            var caminho   = System.IO.Path.Combine(diretorio, nome);

            return(System.IO.File.Exists(caminho));
        }
Beispiel #3
0
        /// <summary>
        /// Obtém os arquivos da solução.
        /// </summary>
        /// <param name="solucaoOtimizacao"></param>
        /// <returns></returns>
        public IEnumerable <IArquivoSolucaoOtimizacao> ObterArquivos(ISolucaoOtimizacao solucaoOtimizacao)
        {
            var diretorio = ObterDiretorio(solucaoOtimizacao);

            if (System.IO.Directory.Exists(diretorio))
            {
                return(System.IO.Directory.GetFiles(diretorio)
                       .Select(f => new Arquivo(f))
                       .ToArray());
            }

            return(new IArquivoSolucaoOtimizacao[0]);
        }
Beispiel #4
0
 private string ObterDiretorio(ISolucaoOtimizacao solucao)
 {
     return(System.IO.Path.Combine(DiretorioBase, solucao.Uid.ToString()));
 }