OData new query routes being introduced into Campus Nexus Student

Today, Campus Nexus Student offers the capability to perform OData queries against almost every piece of data item in the Student database model. You can perform queries against the data stored in Campus Nexus Student by performing queries structured as shown below: http://[server]/[odata prefix]/[Entity Collection Name]?[OData query parameters] For example: http://localhost/Cmc.Nexus.Web/ds/campusnexus/AcademicAdvisors?$top=10&$select=Id,Name&$orderby=Name When we break-down the[…]

The Campus Nexus Student Metadata OData feed and how to extend it using a custom Data Annotator

Upon starting Campus Nexus Student the UI (user interface) will make a call to an OData feed that provides it with information about tables, fields, objects and navigational structures. The feed is located at: http://[Server]/Cmc.Nexus.Web/ds/campusnexus/$metadata The OData feed has a structure that is similar to one shown below:

The details included in this OData feed are extracted directly from the generated[…]

Best practices on data access and the “Unit of Work” pattern in Campus solutions

Cmc.Core is a nuget package provided by Campus Management to address many of the cross-cutting concerns of software design and architecture in our own solutions. In this blog entry, we will focus on the use of the Unit of Work pattern provided by the Cmc.Core nuget. The goal of a “Unit of Work” (or UOW) implementation is[…]

Create better MVC API documentation using SwashBuckle nuget

In today’s distributed environment and even the latest client-side development approaches tend to push for the creation and consumption of API-enabled services. While APIs offer great advantages, in order to be effective they must be: Clearly and accurately documented Up-to-date with the latest changes Easy for developers to explore and test the API methods (both the expected input[…]

Turn off C# 6.0 features in VS2015/Resharper 9 when using NET 4.5

If you are working on a NET 4.5 project using VS2015 + ReSharper 9, you will find that (by default), VS2015 and ReSharper will allow you (and even encourage you) to use the new C# 6.0 features within your source code. In some cases, ReSharper will recommend some C# 6.0 features as a way to improve your code. For example, in my example C# 4.5 code[…]

Roslyn, VS2015 and the Syntax Visualizer add-in

What is Roslyn? The “Roslyn” project is a Microsoft initiative for an open-source compiler that also provides a rich set of analysis on the code that is being compiled. A brief history of this project The initial CTP for Roslyn was on October 2011 so this project has been around for a few years already.[…]

The value of integration tests + tools to make them easier to write

Legacy apps are sometimes defined as “software solutions that do not have unit tests”. Without the capability to unit test a business software, developers can’t reliably predict how the software solution will behave under different scenarios. Migrating a legacy solution into a more modern application is no easy task. Typically this involves the following steps: Adding[…]

The proper format and structure of a unit test at Campus

Unit tests can be formatted and structured in a wide variety of ways. At Campus, we have been structuring our unit tests in a similar manner in order to promote consistency in our code and to make it easier to create new tests. By simply following the basic structure explained below, you can create unit tests that will be consistent with other[…]

Use this log viewer for real-time debugging

For the past year I have recommending all developers/architects to make it a practice to use a real-time log viewer when working with C# code. A real-time log viewer allows you to examine all log messages generated by your C# applications (as they occur) and it also allows you to filter and sort these log messages. This can offer great productivity benefits[…]

Skip to toolbar