public void AddExternalIdentityProvider (object sender, EventArgs e) { ActionHelper.Execute (delegate() { var form = new AddNewExternalIdentityProviderController { ServerDto = GetServerDto(), TenantName = GetTenant() }; var result = NSApplication.SharedApplication.RunModalForWindow (form.Window); if (result == VMIdentityConstants.DIALOGOK) { if (form.ExternalIdentityProviderDto != null) { UIErrorHelper.ShowAlert ("External IDP " + form.ExternalIdentityProviderDto.EntityID + " created successfully", "Information"); Refresh (sender, e); } } }); }
public override void AwakeFromNib() { base.AwakeFromNib(); if (ExternalIdentityProviderDto.NameIDFormats == null) { ExternalIdentityProviderDto.NameIDFormats = new List <string> (); } if (ExternalIdentityProviderDto.SubjectFormats == null) { ExternalIdentityProviderDto.SubjectFormats = new Dictionary <string, string> (); } if (ExternalIdentityProviderDto.SsoServices == null) { ExternalIdentityProviderDto.SsoServices = new List <ServiceEndpointDto> (); } if (ExternalIdentityProviderDto.SloServices == null) { ExternalIdentityProviderDto.SloServices = new List <ServiceEndpointDto> (); } if (ExternalIdentityProviderDto.SigningCertificates == null) { ExternalIdentityProviderDto.SigningCertificates = new CertificateChainDto { Certificates = new List <CertificateDto>() } } ; TxtEntityName.StringValue = (NSString)(string.IsNullOrEmpty(ExternalIdentityProviderDto.EntityID) ? string.Empty : ExternalIdentityProviderDto.EntityID); TxtAlias.StringValue = (NSString)(string.IsNullOrEmpty(ExternalIdentityProviderDto.Alias) ? string.Empty : ExternalIdentityProviderDto.Alias); BtnJit.StringValue = ExternalIdentityProviderDto.JitEnabled ? "1" : "0"; ReloadTableView(NameFormatTableView, ExternalIdentityProviderDto.NameIDFormats); ReloadTableView(SubjectFormatTableView, ExternalIdentityProviderDto.SubjectFormats); ReloadCertificates(); InitializeSsoServices(); InitializeSloServices(); BtnViewCertificate.Activated += (object sender, EventArgs e) => { if (CertificateTableView.SelectedRows.Count > 0) { var row = CertificateTableView.SelectedRows.First(); var encoded = ExternalIdentityProviderDto.SigningCertificates.Certificates[(int)row].Encoded; var bytes = System.Text.Encoding.ASCII.GetBytes(encoded); var certificate = new X509Certificate2(bytes); CertificateService.DisplayX509Certificate2(this, certificate); } }; EditButton.Activated += (object sender, EventArgs e) => { ActionHelper.Execute(delegate() { var form = new AddNewExternalIdentityProviderController { ServerDto = ServerDto, TenantName = TenantName, ExternalIdentityProviderDto = ExternalIdentityProviderDto }; var result = NSApplication.SharedApplication.RunModalForWindow(form.Window); if (result == VMIdentityConstants.DIALOGOK) { if (form.ExternalIdentityProviderDto != null) { UIErrorHelper.ShowAlert("External IDP " + form.ExternalIdentityProviderDto.EntityID + " updated successfully", "Information"); Refresh(sender, e); } } }); }; }