/// <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(); } } }
/// <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)); }
/// <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]); }
private string ObterDiretorio(ISolucaoOtimizacao solucao) { return(System.IO.Path.Combine(DiretorioBase, solucao.Uid.ToString())); }