public ResultObject AddRdsCertificate(RdsCertificate certificate)
 {
     return RemoteDesktopServicesController.AddRdsCertificate(certificate);
 }
 public static ResultObject AddRdsCertificate(RdsCertificate certificate)
 {
     return AddRdsCertificateInternal(certificate);
 }
        private static ResultObject AddRdsCertificateInternal(RdsCertificate certificate)
        {
            var result = TaskManager.StartResultTask<ResultObject>("REMOTE_DESKTOP_SERVICES", "ADD_RDS_SERVER");

            try
            {
                byte[] hash = new byte[certificate.Hash.Length * sizeof(char)];
                System.Buffer.BlockCopy(certificate.Hash.ToCharArray(), 0, hash, 0, hash.Length);
                certificate.Id = DataProvider.AddRdsCertificate(certificate.ServiceId, certificate.Content, hash, certificate.FileName, certificate.ValidFrom, certificate.ExpiryDate);                
            }
            catch (Exception ex)
            {
                if (ex.InnerException != null)
                {
                    result.AddError("Unable to add RDS Certificate", ex.InnerException);
                }
                else
                {
                    result.AddError("Unable to add RDS Certificate", ex);
                }
            }
            finally
            {
                if (!result.IsSuccess)
                {
                    TaskManager.CompleteResultTask(result);
                }
                else
                {
                    TaskManager.CompleteResultTask();
                }
            }

            return result;
        }
 /// <remarks/>
 public void AddRdsCertificateAsync(RdsCertificate certificate, object userState) {
     if ((this.AddRdsCertificateOperationCompleted == null)) {
         this.AddRdsCertificateOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddRdsCertificateOperationCompleted);
     }
     this.InvokeAsync("AddRdsCertificate", new object[] {
                 certificate}, this.AddRdsCertificateOperationCompleted, userState);
 }
 /// <remarks/>
 public void AddRdsCertificateAsync(RdsCertificate certificate) {
     this.AddRdsCertificateAsync(certificate, null);
 }
 /// <remarks/>
 public System.IAsyncResult BeginAddRdsCertificate(RdsCertificate certificate, System.AsyncCallback callback, object asyncState) {
     return this.BeginInvoke("AddRdsCertificate", new object[] {
                 certificate}, callback, asyncState);
 }
 public ResultObject AddRdsCertificate(RdsCertificate certificate) {
     object[] results = this.Invoke("AddRdsCertificate", new object[] {
                 certificate});
     return ((ResultObject)(results[0]));
 }
        public void SaveSettings(System.Collections.Specialized.StringDictionary settings)
        {
            settings["ConnectionBroker"] = txtConnectionBroker.Text;
            settings["RootOU"] = txtRootOU.Text;
            settings["ComputersRootOU"] = txtComputersRootOu.Text;
            settings["PrimaryDomainController"] = txtPrimaryDomainController.Text;
            settings["UseCentralNPS"] = chkUseCentralNPS.Checked.ToString();
            settings["CentralNPS"] = chkUseCentralNPS.Checked ? txtCentralNPS.Text : string.Empty;
            settings[RdsServerSettings.ALLOWCOLLECTIONSIMPORT] = cbCollectionsImport.Checked.ToString();

            settings["GWServrsList"] = GWServers;

            try
            {
                if (upPFX.HasFile.Equals(true))
                {                    
                    var certificate = new RdsCertificate
                    {
                        ServiceId = PanelRequest.ServiceId,
                        Content = Convert.ToBase64String(upPFX.FileBytes),
                        FileName = upPFX.FileName,
                        Hash = txtPFXInstallPassword.Text
                    };

                    ES.Services.RDS.AddRdsCertificate(certificate);
                }
            }
            catch (Exception)
            {                
            }
        }