// 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); }
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); }
[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 }
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)); } }
//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); }
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 } }
[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 }