Software Development

.NET Software Development

Pyramid Software Solutions specializes in Microsoft .NET software development. Using the technologies of Entity Framework, LINQ, and WPF, we can develop powerful software solutions for your business. By using the MVVM design pattern, we can provide you with maintainable, easily-extendable code that will be easily supported by either us or a different development group.

Entity Framework

Entity Framework is a development tool that can be utilized to make data access programming much more efficient by synchronizing data models in the application with SQL database tables. With complex databases, a system such as this is almost a necessity. Using Entity Framework with .NET application development allows us to increase productivity and future maintainability, and thus, bring down the cost of your project.

WPF / MVVM Design Pattern

WPF is a UI design system that allows developers to design .NET application UIs as a series of styled components, somewhat similar to how one might develop a web UI with HTML and CSS. MVVM is a design pattern that separates business logic from the user interface. These two concepts in conjunction with one another, allow us to modularize development into reusable components and minimize the impact of changes that may be required along the development process.

SQL Database Design

Database design is a crucial component of application development. We will examine your project requirements and business goals, and develop an efficient schema that is optimized for expansion, security, and performance. A correct schema design ensures development goes smoothly and minimizes the developmental impact of new funcitonality the database may need to incorporate in the future.

Microsoft SQL Server 2016

Microsoft SQL Server is a very powerful and customizable database engine with many tools that expadite the application development process. The 2016 edition provides new tools and enhancements that make security and encryption much more convenient. Other new features allow for developers to optimize performance even moreso than in previous versions.

PostgreSQL / MySQL

Although Microsoft SQL Server is one of the most powerful database engines in the world, some businesses may not require the advanced feature set and may opt for free, open-source solutions such as PostgreSQL and MySQL. Both of these database engines can be integrated with Entity Framework.

Legacy Software Conversions

In addition to new application development, we also offer conversion services to bring your company's outdated software to a current application framework. We will work with you to gather your project requirements and decide how best to go forward with the conversion. Below are a few questions we'll need to work through.

Application Architecture

First, we'll need to evaulate your existing software and discuss an effective architecture for the converted application. Unless your legacy software is object oriented already, we'll need to translate your existing code into encapsulated objects with class hierarchies.

Outdated Components

Often, legacy software uses 3rd party components that are very outdated and no longer supported. We will examine your legacy software for any such components and discuss either re-using the components if possible, or modern components that could be used as replacements.

Database Migration

Another very important aspect of legacy software we will need to address is database migration. If the legacy database was designed correctly, it may be possible to use the existing schema with a few optimizations in a newer database engine. However, it's often necessary to recreate the schema and develop scripts to migrate and transform the old data.

Project Spotlight

Customer Relations Management .NET C# Application

Recently, we have developed a customer relations management application for a marketing firm headquartered in Minnesota. The purpose of the application is to design and manage marketing campaigns for various products that are sent to prospective customers, process cash/check/credit orders received from customers, and to manage customer interactions through a customer service interface. The database and application is optimized to handle millions of prospects and thousands of customers and orders. One of the major goals of the client was to have a very customizable application so that small changes would not require further programming. So, everything from campaign creation to payment processing, has been programmed in a versatile way that is adaptable and highly configurable.

Application Information

WPF / MVVM Front-End

The application was designed using the .NET WPF visual engine with the MVVM design pattern. This keeps business logic separate from the visual design. Data is bound to WPF views with the WPF data-binding system.

SQL Server 2016 Back-End

We used a SQL Server 2016 database and the Entity Framework code-first design model. Most data access operations are done through Entity Framework with SQL bulk copies and stored procedures used for more complex and data-intensive operations.

Prospect Import Process

The marketing firm receives prospect lists from 3rd party vendors. These lists need to be compared against existing prospects in the database for duplicates, and new prospects need to be inserted. These prospects are then used to send out marketing campaigns.

Customer Service Interface

The customer service interface allows reps of the marketing firm to search through millions of prospects and customers by many fields. By using efficient optimization, these searches occur in under one second. When a customer is found, the rep can then view order and payment history, previous customer service contacts, and see which campaigns have been mailed.

Campaign Creation

The campaign creation interface allows employees to create specific and targeted marketing campaigns that are highly configurable.