Optional Parameters, Polymorphism & F#

Optional parameters are one of those things. Love them or hate them they have their place. Generally, F# style dictates using optional parameters over overloaded methods. From MSDN In F#, optional arguments are usually used instead of overloaded methods. However, overloaded methods are permitted in the language Briefly, the way to declare optional parameters in […]

Generating Word Documents Part 3 – Mail Merge without Word

In previous installments I covered the use of XML databinding. This time around I thought I’d concentrate purely on manipulating content controls. It should be noted that, technically, Custom XML parts days are numbered, and I want to show how to side step this potential problem. In this instalment, we’ll begin to form an infrastructure around […]

Generating Word Documents – Part 2: Simple Databinding

In Part 1 we covered the problem of generating word documents from a high level perspective. In this instalment, I’ll walk through some lower level concepts. I’ll show how Content Controls can be used to inject data into our templates. A Simple Template Depending on the source, this can either be the most tedious, or most pleasurable […]

Generating Documents with the Open XML SDK – Part 1

Recently I was asked to create a document generation engine for a loan application and quote system at work. Our customers needed to enter some basic information about a loan applicant, and at a later time receive a URL to the bundle of PDF’s which represented the data rich documents they needed to send to their client. […]

Folders in F# Projects

While there is no IDE support for folders in F# projects, the .fsproj file is still just a build script. So as long as you are prepared to manage things on both your file system and in your solution explorer, then folders are actually possible. To do this, right-click the project file in solution explorer, […]