/// <summary>
        /// Creates and maps data to a view model for a generic page.
        /// </summary>
        /// <param name="mappingParameters">The data passed through to map to the view model.</param>
        public virtual async Task <IPageViewModel> BuildPageViewModelAsync(
            PageViewModelBuilderParameters mappingParameters
            )
        {
            var viewModel = _pageViewModelFactory.CreatePageViewModel();

            await _pageViewModelMapper.MapPageViewModelAsync(viewModel, mappingParameters);

            return(viewModel);
        }
        public async Task <IPageViewModel> BuildPageViewModelAsync(PageViewModelBuilderParameters mappingParameters)
        {
            // Create the custom view model instance
            var viewModel = new ExamplePageViewModel();

            // Do the base mapping
            await _pageViewModelMapper.MapPageViewModelAsync(viewModel, mappingParameters);

            // TODO: insert your custom custom mapping

            return(viewModel);
        }