protected void UpdateSettings(ParagoServiceApplication serviceApplication) { try { if (serviceApplication == null) { throw new NullReferenceException("serviceApplication"); } //serviceApplication.UpdateSettingInternal(ParagoServiceSettings.Code.Key, CodeTextBox.Text); } catch (Exception) { RedirectToErrorPage("Unable to update Parago Service Application settings."); } }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (!Page.IsPostBack) { if (ServiceApplicationID == Guid.Empty) { DialogMaster.OkButton.Text = "Create"; } else { ParagoServiceApplication serviceApplication = GetServiceApplication(); if (!AdminUIHelper.HasUserReadPermissionForCurrentPage(serviceApplication)) { SPUtility.HandleAccessDenied(new UnauthorizedAccessException("You are not authorized to access this page.")); } PopulateSettings(serviceApplication); } } }
protected void PopulateSettings(ParagoServiceApplication serviceApplication) { try { if (serviceApplication == null) { throw new NullReferenceException("serviceApplication"); } // NOTE: Do not allow to edit service application name, because service application proxy name // is the same and we need to reset the default service application (see below)! ServiceApplicationNameTextBox.Text = serviceApplication.Name; ServiceApplicationNameTextBox.Enabled = false; //CodeTextBox.Text = serviceApplication.GetSettingInternal(ParagoServiceSettings.Code.Key); ApplicationPoolSection.SetSelectedApplicationPool(serviceApplication.ApplicationPool); } catch (Exception) { RedirectToErrorPage("Unable to populate Parago Service Application settings."); } }
protected void OnOkButtonClick(object sender, EventArgs e) { if (Page.IsValid && _applicationPool != null) { if (ServiceApplicationID == Guid.Empty) { ParagoServiceApplication serviceApplication = null; ParagoServiceApplicationProxy serviceApplicationProxy = null; using (SPLongOperation operation = new SPLongOperation(this)) { operation.Begin(); try { string name = ServiceApplicationNameTextBox.Text.Trim(); serviceApplication = ParagoServiceApplication.Create(name, ParagoService.Local, _applicationPool); if (serviceApplication == null) { throw new NullReferenceException("ParagoServiceApplication"); } serviceApplication.UpdateSettingInternal(ParagoServiceSettings.Code.Key, "PARAGO"); serviceApplication.Update(true); serviceApplication.Provision(); serviceApplicationProxy = (ParagoServiceApplicationProxy)ParagoService.Local.CreateProxy(name, true, serviceApplication, null); if (serviceApplicationProxy == null) { throw new NullReferenceException("ParagoServiceApplicationProxy"); } serviceApplicationProxy.Update(true); serviceApplicationProxy.Provision(); ServiceHelper.SetDefaultServiceApplicationProxy(serviceApplicationProxy); serviceApplicationProxy.Update(true); SendResponseForPopUI(); } catch (Exception ex) { if (serviceApplicationProxy != null) { serviceApplicationProxy.Unprovision(); serviceApplicationProxy.Delete(); } if (serviceApplication != null) { serviceApplication.Unprovision(); serviceApplication.Delete(); } throw new SPException("Failed to create Parago Service Application", ex); } } } else { ParagoServiceApplication serviceApplication = GetServiceApplication(); UpdateSettings(serviceApplication); serviceApplication.Update(true); SendResponseForPopUI(); } } }