public JsonResult Post(string planName, [FromBody] Course vm)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    // Map to the Entity
                    var newCourse = Mapper.Map <Course>(vm);

                    // Save to the db
                    _repository.AddNewCourseToPlan(planName, User.Identity.Name, newCourse);

                    if (_repository.SaveAll())
                    {
                        Response.StatusCode = (int)HttpStatusCode.Created;
                        return(Json(Mapper.Map <CourseViewModel>(newCourse)));
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.LogError("Failed to save new course", ex);
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return(Json("Failed to save new course"));
            }

            Response.StatusCode = (int)HttpStatusCode.BadRequest;
            return(Json("Validation failed on new course"));
        }