Пример #1
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>());
        }
        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());
        }