Exemplo n.º 1
0
        private void ImportFolder(vRDConfigurationFileConnectionsFolder Folder, List <string> FolderNames,
                                  Dictionary <string, vRDConfigurationFileCredentialsFolderCredentials> Credentials)
        {
            foreach (Connection conn in Folder.Connection)
            {
                this.ImportConnection(conn, FolderNames, Credentials);
            }

            FolderNames.AddRange(Folder.Folder.Select(folder => folder.Name));
        }
Exemplo n.º 2
0
        private void ImportFolder(vRDConfigurationFileConnectionsFolder Folder, List<string> FolderNames,
                                  Dictionary<string, vRDConfigurationFileCredentialsFolderCredentials> Credentials)
        {
            foreach (Connection conn in Folder.Connection)
            {
                this.ImportConnection(conn, FolderNames, Credentials);
            }

            FolderNames.AddRange(Folder.Folder.Select(folder => folder.Name));
        }
Exemplo n.º 3
0
        public List <FavoriteConfigurationElement> ImportFavorites(string Filename)
        {
            List <FavoriteConfigurationElement> fav = new List <FavoriteConfigurationElement>();
            string input = "Please enter the description vRD password.";

            if (InputBox.Show(ref input, "vRD Password", '*') == DialogResult.OK)
            {
                byte[] file = File.ReadAllBytes(Filename);
                string xml  = a(file, input).Replace(" encoding=\"utf-16\"", "");
                byte[] data = Encoding.Default.GetBytes(xml);
                using (MemoryStream sw = new MemoryStream(data))
                {
                    if (sw.Position > 0 & sw.CanSeek)
                    {
                        sw.Seek(0, SeekOrigin.Begin);
                    }
                    XmlSerializer x       = new XmlSerializer(typeof(vRDConfigurationFile));
                    object        results = x.Deserialize(sw);

                    List <Connection> connections = new List <Connection>();
                    List <vRDConfigurationFileConnectionsFolder> folders =
                        new List <vRDConfigurationFileConnectionsFolder>();
                    Dictionary <string, vRDConfigurationFileCredentialsFolderCredentials> credentials =
                        new Dictionary <string, vRDConfigurationFileCredentialsFolderCredentials>();

                    if (results == null)
                    {
                        return(fav);
                    }
                    vRDConfigurationFile config = (results as vRDConfigurationFile);
                    if (config == null)
                    {
                        return(fav);
                    }
                    //scan in config item
                    foreach (object item in config.Items)
                    {
                        if (item == null)
                        {
                            continue;
                        }
                        if (item is vRDConfigurationFileCredentialsFolder)
                        {
                            //scan in all credentials into a dictionary
                            vRDConfigurationFileCredentialsFolder credentialFolder =
                                (item as vRDConfigurationFileCredentialsFolder);
                            if (credentialFolder != null && credentialFolder.Credentials != null)
                            {
                                foreach (
                                    vRDConfigurationFileCredentialsFolderCredentials cred in
                                    credentialFolder.Credentials)
                                {
                                    credentials.Add(cred.Guid, cred);
                                }
                            }
                        }
                        else if (item is vRDConfigurationFileCredentialsFolderCredentials)
                        {
                            vRDConfigurationFileCredentialsFolderCredentials cred =
                                (item as vRDConfigurationFileCredentialsFolderCredentials);
                            credentials.Add(cred.Guid, cred);
                        }
                        else if (item is Connection)
                        {
                            //scan in the connections
                            Connection connection = (item as Connection);
                            if (connection != null)
                            {
                                connections.Add(connection);
                            }
                        }
                        else if (item is vRDConfigurationFileConnectionsFolder)
                        {
                            //scan in recurse folders
                            vRDConfigurationFileConnectionsFolder folder =
                                (item as vRDConfigurationFileConnectionsFolder);
                            if (folder != null)
                            {
                                folders.Add(folder);
                            }
                        }
                    }
                    //save credential item to local
                    this.SaveCredentials(credentials);
                    //save VRD connection to local
                    fav = this.ConvertVRDConnectionCollectionToLocal(connections.ToArray(), folders.ToArray(), null,
                                                                     String.Empty, credentials);
                }
            }
            return(fav);
        }
Exemplo n.º 4
0
        private List<FavoriteConfigurationElement> ConvertVRDConnectionCollectionToLocal(Connection[] connections,
                                                                                         vRDConfigurationFileConnectionsFolder
                                                                                             [] folders,
                                                                                         vRDConfigurationFileConnectionsFolderFolder
                                                                                             [] subFolders,
                                                                                         String connectionTag,
                                                                                         Dictionary
                                                                                             <string,
                                                                                             vRDConfigurationFileCredentialsFolderCredentials
                                                                                             > credentials)
        {
            List<FavoriteConfigurationElement> coll = new List<FavoriteConfigurationElement>();
            //covert vrd connection
            if (connections != null && connections.Length > 0)
            {
                foreach (Connection con in connections)
                {
                    FavoriteConfigurationElement fav = ConvertVRDConnectionToLocal(credentials, con);

                    if (!string.IsNullOrEmpty(connectionTag) && !fav.TagList.Contains(connectionTag))
                    {
                        fav.TagList.Add(connectionTag);
                        fav.Tags = connectionTag;
                    }

                    coll.Add(fav);
                }
            }

            //get connection object from root folder
            if (folders != null && folders.Length > 0)
            {
                foreach (vRDConfigurationFileConnectionsFolder folder in folders)
                {
                    coll.AddRange(this.ConvertVRDConnectionCollectionToLocal(folder.Connection, null, folder.Folder,
                                                                             folder.Name, credentials));
                }
            }

            //get connection object from sub folder
            if (subFolders != null && subFolders.Length > 0)
            {
                foreach (vRDConfigurationFileConnectionsFolderFolder folder in subFolders)
                {
                    string tag = connectionTag + folder.Name;
                    coll.AddRange(this.ConvertVRDConnectionCollectionToLocal(folder.Connection, null, null, tag,
                                                                             credentials));
                }
            }

            return coll;
        }