October 23, 2019
Paul D. Sheriff
WPF, data, WPF List Controls

The WPF ListBox Can Do That?! - Part 5

In this fifth part of a series of blog posts on the WPF ListBox, you are going to learn to use the CollectionViewSource class in .NET to group product data on one of the columns. The CollectionViewSource class can be created in XAML and passed parameters in order to group the product data coming from your data source. In addition, you may instantiate a CollectionViewSource class in code and change the grouping of the data based on a user selection.

October 9, 2019
Paul D. Sheriff
WPF, data, WPF List Controls

The WPF ListBox Can Do That?! - Part 4

In this fourth part of a series of blog posts on the WPF ListBox, you are going to learn to use the CollectionViewSource class in .NET to sort data. The CollectionViewSource class can be created in XAML and passed parameters in order to sort the data coming from your data source. In addition, you may instantiate a CollectionViewSource class in code and sort the data based on a user selection.

October 2, 2019
Paul D. Sheriff
WPF, data, WPF List Controls

The WPF ListBox Can Do That?! - Part 3

This is part three of a series of blog posts on using the WPF ListBox. In this post, you learn to use data triggers that allow you to change how each row is presented based on data in your data source. You can use a single trigger or multiple triggers depending on your needs. You are also going to build a converter class to accept two or more pieces of data; the return value is used as a data trigger.

September 25, 2019
John Kuhn
Software, quality assurance, legacy

11 Ways to Improve Your Legacy Software and Sleep More Soundly

As an industry, we often use the word legacy as a pejorative to describe an older system in need of replacement. However, legacy really means an existing system that lives on because it continues to provide business value and the cost of replacement is unreasonable. Managers and software developers are faced with the need to support and maintain legacy systems; but no system is ever completely frozen in time. Changes to business and technical requirements, driven by both internal and external forces, push us to evolve or adapt software over time. 

August 28, 2019
Paul D. Sheriff
ADO.NET, .NET

ADO.NET Data Wrapper Classes

When developers think of how to access data, many use the Entity Framework (EF), Dapper, NHibernate, or some other object-relational mapper (ORM). Each of these ORMs use ADO.NET to submit their SQL queries to the back-end database. So, why do we use ORMs instead of just using ADO.NET directly? Simply put, ORMs allow you to write less code. If each of these ORMs are simply wrappers around ADO.NET, can't you write your own wrapper to cut down the amount of code you need to write? Absolutely! This article describes a set of wrapper classes to make it simpler to work with ADO.NET. This article does not go into every line of code in the wrapper; it is intended as an overview of the functionality. The complete code for the data wrapper can be downloaded from the Fairway Technologies resource site listed at the end of this article.

August 21, 2019
Paul D. Sheriff
ADO.NET, .NET

Simplify ADO.NET Using Generic Methods and Reflection

A common task we face as developers is to take data from a database table and create a collection of entity objects. We have several methods to accomplish this task. You can build a DataTable or DataReader, loop through the rows, build a new object for each row, and write lines of code to transfer column data to each corresponding property. Another method is to use an object relational mapper (ORM) such as the Entity Framework, Dapper or NHibernate which performs these operations for you. Have you ever wondered how these ORMs build the collection? Well, wonder no more. This blog post will show you how it is done.

August 7, 2019
Paul D. Sheriff
WPF, ListBox, front end

The WPF ListBox Can Do That? - Part 2

This is part two in a series of blog posts on using the WPF ListBox. In this post, you change a ListBox to display rows horizontally instead of vertically. You learn to change ListBox templates dynamically at runtime. Finally, you learn to pass multiple pieces of data from your data source to a converter class and have that class return a single piece of data to be displayed.

July 31, 2019
Michael Krasowski
IT management, sprint

Useful Tips for Sprint Snafus: Part 2

In the second of a two-part blog series, Michael will talk about how to deal with mid-sprint corrections. Previously in Part 1, Michael discussed useful tips for avoiding issues early in the sprint process. So, join Fairway Technologies’ General Manager Michael Krasowski for a few noteworthy sprint insights for managing an IT team.

July 25, 2019
Fairway Technologies
data warehouse, snowflake, legacy

Your Legacy Data Warehouse vs. Snowflake: A Comparison

If your enterprise is using a legacy data warehouse, chances are you are using technology that was initially created more than three decades ago. Most of these systems have been upgraded over time. However, many data warehouse providers have simply retrofitted older versions of an open-source technology. These systems lack the highly performant, elastic, and cost-effective qualities of data warehouse solutions today. If you are contemplating upgrading your enterprise’s data systems, allow us to introduce you to the benefits of Snowflake, the data warehouse solution that was built for the cloud.

July 17, 2019
Paul D. Sheriff
MVC, Ajax, drop-down

How to Create a One-to-Many Drop-Down List in MVC Using Ajax

We often have a one-to-many relationship in tables in a database. When you need to ask the user to select a parent value, then select a child value in a web application, you don't want to post-back just to refresh the child list. Doing so causes a flash on the page and can place the user back at the top of the web page. This is not the best UI experience for the user but can be remedied easily. In this blog post, you are going to learn to populate a drop-down list based on the selection in another drop-down list. The technologies used in this post are MVC, Entity Framework, Web API, jQuery, and Ajax. To try out the samples in this blog post, create an MVC application using Visual Studio.