public static string[] RetrieveAnexosAndWriteToFiles(string username, string password, string timestamp, long limit)
        {
            List<string> filenames = new List<string>();
            ServicoDocumentos sd = new ServicoDocumentos();
            sd.Credentials = new NetworkCredential(username, password);
            DocumentoInfoArquivoGeral[] diags = 
                sd.ListaDocumentosArquivoGeral(timestamp, limit);
            foreach (var d in diags)
            {
                foreach (var a in d.ARRAYCONTEUDOS.Where(a => a != null))
                {
                    ConteudoInfo conteudo = sd.ConsultarAnexoDocumento(d.NUD, a.NOMEFICHEIRO);
                    filenames.Add(conteudo.NOMEFICHEIRO);
                    var stream = new System.IO.FileStream(conteudo.NOMEFICHEIRO, System.IO.FileMode.CreateNew);
                    stream.Write(conteudo.FICHEIRO, 0, conteudo.FICHEIRO.Length);
                    stream.Close();
                }

            }
            return filenames.ToArray();
        }
Пример #2
0
 public static List<DocumentoInfoArquivoGeral> GetListaDocumentosArquivoGeral(DateTime timeStamp, int maxDocs)
 {
     var docs = default(DocumentoInfoArquivoGeral[]);
     try
     {
         ServicoDocumentos sd = new ServicoDocumentos();
         sd.Credentials = new NetworkCredential(DocInPortoHelper.CMPUsername, DocInPortoHelper.CMPPassword);
         System.Diagnostics.Debug.WriteLine("Filtro documentos: " + timeStamp.ToString("dd-MM-yyyy HH:mm:ss,FFFFFFF"));
         docs = sd.ListaDocumentosArquivoGeral(timeStamp.ToString("dd-MM-yyyy HH:mm:ss,FFFFFFF"), maxDocs); //Example: "13-11-2009 18:49:43,696875000");
     }
     catch (System.Web.Services.Protocols.SoapException e)
     {
         System.Diagnostics.Trace.WriteLine("DocInPorto: " + e.Message);
         MessageBox.Show("Não foi possível obter os documentos para integração." + System.Environment.NewLine + "Ocorreu um erro no servidor.", "Obter documentos", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
     catch (System.Net.WebException e)
     {
         System.Diagnostics.Trace.WriteLine("DocInPorto: " + e.Message);
         if (e.Status == WebExceptionStatus.NameResolutionFailure)
             MessageBox.Show("Não foi possível obter os documentos para integração." + System.Environment.NewLine + "O servidor está inacessível.", "Obter documentos", MessageBoxButtons.OK, MessageBoxIcon.Error);
         else
             MessageBox.Show("Não foi possível obter os documentos para integração." + System.Environment.NewLine + "Ocorreu um erro inesperado no servidor.", "Obter documentos", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
     catch (Exception ex)
     {
         System.Diagnostics.Trace.WriteLine(ex.ToString());
         MessageBox.Show("Não foi possível obter os documentos para integração." + System.Environment.NewLine + "Ocorreu um erro inesperado.", "Obter documentos", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
     return docs == null ? new List<DocumentoInfoArquivoGeral>() : docs.ToList<DocumentoInfoArquivoGeral>();
 }