Example #1
0
        private Pollux.Entities.DocumentoItem MontarDocumentoPasta(DateTime datacriacao, string nomedapasta, string urlrelativa, string urlSite, ClientContext spClientContext)
        {
            Pollux.Entities.DocumentoItem        docItem   = new Pollux.Entities.DocumentoItem();
            List <Pollux.Entities.DocumentoItem> listaDocs = new List <Pollux.Entities.DocumentoItem>();

            // preenche com as informações da pasta
            docItem.DataCriacao   = datacriacao;
            docItem.Nome          = nomedapasta;
            docItem.Tamanho       = string.Empty;
            docItem.TipoDocumento = 993520001;
            docItem.URL           = ObterUrlArquivo(urlSite, urlrelativa);

            #region  Obtem os documentos da subpasta
            var    rootWeb        = spClientContext.Web;
            Folder pastaPrincipal = rootWeb.GetFolderByServerRelativeUrl(urlrelativa);

            spClientContext.Load(pastaPrincipal, fs => fs.Files, p => p.Folders);
            spClientContext.ExecuteQuery();

            FileCollection fileCollection = pastaPrincipal.Files;

            //lista os documentos da pasta
            foreach (var arquivo in fileCollection)
            {
                listaDocs.Add(MontarDocumento(arquivo, urlSite));
            }
            #endregion

            #region Obtem as subpasta que estão em camasas existem na subpasta pai
            var rootweb = spClientContext.Web;
            FolderCollection folderCollection = rootweb.GetFolderByServerRelativeUrl(urlrelativa).Folders;

            spClientContext.Load(folderCollection, fs => fs.Include(f => f.ListItemAllFields));
            spClientContext.ExecuteQuery();
            //lista os arquivos da subpasta
            foreach (Folder subFolder in folderCollection)
            {
                // This property is now populated
                var item = subFolder.ListItemAllFields;

                // This is where the dates you want are stored
                var created             = (DateTime)item["Created"];
                var nomedasubpasta      = (string)item["Title"];
                var urlrelativaSubpasta = (string)item["FileRef"];

                //Cria recursividade de documentos e subpastas
                listaDocs.Add(MontarDocumentoPasta(created, nomedasubpasta, urlrelativaSubpasta, urlSite, spClientContext));
            }
            #endregion

            docItem.DocumentoItens = listaDocs;

            return(docItem);
        }
Example #2
0
        private Pollux.Entities.DocumentoItem MontarDocumentoPasta(DateTime datacriacao, string nomedapasta, string urlrelativa, string urlSite)
        {
            Pollux.Entities.DocumentoItem docItem = new Pollux.Entities.DocumentoItem();

            docItem.DataCriacao   = datacriacao;
            docItem.Nome          = nomedapasta;
            docItem.Tamanho       = string.Empty;
            docItem.TipoDocumento = 993520001;
            docItem.URL           = ObterUrlArquivo(urlSite, urlrelativa);

            return(docItem);
        }
Example #3
0
        private Pollux.Entities.DocumentoItem MontarDocumento(File arquivo, string urlSite)
        {
            Pollux.Entities.DocumentoItem docItem = new Pollux.Entities.DocumentoItem();

            docItem.DataCriacao   = arquivo.TimeCreated;
            docItem.Nome          = arquivo.Name;
            docItem.Tamanho       = arquivo.Length.ToString();
            docItem.TipoDocumento = 993520000;
            docItem.URL           = ObterUrlArquivo(urlSite, arquivo.ServerRelativeUrl);

            return(docItem);
        }