Improvements on the SqlXmlSerialiser

This is a followup to the last article Easy Conversion from Enterprise Architect XML SQL Queries to C# Objects. Every time we execute a query that returns results from more than one table we have to use aliasing in the SQL statement to differentiate columns with the same name. See below a query that retrieves […]

Easy Conversion from Enterprise Architect XML SQL Queries to C# Objects

In this article I show you how to easily convert arbitrary SQL query results in Enterprise Architect to native C# objects. The Enterprise Architect object model provides several methods which you can use to make direct SQL queries against the underlying database. And while Repository.GetElementSet really returns a Collection of native EA.Elements (but not connectors) […]

Using Enterprise Architect Add-In Search Methods with XmlSerializer

SearchResults

Sparx Systems Enterprise Architect supports the extension of the built-in search functionality by creating search queries with add-ins called Add-In Search. In this article I show you how to create an Add-In search that returns results to the “Find in Project” dialogue using an XML serialiser. Add-In Search Methods XML structure Serialisation Add-In Search Methods […]

WPF Series -13- Advanced Installer

The last post in this series deals with the packaging of a WPF application. To simplify the installation of our WPF application we decided to package the application as MSI (Microsoft Installer) using Advanced Installer. In the following I show you the most important steps in using Advanced Installer. Prerequisites Download Advanced Installer Install Visual […]

WPF Series -12- Global Exception Logging

During development and debugging of our WPF application some exceptions occurred which were not caught by the code. Such unhandled exceptions are not logged automatically. In order to obtain information about any unhandled exceptions in production and to simplify error analysis, we looked for a way to handle and log unhandled exceptions. After some research […]

WPF Series -11- Custom MetroDialog

After a long break it’s finally time to continue with the WPF series. Today I’ll show you how we implemented a custom metro dialog. Our dialog contains 2 comboboxes and gets displayed during data export to determine the accuracy of the data to be exported. Let’s have a look at the code. AccuracySelectionDialog.xaml First we […]

[NoBrainer] Simplifying Sparx Enterprise Architect Development with C# Interactive (CSI)

CSharpInteractiveConsole

Developing an AddIn for Sparx Enterprise Architect is tedious, even with the existence of support such as the great work of Geert Bellekens. However, since Visual Studio 2015 we can use the C# Interactive Console which allows us to fire up an instance of Enterprise Architect and test our code interactively before putting it into […]

WPF Series -10- InkCanvas with initial StrokeCollection

One of the requirements our WPF project had to meet describes the ability to create a sketch of the sewage shaft for which data is collected. The functional acceptance criteria are the following. There has to be an area on the form to create a sketch of the sewage shaft using Surface Pen, touchscreen or […]

WPF Series -9- CustomListBox

When we used ListBox controls in our WPF project we faced the same problem as described in the previous post. Like DataGrid, ListBox control also has a property called SelectedItems, which isn’t a dependency property and therefore not bindable too. This post shows how ListBox control can be extended with a bindable version of the […]

WPF Series -8- CustomDataGrid

According to MVVM pattern the ViewModel interacts with the Model but doesn’t know anything about its View. As a result dependency properties of controls get bound to ViewModel properties by specifying bindings in the corresponding View (XAML). DataGrid control has a property called SelectedItems, which in multi selection mode holds the items that are selected. […]