/// <summary>
        /// Handle updating an application's details once it has been submitted.
        /// </summary>
        /// <param name="application"></param>
        /// <param name="_ctx"></param>
        /// <returns></returns>
        public async Task CompleteApplication(Application application, StudentPortalContext _ctx)
        {
            application.Submitted = true;
            application.Complete  = true;
            application.Finished  = DateTime.Now;
            application.State     = "Completed - awaiting review";

            await _ctx.SaveChangesAsync();
        }
        /// <summary>
        /// Save learning support details related to the current application.
        /// </summary>
        /// <param name="learningSupport"></param>
        /// <param name="application"></param>
        /// <param name="_ctx"></param>
        /// <returns></returns>
        public async Task SaveLearningSupport(LearningSupport learningSupport, Application application, StudentPortalContext _ctx)
        {
            learningSupport.Application = application;

            LearningSupport currentSupport = await _applicationService.GetLearningSupport(_ctx);

            if (currentSupport != null)
            {
                learningSupport.Id = currentSupport.Id;
            }

            _ctx.LearningSupport.AddOrUpdate(l => l.Id, learningSupport);
            await _ctx.SaveChangesAsync();
        }