public static NetworkCredential GetProjectCredentials(string runAs, string guid, string name)
        {
            try
            {
                if (!string.IsNullOrEmpty(runAs))
                {
                    var xml = PasswordHepler.GetFullString(runAs, guid, name);

                    if (!string.IsNullOrEmpty(xml))
                    {
                        //read the xml
                        if (!xml.EndsWith("/>"))
                        {
                            xml = xml.Substring(0, xml.IndexOf("/>") + 2);
                        }


                        XmlDocument xmlDoc = new XmlDocument();
                        xmlDoc.Load(new System.IO.StringReader(xml));
                        XPathNavigator xmlNav = xmlDoc.CreateNavigator();
                        xmlNav.MoveToFirstChild();
                        xmlNav.MoveToFirstAttribute();

                        NetworkCredential creds = new NetworkCredential();

                        do
                        {
                            if (xmlNav.Name == "Username")
                            {
                                creds.UserName = xmlNav.Value;
                            }
                            if (xmlNav.Name == "Domain")
                            {
                                creds.Domain = xmlNav.Value;
                            }
                            if (xmlNav.Name == "Password")
                            {
                                SecureString password = new SecureString();
                                foreach (char c in xmlNav.Value)
                                {
                                    password.AppendChar(c);
                                }
                                creds.SecurePassword = password;
                            }
                        } while (xmlNav.MoveToNextAttribute());

                        return(creds);
                    }
                    return(null);
                }
                return(null);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
 public void SetCredentials()
 {
     EncryptedCredentials = PasswordHepler.SetFullString(
         "<Credentails Username=\"" + UserName + "\" Password=\"" + PasswordHepler.ConvertSecureStringToString(Password) + "\" Domain=\"" + Domain + "\" />", Id, emgName);
     if (this.CredentialsChanged != null)
     {
         CredentialsChanged(this, new EventArgs());
     }
 }
        void getCredentails()
        {
            try
            {
                if (!string.IsNullOrEmpty(encryptedData))
                {
                    var xml = PasswordHepler.GetFullString(encryptedData, Id, emgName);

                    if (!string.IsNullOrEmpty(xml))
                    {
                        //read the xml
                        if (!xml.EndsWith("/>"))
                        {
                            xml = xml.Substring(0, xml.IndexOf("/>") + 2);
                        }

                        XmlDocument xmlDoc = new XmlDocument();
                        xmlDoc.Load(new System.IO.StringReader(xml));
                        XPathNavigator xmlNav = xmlDoc.CreateNavigator();
                        xmlNav.MoveToFirstChild();
                        xmlNav.MoveToFirstAttribute();

                        do
                        {
                            if (xmlNav.Name == "Username")
                            {
                                UserName         = xmlNav.Value;
                                txtUsername.Text = UserName;
                            }
                            if (xmlNav.Name == "Domain")
                            {
                                Domain        = xmlNav.Value;
                                cbDomain.Text = Domain;
                            }
                            if (xmlNav.Name == "Password")
                            {
                                if (Password == null)
                                {
                                    Password = new SecureString();
                                }
                                foreach (char c in xmlNav.Value)
                                {
                                    Password.AppendChar(c);
                                }

                                pbPassword.Password = xmlNav.Value;
                            }
                        } while (xmlNav.MoveToNextAttribute());
                    }
                }
            }
            catch { }
        }
Ejemplo n.º 4
0
        private void btnTestConnection_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                X1 x = new X1(ConsoleContext.GetConsoleEMG(), new Guid("5a49b80c-4c34-d189-ca94-a591580f1995"), "Project Connector");
                x.CheckLicense();

                credsControl.SetCredentials();

                Type            type        = Type.GetTypeFromProgID("Microsoft.EnterpriseManagement.ServiceManager.ProjectServer.Adapter.ProjectAdapter");
                object          inst        = Activator.CreateInstance(type);
                IProjectAdapter projAdapter = (IProjectAdapter)inst;

                if (data.IsO365)
                {
                    projAdapter.Connect(data.PwaUrl, credsControl.UserName, PasswordHepler.ConvertSecureStringToString(credsControl.Password));
                }
                else
                {
                    projAdapter.Connect(data.PwaUrl, credsControl.UserName, PasswordHepler.ConvertSecureStringToString(credsControl.Password), credsControl.Domain);
                }
                var success = projAdapter.IsConnected();

                using (new WaitCursor())
                {
                    if (success)
                    {
                        MessageBox.Show(ServiceManagerLocalization.GetStringFromManagementPack("strConnectSuccess"), ServiceManagerLocalization.GetStringFromManagementPack("strConnectorTitle"),
                                        MessageBoxButton.OK, MessageBoxImage.Information);
                        this.IsNextButtonEnabled = true;
                    }
                    else
                    {
                        MessageBox.Show(ServiceManagerLocalization.GetStringFromManagementPack("strConnectFailed"), ServiceManagerLocalization.GetStringFromManagementPack("strConnectorTitle"),
                                        MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }
            }
            catch (Exception ex)
            {
                ConsoleContextHelper.Instance.ShowErrorDialog(ex, ex.Message, ConsoleFramework.ConsoleJobExceptionSeverity.Error);
            }
        }