コード例 #1
0
        // ExStart:ShowChangesForHeaderAndFooterOrders
        private static void ShowChangesForHeaderAndFooterOrders(string dataDir)
        {
            Document doc = new Document(dataDir + "HeaderFooter.HeaderFooterOrder.docx");

            // Assert that we use special header and footer for the first page
            // The order for this: first header\footer, even header\footer, primary header\footer
            Section firstPageSection = doc.FirstSection;

            ReplaceLog         logger  = new ReplaceLog();
            FindReplaceOptions options = new FindReplaceOptions {
                ReplacingCallback = logger
            };

            doc.Range.Replace(new Regex("(header|footer)"), "", options);

            doc.Save(dataDir + "HeaderFooter.HeaderFooterOrder.docx");

            // Prepare our string builder for assert results without "DifferentFirstPageHeaderFooter"
            logger.ClearText();

            // Remove special first page
            // The order for this: primary header, default header, primary footer, default footer, even header\footer
            firstPageSection.PageSetup.DifferentFirstPageHeaderFooter = false;

            doc.Range.Replace(new Regex("(header|footer)"), "", options);
        }
コード例 #2
0
        public void HeaderFooterOrder()
        {
            //ExStart
            //ExFor:IReplacingCallback
            //ExFor:Range.Replace(String, String, FindReplaceOptions)
            //ExSummary: Show changes for headers and footers order
            Document doc = new Document(MyDir + "HeaderFooter.HeaderFooterOrder.docx");

            //Assert that we use special header and footer for the first page
            //The order for this: first header\footer, even header\footer, primary header\footer
            Section firstPageSection = doc.FirstSection;

            Assert.AreEqual(true, firstPageSection.PageSetup.DifferentFirstPageHeaderFooter);

            FindReplaceOptions options = new FindReplaceOptions();
            ReplaceLog         logger  = new ReplaceLog();

            options.ReplacingCallback = logger;

            doc.Range.Replace(new Regex("(header|footer)"), "", options);

            Assert.AreEqual("First header\r\nFirst footer\r\nSecond header\r\nSecond footer\r\nThird header\r\n" +
                            "Third footer\r\n", logger.Text);

            //Prepare our string builder for assert results without "DifferentFirstPageHeaderFooter"
            logger.ClearText();

            //Remove special first page
            //The order for this: primary header, default header, primary footer, default footer, even header\footer
            firstPageSection.PageSetup.DifferentFirstPageHeaderFooter = false;

            doc.Range.Replace(new Regex("(header|footer)"), "", options);
            Assert.AreEqual("Third header\r\nFirst header\r\nThird footer\r\nFirst footer\r\nSecond header\r\nSecond footer\r\n", logger.Text);
        }
コード例 #3
0
        [Test] //ExSkip
        public void HeaderFooterOrder()
        {
            Document doc = new Document(MyDir + "HeaderFooter.HeaderFooterOrder.docx");

            // Assert that we use special header and footer for the first page
            // The order for this: first header\footer, even header\footer, primary header\footer
            Section firstPageSection = doc.FirstSection;

            Assert.AreEqual(true, firstPageSection.PageSetup.DifferentFirstPageHeaderFooter);

            ReplaceLog         logger  = new ReplaceLog();
            FindReplaceOptions options = new FindReplaceOptions {
                ReplacingCallback = logger
            };

            doc.Range.Replace(new Regex("(header|footer)"), "", options);

            doc.Save(ArtifactsDir + "HeaderFooter.HeaderFooterOrder.docx");

            #if NETFRAMEWORK || NETSTANDARD2_0
            Assert.AreEqual("First header\nFirst footer\nSecond header\nSecond footer\nThird header\n" +
                            "Third footer\n", logger.Text.Replace("\r", ""));
            #else
            Assert.AreEqual("First header\nFirst footer\nSecond header\nSecond footer\nThird header\n" +
                            "Third footer\n", logger.Text);
            #endif

            // Prepare our string builder for assert results without "DifferentFirstPageHeaderFooter"
            logger.ClearText();

            // Remove special first page
            // The order for this: primary header, default header, primary footer, default footer, even header\footer
            firstPageSection.PageSetup.DifferentFirstPageHeaderFooter = false;
            doc.Range.Replace(new Regex("(header|footer)"), "", options);

            #if NETFRAMEWORK || NETSTANDARD2_0
            Assert.AreEqual("Third header\nFirst header\nThird footer\nFirst footer\nSecond header\n" +
                            "Second footer\n", logger.Text.Replace("\r", ""));
            #else
            Assert.AreEqual("Third header\nFirst header\nThird footer\nFirst footer\nSecond header\n" +
                            "Second footer\n", logger.Text);
            #endif
        }
