public virtual IActionResult Methods(DataSourceRequest command)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageExternalAuthenticationMethods))
            {
                return(AccessDeniedKendoGridJson());
            }

            var methodsModel = new List <AuthenticationMethodModel>();
            var methods      = _externalAuthenticationService.LoadAllExternalAuthenticationMethods();

            foreach (var method in methods)
            {
                var tmp1 = method.ToModel();
                tmp1.IsActive         = method.IsMethodActive(_externalAuthenticationSettings);
                tmp1.ConfigurationUrl = method.GetConfigurationPageUrl();
                methodsModel.Add(tmp1);
            }
            methodsModel = methodsModel.ToList();
            var gridModel = new DataSourceResult
            {
                Data  = methodsModel,
                Total = methodsModel.Count
            };

            return(Json(gridModel));
        }
        /// <summary>
        /// Prepare paged external authentication method list model
        /// </summary>
        /// <param name="searchModel">External authentication method search model</param>
        /// <returns>External authentication method list model</returns>
        public virtual ExternalAuthenticationMethodListModel PrepareExternalAuthenticationMethodListModel(
            ExternalAuthenticationMethodSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get external authentication methods
            var externalAuthenticationMethods = _externalAuthenticationService.LoadAllExternalAuthenticationMethods();

            //prepare grid model
            var model = new ExternalAuthenticationMethodListModel
            {
                Data = externalAuthenticationMethods.PaginationByRequestModel(searchModel).Select(method =>
                {
                    //fill in model values from the entity
                    var externalAuthenticationMethodModel = method.ToPluginModel <ExternalAuthenticationMethodModel>();

                    //fill in additional values (not existing in the entity)
                    externalAuthenticationMethodModel.IsActive         = _externalAuthenticationService.IsExternalAuthenticationMethodActive(method);
                    externalAuthenticationMethodModel.ConfigurationUrl = method.GetConfigurationPageUrl();

                    return(externalAuthenticationMethodModel);
                }),
                Total = externalAuthenticationMethods.Count
            };

            return(model);
        }
Пример #3
0
        public IActionResult Methods(DataSourceRequest command)
        {
            var methodsModel = new List <AuthenticationMethodModel>();
            var methods      = _openAuthenticationService.LoadAllExternalAuthenticationMethods();

            foreach (var method in methods)
            {
                var tmp1 = method.ToModel();
                tmp1.IsActive         = method.IsMethodActive(_externalAuthenticationSettings);
                tmp1.ConfigurationUrl = method.GetConfigurationPageUrl();
                methodsModel.Add(tmp1);
            }
            methodsModel = methodsModel.ToList();
            var gridModel = new DataSourceResult
            {
                Data  = methodsModel,
                Total = methodsModel.Count
            };

            return(Json(gridModel));
        }