public async Task <IActionResult> SendFeedback(FeedbackViewModel viewModel)
        {
            viewModel.ParseAndValidateParameters(Request, m => m.HowEasyIsThisServiceToUse);
            viewModel.ParseAndValidateParameters(Request, m => m.HowDidYouHearAboutGpg);
            viewModel.ParseAndValidateParameters(Request, m => m.OtherSourceText);
            viewModel.ParseAndValidateParameters(Request, m => m.WhyVisitGpgSite);
            viewModel.ParseAndValidateParameters(Request, m => m.OtherReasonText);
            viewModel.ParseAndValidateParameters(Request, m => m.WhoAreYou);
            viewModel.ParseAndValidateParameters(Request, m => m.OtherPersonText);
            viewModel.ParseAndValidateParameters(Request, m => m.Details);

            if (viewModel.HasAnyErrors())
            {
                // If there are any errors, return the user back to the same page to correct the mistakes
                return(View("SendFeedback", viewModel));
            }

            WebService.CustomLogger.Information("Feedback has been received", viewModel);

            var feedbackDatabaseModel = ConvertFeedbackViewModelIntoFeedbackDatabaseModel(viewModel);

            SharedBusinessLogic.DataRepository.Insert(feedbackDatabaseModel);
            await SharedBusinessLogic.DataRepository.SaveChangesAsync();

            return(View("FeedbackSent"));
        }