• Length:
    6 Weeks
  • Effort:
    2–3 hours per week
  • Price:

    Add a Verified Certificate for $99 USD

  • Institution
  • Subject:
  • Level:
  • Language:
  • Video Transcript:


  • Basic programming experience is required.
  • Some experience using the C# programming language is recommended.
  • Conceptual understanding of cloud services may be beneficial.

About this course

Skip About this course
In this course, you will migrate a legacy WinForms application to Visual Studio 2017, and then update the application to take advantage of today’s modern coding technologies.

During the labs in this course, you will take a Windows Forms application that we built (for a training course) almost 10 years ago, migrate it to Visual Studio 2017 and the latest version of the .Net framework, and then integrate Rest APIs and Azure Services in order to improve security, scalability, code re-use, versioning, deployment, and other factors. The modernized application will implement cloud services like Azure Active Directory, Azure SQL Database, Azure App Service Web APIs, and continuous deployment.

The target audience is any developer who has legacy Windows apps and is responsible for updating and maintaining the code in a cost effective and timely manner.

What you'll learn

Skip What you'll learn
  • Migrate a legacy application to Visual Studio 2017
  • Add support for high DPI displays.
  • Create an Azure Active Directory with Users and Groups.
  • Register an application, implement authentication and authorization as an Azure AD user.
  • Create an Azure SQL database
  • Migrate local database to Azure SQL database.
  • Implement app connection to Azure SQL database.
  • Add a WebAPI project to your solution.
  • Implement WebAPI controllers to encapsulate data access.
  • Implement a REST based API accessable to multiple apps.
  • Implement a service layer for data access.
  • Register a WebAPI service with Azure AD
  • Add user authentication to WebAPI requests.
  • Deploy your WebAPI to Azure
  • Implement an Azure-hosted WebAPI in your app.
  • Implement source control using GitHub and Visual Studio Team Services
  • Implement continuous delivery for a WebAPI deployed to Azure.
Module 1
  • Lab 1: Update a legacy application (created in 2008 with VS2008) to Visual Studio 2017 and .NET 4.7.1. Add support for high DPI displays.
  • Lab 2: Create an Azure Active Directory with Users and Groups and then register your application as an Azure AD user.
  • Lab 3: Update your application to implement authentication against your Azure Active Directory and ensure that only a member of the PrescriptionManagerUsers group can access data.
Module 2
  • Lab 1: Create an Azure SQL database and copy the local database information to Azure.
  • Lab 2: Explore the SQL Azure database and update your application with a connection to your cloud database.
 Module 3
  • Lab 1: Add a new WebAPI project to your solution that uses controllers to encapsulate data access to/from the Azure SQL Database and exposes a REST based API (that could be implemented by additional apps).
  • Lab 2: Update your application to include a service layer that replaces the local data access code used in the original application.
  • Lab 3: Register your WebAPI service with Azure AD and then add features to the WebAPI that allow your client application to authenticate during a request for data.
Module 4
  • Lab 1: Deploy your WebAPI to Azure, update Azure AD registration to use the deployed URL, and then update your WinForms application to use the Azure-hosted WebAPI.
  • Lab 2: Implement source control for your application using GitHub and Visual Studio Team Services, and implement continuous delivery for the WebAPI service that you deployed to Azure.

Meet your instructors

Chris Howd
Engineer and Software Developer
Daren May
President and founder of CustomMayd

Pursue a Verified Certificate to highlight the knowledge and skills you gain $99.00

View a PDF of a sample edX certificate
  • Official and Verified

    Receive an instructor-signed certificate with the institution's logo to verify your achievement and increase your job prospects

  • Easily Shareable

    Add the certificate to your CV or resume, or post it directly on LinkedIn

  • Proven Motivator

    Give yourself an additional incentive to complete the course

  • Support our Mission

    EdX, a non-profit, relies on verified certificates to help fund free education for everyone globally