public ConsentViewModel BuildConsentViewModel(ModelStateDictionary modelState, AuthorizationRequest request, string returnUrl)
        {
            var clientResult = m_clientManager.FindClientByClientId(request.ClientId);

            if (clientResult.HasError)
            {
                modelState.AddModelError(clientResult.Error.Message);
            }

            var scopesResult = m_scopesManager.GetAllScopes();

            if (scopesResult.HasError)
            {
                modelState.AddModelError(scopesResult.Error.Message);
            }

            var identityResourcesResult = m_identityResourceManager.GetAllIdentityResources();

            if (identityResourcesResult.HasError)
            {
                modelState.AddModelError(identityResourcesResult.Error.Message);
            }

            var scopes = scopesResult.Result?
                         .Where(x => request.ScopesRequested.FirstOrDefault(y => y == x.Name) != null).ToList();

            var identityResources = identityResourcesResult.Result?
                                    .Where(x => request.ScopesRequested.FirstOrDefault(y => y == x.Name) != null).ToList();

            var clientViewModel            = m_mapper.Map <ClientViewModel>(clientResult.Result);
            var scopeViewModels            = m_mapper.Map <IList <ScopeViewModel> >(scopes);
            var identityResourceViewModels = m_mapper.Map <IList <IdentityResourceViewModel> >(identityResources);

            return(m_viewModelFactory.GetConsentViewModel(returnUrl, clientViewModel, scopeViewModels, identityResourceViewModels));
        }