コード例 #4
0
ファイル: UpdateLogs.cs プロジェクト: ThomasPieter2/StepOut
        public static async Task <IActionResult> Run([HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequest req, ILogger log)
        {
            try
            {
                string         requestBody     = await new StreamReader(req.Body).ReadToEndAsync();
                List <Log>     newLog          = JsonConvert.DeserializeObject <List <Log> >(requestBody);
                Uri            serviceEndpoint = new Uri(Environment.GetEnvironmentVariable("CosmosEndPoint"));
                string         key             = Environment.GetEnvironmentVariable("ConnectionStringCosmosDB");
                DocumentClient client          = new DocumentClient(serviceEndpoint, key);
                var            collectionUrl   = UriFactory.CreateDocumentCollectionUri("StapOutData", "StepOutData");
                FeedOptions    queryOptions    = new FeedOptions {
                    EnableCrossPartitionQuery = true
                };


                string     query   = $"SELECT * FROM c WHERE c.Gebruik = 'Log'";
                ReplaceLog PrevLog = client.CreateDocumentQuery <ReplaceLog>(collectionUrl, query, queryOptions).AsEnumerable().SingleOrDefault();

                PrevLog.Logs = PrevLog.Logs.Concat(newLog).ToList();
                //foreach (Log item in PrevLog.Logs)
                //{
                //    newLog.Append(item);
                //}
                //Fetch the Document to be updated
                Document doc = client.CreateDocumentQuery <Document>(collectionUrl, queryOptions)
                               .Where(r => r.Id == PrevLog.id.ToString())
                               .AsEnumerable()
                               .SingleOrDefault();

                //Update some properties on the found resource
                doc.SetPropertyValue("Logs", PrevLog.Logs);

                //Now persist these changes to the database by replacing the original resource
                Document updated = await client.ReplaceDocumentAsync(doc);

                return(new StatusCodeResult(200));
            }
            catch (Exception ex)
            {
                return(new OkObjectResult(ex));
            }
        }
コード例 #5
0
        //ExStart:ShowChangesForHeaderAndFooterOrders
        public void ShowChangesForHeaderAndFooterOrders()
        {
            ReplaceLog logger = new ReplaceLog();

            Document doc = new Document(MyDir + "Footer.docx");
            Section  firstPageSection = doc.FirstSection;

            FindReplaceOptions options = new FindReplaceOptions {
                ReplacingCallback = logger
            };

            doc.Range.Replace(new Regex("(header|footer)"), "", options);

            doc.Save(ArtifactsDir + "FindAndReplace.ShowChangesForHeaderAndFooterOrders.docx");

            logger.ClearText();

            firstPageSection.PageSetup.DifferentFirstPageHeaderFooter = false;

            doc.Range.Replace(new Regex("(header|footer)"), "", options);
        }
コード例 #6
0
ファイル: Logger.cs プロジェクト: RNoeldner/CSVQuickViewer
        private static void WriteLog(Level lvl, Exception exception, string message, params object[] args)
        {
            if (ReplaceLog == null)
            {
                return;
            }

            try
            {
                LogLevel level;
                switch (lvl)
                {
                case Level.Debug:
                    level = LogLevel.Debug;
                    break;

                case Level.Info:
                    level = LogLevel.Info;
                    break;

                case Level.Warn:
                    level = LogLevel.Warn;
                    break;

                case Level.Error:
                    level = LogLevel.Error;
                    break;

                default:
                    throw new ArgumentOutOfRangeException(nameof(lvl), lvl, null);
                }
                var logEnvent = new LogEventInfo(level, "screen", null, message, args, exception);
                ReplaceLog.Invoke(logEnvent.FormattedMessage, lvl);
            }
            catch (Exception)
            {
                // ignore
            }
        }
コード例 #7
0
        [TestCase(true)]  //ExSkip
        public void Order(bool differentFirstPageHeaderFooter)
        {
            Document doc = new Document(MyDir + "Header and footer types.docx");

            Section firstPageSection = doc.FirstSection;

            ReplaceLog         logger  = new ReplaceLog();
            FindReplaceOptions options = new FindReplaceOptions {
                ReplacingCallback = logger
            };

            // Using a different header/footer for the first page will affect the search order.
            firstPageSection.PageSetup.DifferentFirstPageHeaderFooter = differentFirstPageHeaderFooter;
            doc.Range.Replace(new Regex("(header|footer)"), "", options);

#if NET462 || NETCOREAPP2_1 || JAVA
            if (differentFirstPageHeaderFooter)
            {
                Assert.AreEqual("First header\nFirst footer\nSecond header\nSecond footer\nThird header\nThird footer\n",
                                logger.Text.Replace("\r", ""));
            }
            else
            {
                Assert.AreEqual("Third header\nFirst header\nThird footer\nFirst footer\nSecond header\nSecond footer\n",
                                logger.Text.Replace("\r", ""));
            }
#elif __MOBILE__
            if (differentFirstPageHeaderFooter)
            {
                Assert.AreEqual("First header\nFirst footer\nSecond header\nSecond footer\nThird header\nThird footer\n", logger.Text);
            }
            else
            {
                Assert.AreEqual("Third header\nFirst header\nThird footer\nFirst footer\nSecond header\nSecond footer\n", logger.Text);
            }
#endif
        }