private void Upload()
        {
            try
            {
                string bearerToken          = @"REDACTED";
                string sharePointBaseUrl    = "https://<some-base-url>/sites/IntegrationSpace";
                string sharePointRootFolder = "/sites/<some folder>";

                string fileName = "~/App_Data/Julius.txt";
                using (FileStream source = System.IO.File.Open(Server.MapPath(fileName), FileMode.Open))
                {
                    //var doc = new System.IO.MemoryStream(System.IO.File.ReadAllBytes(Server.MapPath(fileName)));
                    var t1 = SharePointUploader.UploadDocumentAsync(sharePointBaseUrl, bearerToken, source, sharePointRootFolder, System.IO.Path.GetFileName(fileName));
                    t1.Wait();
                }

                fileName = "~/App_Data/Test.pdf";
                var doc = new System.IO.MemoryStream(System.IO.File.ReadAllBytes(Server.MapPath(fileName)));
                var t   = SharePointUploader.UploadDocumentAsync(sharePointBaseUrl, bearerToken, doc, sharePointRootFolder, System.IO.Path.GetFileName(fileName));
                t.Wait();
            }
            catch (Exception ex)
            {
            }
        }
Ejemplo n.º 2
0
        protected override void BeginProcessing()
        {
            //Create mappings from database to sharepoint fields
            ISharePointUploader uploader = new SharePointUploader(Session.DomainUserName, Session.DomainPassword, Session.BaseSharePointUrl);

            var mappings = Session.Mappings;

            Session.ErroredFiles = new Dictionary <string, string>();
            Session.SkippedFiles = new List <string>();

            //Get database data (collection of DBRecords)
            var sql     = Session.SelectStatement;
            var sm      = new SQLManager(Session.DBConnectionString);
            var records = sm.GetData(sql, Session.FileNameField).ToSPDataRecords(mappings);


            var  filenameList    = Directory.EnumerateFiles(Session.LocalFolder).Select(p => Path.GetFileName(p)).ToList <string>();
            bool recordFoundFlag = false;

            //Uploader functionality
            foreach (var filename in filenameList)
            {
                if (IsRecordAvailable(records, filename))
                {
                    var record = records.Single(p => p.FileName.Equals(filename, StringComparison.InvariantCultureIgnoreCase));

                    //handle the uploading
                    Console.WriteLine(string.Format("Uploading File {0} at {1} - {2}", filename, DateTime.Now, "with Metadata"));
                    try
                    {
                        uploader.UploadFile(Session.LocalFolder, record, Session.LibraryTitle, Session.ContentType, Session.OverwriteIfExists);
                        MoveToUploaded(Session.LocalFolder, filename);
                    }
                    catch (Exception ex)
                    {
                        HandleError(ex.Message, filename);
                    }
                }
                else
                {
                    Session.ErroredFiles.Add(filename, "No Metadata found");
                    //Console.WriteLine(string.Format("Uploading File {0} at {1} - {2}", filename, DateTime.Now, "NO Metadata found."));
                    //try
                    //{
                    //    uploader.UploadFile(Session.LocalFolder, filename, Session.LibraryTitle, Session.ContentType);
                    //}
                    //catch (Exception ex2)
                    //{
                    //    HandleError(ex2.Message, filename);
                    //}
                }
            }

            WriteObject(Session);
            base.BeginProcessing();
        }
Ejemplo n.º 3
0
        public void UploadIntegrationTest1()
        {
            //Create mappings from database to sharepoint fields
            //ISharePointUploader uploader = new SharePointUploader(_testUserId, _testPassword, _testBaseUrl);
            SPUploadSession session = new SPUploadSession()
            {
                BaseSharePointUrl  = _testBaseUrl,
                ContentType        = _contentType,
                DBConnectionString = _connection,
                DomainUserName     = _testUserId,
                DomainPassword     = _testPassword,
                ErroredFiles       = new Dictionary <string, string>(),
                FileNameField      = "file_name",
                LibraryTitle       = _testLibrary,
                LocalFolder        = _localFolder,
                SelectStatement    = _sql,
                SkippedFiles       = new List <string>()
            };

            var mappings = new SPColumnMappings("file_name");

            mappings.AddMapping("Application Title", "Title", "Text");
            mappings.AddMapping("Application Number", "Application Number", "Text");
            mappings.AddMapping("Application Title", "Application Title", "Text");
            mappings.AddMapping("Site Number", "Site Number", "Text");
            mappings.AddMapping("Plant Number", "Plant Number", "Numeric");
            mappings.AddMapping("Facility Name", "Facility Name", "Text");
            mappings.AddMapping("Engineer", "Engineer", "Text");
            mappings.AddMapping("PA Status", "PA Status", "Taxonomy");
            mappings.AddMapping("Status Date", "Status Date", "Date");

            //Create mappings from database to sharepoint fields
            ISharePointUploader uploader = new SharePointUploader(session.DomainUserName, session.DomainPassword, session.BaseSharePointUrl);


            //Get database data (collection of DBRecords)
            var sql     = session.SelectStatement;
            var sm      = new SQLManager(session.DBConnectionString);
            var records = sm.GetData(sql, session.FileNameField).ToSPDataRecords(mappings);

            //Uploader functionality
            //foreach (SPDataRecord record in records)
            //{
            //    try
            //    {
            //        Console.WriteLine(string.Format("Uploading File {0} at {1}", record.FileName, DateTime.Now));
            //        uploader.UploadFile(session.LocalFolder, record, session.LibraryTitle, session.ContentType, session.OverwriteIfExists);
            //    }
            //    catch (Exception ex)
            //    {
            //        session.ErroredFiles.Add(record.FileName, ex.Message);
            //        Console.WriteLine(string.Format("Could not upload {0} : Error {1}", record.FileName, ex.Message));
            //    }
            //}
        }
Ejemplo n.º 4
0
        public static async void ProcessQueueMessage([QueueTrigger("%invoicequeuename%")] Invoice invoice, TextWriter log)
        {
            log.WriteLine(String.Format("Generate new invoice for {0}", invoice.EmployeeName));

            var invoiceService = new InvoiceService();
            var file           = await invoiceService.Create(invoice);

            if (file != null)
            {
                SharePointUploader.UploadFile(file, String.Format("invoice_{0}.pdf", invoice.RideId));
            }
        }
        public void GetFilesByLocationTest()
        {
            //arrange
            ISharePointUploader fetcher = new SharePointUploader(
                _testUserId,
                _testPassword,
                _testBaseUrl
                );

            //act
            List <string> fileList = new List <string>(fetcher.GetFilesByLocation(_testLibrary));

            //assert
            Assert.AreEqual(fileList.Count, 4);
        }
        public void GetFileCountByLocationTest()
        {
            //arrange
            ISharePointUploader fetcher = new SharePointUploader(
                _testUserId,
                _testPassword,
                _testBaseUrl
                );

            //act
            var count = fetcher.GetFileCountByLocation(_testLibrary);

            //assert
            Assert.AreEqual(count, 4);
        }
        public void SPFileExistInLibraryTest()
        {
            //arrange
            ISharePointUploader fetcher = new SharePointUploader(
                _testUserId,
                _testPassword,
                _testBaseUrl
                );

            //act
            var fileList      = new List <string>(fetcher.GetFilesByLocation(_testLibrary));
            var doesFileExist = fetcher.SPFileExistInLibrary(_testLibrary, fileList.ToArray()[0]);

            //assert
            Assert.IsTrue(doesFileExist);
        }