예제 #1
0
        public async Task <IActionResult> Index()
        {
            var orgId = _enterprisePortalCurrentContext.SelectedOrganizationId;

            if (orgId == null)
            {
                return(Redirect("~/"));
            }

            if (!_enterprisePortalCurrentContext.SelectedOrganizationDetails.UseSso ||
                !_enterprisePortalCurrentContext.AdminForSelectedOrganization)
            {
                return(Redirect("~/"));
            }

            var ssoConfig = await _ssoConfigRepository.GetByOrganizationIdAsync(orgId.Value);

            var model = new SsoConfigEditViewModel(ssoConfig, _i18nService, _globalSettings);

            return(View(model));
        }
예제 #2
0
        public async Task <IActionResult> Index(SsoConfigEditViewModel model)
        {
            var orgId = _enterprisePortalCurrentContext.SelectedOrganizationId;

            if (orgId == null)
            {
                return(Redirect("~/"));
            }

            if (!_enterprisePortalCurrentContext.SelectedOrganizationDetails.UseSso ||
                !_enterprisePortalCurrentContext.AdminForSelectedOrganization)
            {
                return(Redirect("~/"));
            }

            model.BuildLists(_i18nService);
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var ssoConfig = await _ssoConfigRepository.GetByOrganizationIdAsync(orgId.Value);

            if (ssoConfig == null)
            {
                ssoConfig = model.ToSsoConfig();
                ssoConfig.OrganizationId = orgId.GetValueOrDefault();
                await _ssoConfigRepository.CreateAsync(ssoConfig);
            }
            else
            {
                ssoConfig = model.ToSsoConfig(ssoConfig);
                await _ssoConfigRepository.ReplaceAsync(ssoConfig);
            }

            return(View(model));
        }