コード例 #1
0
        public static List<Server> serversList; // store list of servers

        // This method displays servers received from Core API to ListView
        public static void ServersToListView(ListView listview, CoreConnectionCredentials coreCredentials)
        {

            serversList = CoreConnector.GetServersToListFromCore(coreCredentials);
              
            ListViewCreateColumns(listview);

            listview.Items.Clear();

            ListViewItem lvi_server;

            listview.View = View.Details;

            foreach (var server in serversList)
            {
                lvi_server = new ListViewItem(server.DisplayName);
                lvi_server.SubItems.Add(server.ServerCredentials.IP);
                lvi_server.SubItems.Add(server.Repository);
                lvi_server.SubItems.Add(server.DdtStatus.ToString());
                lvi_server.SubItems.Add("");
                lvi_server.SubItems.Add("");
                lvi_server.SubItems.Add("");
                lvi_server.SubItems.Add("");
                listview.Items.Add(lvi_server);
            }
        }
コード例 #2
0
        // This method used to connect to Core API with creds from current active seesion
        public static ICoreClient GetDefaultCoreClient(CoreConnectionCredentials coreCredentials)
        {
            var coreClientFactory = new CoreClientFactory();

            var coreClient = coreClientFactory.Create(CreateApiUri(coreCredentials.Hostname, coreCredentials.Port));
            coreClient.UseDefaultCredentials();

            return coreClient;
        }
コード例 #3
0
        // This method is used to connect to Core API with specific credentials
        public static ICoreClient GetFullCoreClient(CoreConnectionCredentials coreCredentials)
        {
            var networkCreds = new NetworkCredential(coreCredentials.Username, coreCredentials.Password);
            var factory = new CoreClientFactory();
            var coreClient = factory.Create(CreateApiUri(coreCredentials.Hostname, coreCredentials.Port));
            coreClient.UseSpecificCredentials(networkCreds);

            return coreClient;
        }
コード例 #4
0
        // This method used to connect to Core API with creds from current active seesion
        public static ICoreClient GetDefaultCoreClient(CoreConnectionCredentials coreCredentials)
        {
            var coreClientFactory = new CoreClientFactory();

            var coreClient = coreClientFactory.Create(CreateApiUri(coreCredentials.Hostname, coreCredentials.Port));

            coreClient.UseDefaultCredentials();

            return(coreClient);
        }
コード例 #5
0
        // This method is used to connect to Core API with specific credentials
        private static ICoreClient GetFullCoreClient(CoreConnectionCredentials coreCredentials)
        {
            var networkCreds = new NetworkCredential(coreCredentials.Username, coreCredentials.Password);
            var factory      = new CoreClientFactory();
            var coreClient   = factory.Create(CreateApiUri(coreCredentials.Hostname, coreCredentials.Port));

            coreClient.UseSpecificCredentials(networkCreds);

            return(coreClient);
        }
コード例 #6
0
        private void btn_Connect_Click(object sender, EventArgs e)
        {
            if (rb_Core.Checked)
            {
                _coreCreds = new CoreConnectionCredentials
                {
                    Hostname = tb_hostname.Text,
                    Port     = Convert.ToInt32(tb_Port.Text),
                    Username = tb_userName.Text,
                    Password = tb_password.Text
                };

                _coreCreds.SerizalizeCredsToFile();

                // Displays list of servers received from Core API to ListView
                try
                {
                    lbl_Loading.Visible = true;
                    ServerWrapper.ServersToListView(_coreCreds);
                    Logger.Log("Successfully connected to Core Server: " + tb_hostname.Text, Logger.LogLevel.Info, tb_hostname.Text);
                }
                catch (WCFClientBase.ClientServerErrorException exception)
                {
                    lbl_Loading.Visible = false;
                    Logger.LogError("Cannot connect to Core server " + _coreCreds.Hostname, _coreCreds.Hostname, exception);
                    MessageBox.Show("Cannot connect to Core server." + Environment.NewLine + exception.Message, "Connection Failed", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    return;
                }
                catch (WCFClientBase.HttpUnauthorizedRequestException exception)
                {
                    lbl_Loading.Visible = false;
                    Logger.LogError("Cannot connect to Core server " + _coreCreds.Hostname + " Wrong credentials.", _coreCreds.Hostname, exception);
                    MessageBox.Show("Cannot connect to Core server. Incorrect credentials." + Environment.NewLine + exception.Message, "Connection Failed", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    return;
                }
            }

            ServerWrapper.ServersListViewCreateColumns(lv_AgentsList);
            ServerWrapper.ExchangeListViewCreateColumns(lv_ExchangeServers);
            ServerWrapper.SqlListViewCreateColumns(lv_SQL);


            AddItemsToCbMailSize();
            GetGenParamsFromFileToGui();
            timer1.Interval = 3000; // Timer for UI update
            timer1.Start();
            lbl_Loading.Visible = false;

            // Hide Connection Page and displays ListView Page

            DisplayListViewPage();
        }
コード例 #7
0
        private void GetCredsFromFileToGui()
        {
            var creds = CoreConnectionCredentials.DeserializeCredsFromFile();

            if (creds == null)
            {
                return;
            }

            tb_hostname.Text = creds.Hostname;
            tb_Port.Text     = creds.Port.ToString();
            tb_userName.Text = creds.Username;
            tb_password.Text = creds.Password;
        }
コード例 #8
0
        //This method returns collection of all Agent's objects
        public static List<Server> GetServersToListFromCore(CoreConnectionCredentials coreCredentials)
        {
            var serversList = new List<Server>();
            var coreClient = GetFullCoreClient(coreCredentials);
            var protectedAgents = coreClient.AgentsManagement.GetProtectedAgents();

            foreach (var agent in protectedAgents)
            {
                if ((agent.AgentType != AgentType.EsxServer) && (agent.AgentType != AgentType.EsxVirtualMachine))
                {
                    serversList.Add(new Server(agent.Descriptor.HostUri.Host, agent.DisplayName, agent.RepositoryName,
                    agent.Descriptor.MetadataCredentials.DefaultCredentials.UserName, agent.Descriptor.MetadataCredentials.DefaultCredentials.PasswordDecrypted));
                }
                //MessageBox.Show(
                //   coreClient.AgentsManagement.GetAgentMetadataById(agent.Id.ToString()).IPAddresses.Count.ToString());
            }
            return serversList;
        }
コード例 #9
0
        public static CoreConnectionCredentials DeserializeCredsFromFile()
        {
            CoreConnectionCredentials deserializedCreds = null;
            var dcs = new DataContractSerializer(typeof(CoreConnectionCredentials));

            try
            {
                using (var fs = new FileStream("CoreCreds.xml", FileMode.Open))
                {
                    deserializedCreds = (CoreConnectionCredentials)dcs.ReadObject(fs);
                }
            }
            catch (FileNotFoundException)
            {
                return(null);
            }
            return(deserializedCreds);
        }
コード例 #10
0
        //This method returns collection of Agent's objects with SQL Server only
        public static List <SqlServer> GetSqlServersToListFromCore(CoreConnectionCredentials coreCredentials)
        {
            var sqlServersList  = new List <SqlServer>();
            var coreClient      = CoreConnector.GetFullCoreClient(coreCredentials);
            var protectedAgents = coreClient.AgentsManagement.GetProtectedAgents();

            foreach (var agent in protectedAgents)
            {
                if ((agent.AgentType != AgentType.EsxServer) && (agent.AgentType != AgentType.EsxVirtualMachine) && agent.HasSqlInstance)
                {
                    sqlServersList.Add(new SqlServer(agent.Descriptor.HostUri.Host, agent.DisplayName,
                                                     agent.RepositoryName,
                                                     agent.Descriptor.MetadataCredentials.DefaultCredentials.UserName,
                                                     agent.Descriptor.MetadataCredentials.DefaultCredentials.PasswordDecrypted));
                }
            }
            return(sqlServersList);
        }
コード例 #11
0
        //This method returns collection of all Agent's objects
        public static List <Server> GetServersToListFromCore(CoreConnectionCredentials coreCredentials)
        {
            var serversList     = new List <Server>();
            var coreClient      = GetFullCoreClient(coreCredentials);
            var protectedAgents = coreClient.AgentsManagement.GetProtectedAgents();

            foreach (var agent in protectedAgents)
            {
                if ((agent.AgentType != AgentType.EsxServer) && (agent.AgentType != AgentType.EsxVirtualMachine))
                {
                    serversList.Add(new Server(agent.Descriptor.HostUri.Host, agent.DisplayName, agent.RepositoryName,
                                               agent.Descriptor.MetadataCredentials.DefaultCredentials.UserName, agent.Descriptor.MetadataCredentials.DefaultCredentials.PasswordDecrypted));
                }
                //MessageBox.Show(
                //   coreClient.AgentsManagement.GetAgentMetadataById(agent.Id.ToString()).IPAddresses.Count.ToString());
            }
            return(serversList);
        }
コード例 #12
0
ファイル: Form1.cs プロジェクト: asirko-softheme/DDTGenerator
        private void btn_Connect_Click(object sender, EventArgs e)
        {           
            coreCreds = new CoreConnectionCredentials();
            coreCreds.Hostname = tb_hostname.Text;
            coreCreds.Port = Convert.ToInt32(tb_Port.Text);
            coreCreds.Username = tb_userName.Text;
            coreCreds.Password = tb_password.Text;

            coreCreds.SerizalizeCredsToFile();
            GetDDTParamsFromFileToGUI();

            // Displays list of servers received from Core API to ListView
            try
            {
                ServerWrapper.ServersToListView(lv_AgentsList,coreCreds);
                Logger.Log("Successfully connected to Core Server: " + tb_hostname.Text, Logger.LogLevel.Info, tb_hostname.Text);
            }
            catch (WCFClientBase.ClientServerErrorException exception)
            {
                Logger.LogError("Cannot connect to Core server " + coreCreds.Hostname, coreCreds.Hostname, exception);
                MessageBox.Show("Cannot connect to Core server." + Environment.NewLine + exception.Message, "Connection Failed", 
                    MessageBoxButtons.OK, MessageBoxIcon.Error);

                return;
            }
            catch (WCFClientBase.HttpUnauthorizedRequestException exception)
            {
                Logger.LogError("Cannot connect to Core server " + coreCreds.Hostname + " Wrong credentials.", coreCreds.Hostname, exception);
                MessageBox.Show("Cannot connect to Core server. Incorrect credentials." + Environment.NewLine + exception.Message, "Connection Failed",
                    MessageBoxButtons.OK, MessageBoxIcon.Error);

                return;
            }

            timer1.Interval = 3000;     // Timer for UI update
            timer1.Start();


            // Hide Connection Page and displays ListView Page
            displayListViewPage();

            lbl_TotalAmountValue.Text = lv_AgentsList.Items.Count.ToString();         
        }
コード例 #13
0
        //This method returns collection of Agent's objects with Exchange Server only
        public static List <ExchangeServer> GetExchangeServersToListFromCore(CoreConnectionCredentials coreCredentials)
        {
            var exchangeServersList = new List <ExchangeServer>();
            var coreClient          = CoreConnector.GetFullCoreClient(coreCredentials);
            var protectedAgents     = coreClient.AgentsManagement.GetProtectedAgents();

            foreach (var agent in protectedAgents)
            {
                if ((agent.AgentType != AgentType.EsxServer) && (agent.AgentType != AgentType.EsxVirtualMachine) && agent.HasExchangeInstance)
                {
                    exchangeServersList.Add(new ExchangeServer(agent.Descriptor.HostUri.Host, agent.DisplayName,
                                                               agent.RepositoryName,
                                                               agent.Descriptor.MetadataCredentials.DefaultCredentials.UserName,
                                                               coreClient.AgentsManagement.GetCachedAgentMetadataById(agent.Id.ToString()).FullyQualifiedDomainName.Remove(0, coreClient.AgentsManagement.GetCachedAgentMetadataById(agent.Id.ToString()).HostName.Length + 1),
                                                               agent.Descriptor.MetadataCredentials.DefaultCredentials.PasswordDecrypted));
                }
            }
            return(exchangeServersList);
        }
コード例 #14
0
        //This method returns collection of Agent's objects with SQL Server only
        public static List<SqlServer> GetSqlServersToListFromCore(CoreConnectionCredentials coreCredentials)
        {
            var sqlServersList = new List<SqlServer>();
            var coreClient = CoreConnector.GetFullCoreClient(coreCredentials);
            var protectedAgents = coreClient.AgentsManagement.GetProtectedAgents();

            foreach (var agent in protectedAgents)
            {
                if ((agent.AgentType != AgentType.EsxServer) && (agent.AgentType != AgentType.EsxVirtualMachine) && agent.HasSqlInstance)
                {
                    sqlServersList.Add(new SqlServer(agent.Descriptor.HostUri.Host, agent.DisplayName,
                        agent.RepositoryName,
                        agent.Descriptor.MetadataCredentials.DefaultCredentials.UserName,
                        agent.Descriptor.MetadataCredentials.DefaultCredentials.PasswordDecrypted));
                }

            }
            return sqlServersList;
        }
コード例 #15
0
        //This method returns collection of Agent's objects with Exchange Server only
        public static List<ExchangeServer> GetExchangeServersToListFromCore(CoreConnectionCredentials coreCredentials)
        {
            var exchangeServersList = new List<ExchangeServer>();
            var coreClient = CoreConnector.GetFullCoreClient(coreCredentials);
            var protectedAgents = coreClient.AgentsManagement.GetProtectedAgents();

            foreach (var agent in protectedAgents)
            {
                if ((agent.AgentType != AgentType.EsxServer) && (agent.AgentType != AgentType.EsxVirtualMachine) && agent.HasExchangeInstance)
                {
                    exchangeServersList.Add(new ExchangeServer(agent.Descriptor.HostUri.Host, agent.DisplayName,
                        agent.RepositoryName,
                        agent.Descriptor.MetadataCredentials.DefaultCredentials.UserName,
                        coreClient.AgentsManagement.GetCachedAgentMetadataById(agent.Id.ToString()).FullyQualifiedDomainName.Remove(0, coreClient.AgentsManagement.GetCachedAgentMetadataById(agent.Id.ToString()).HostName.Length + 1),
                        agent.Descriptor.MetadataCredentials.DefaultCredentials.PasswordDecrypted));
                }

            }
            return exchangeServersList;
        }
コード例 #16
0
        //This method returns collection of Agent's objects
        public static List<Server> GetServersToListFromCore(CoreConnectionCredentials coreCredentials)
        {
            List<Server> serversList = new List<Server>();
            ICoreClient _coreClient = CoreConnector.GetFullCoreClient(coreCredentials);

            var protectedAgents = _coreClient.AgentsManagement.GetProtectedAgents();
           

            foreach (var agent in protectedAgents)
            {
                if ((agent.AgentType != AgentType.EsxServer) && (agent.AgentType != AgentType.EsxVirtualMachine))
                {
                    // This to hide linux agents from GUI, but it is dramatically reduce performance
                    //if (!_coreClient.AgentsManagement.GetAgentMetadataById(agent.Id.ToString()).OSVersion.ToString().Contains("Linux")) 
                    // Version with cached metadata
                    //if (!_coreClient.AgentsManagement.GetCachedAgentMetadataById(agent.Id.ToString()).OSVersion.ToString().Contains("Linux"))

                    serversList.Add(new Server(agent.Descriptor.HostUri.Host, agent.DisplayName, agent.RepositoryName, 
                        agent.Descriptor.MetadataCredentials.DefaultCredentials.UserName, agent.Descriptor.MetadataCredentials.DefaultCredentials.PasswordDecrypted));
                }
            }
            return serversList;
        }
コード例 #17
0
ファイル: Form1.cs プロジェクト: abezzubets/DDTGenerator
        private void btn_Connect_Click(object sender, EventArgs e)
        {
            if (rb_Core.Checked)
            {
                _coreCreds = new CoreConnectionCredentials
                {
                    Hostname = tb_hostname.Text,
                    Port = Convert.ToInt32(tb_Port.Text),
                    Username = tb_userName.Text,
                    Password = tb_password.Text
                };

                _coreCreds.SerizalizeCredsToFile();

                // Displays list of servers received from Core API to ListView
                try
                {
                    lbl_Loading.Visible = true;
                    ServerWrapper.ServersToListView(_coreCreds);
                    Logger.Log("Successfully connected to Core Server: " + tb_hostname.Text, Logger.LogLevel.Info, tb_hostname.Text);

                }
                catch (WCFClientBase.ClientServerErrorException exception)
                {
                    lbl_Loading.Visible = false;
                    Logger.LogError("Cannot connect to Core server " + _coreCreds.Hostname, _coreCreds.Hostname, exception);
                    MessageBox.Show("Cannot connect to Core server." + Environment.NewLine + exception.Message, "Connection Failed", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    return;
                }
                catch (WCFClientBase.HttpUnauthorizedRequestException exception)
                {
                    lbl_Loading.Visible = false;
                    Logger.LogError("Cannot connect to Core server " + _coreCreds.Hostname + " Wrong credentials.", _coreCreds.Hostname, exception);
                    MessageBox.Show("Cannot connect to Core server. Incorrect credentials." + Environment.NewLine + exception.Message, "Connection Failed", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    return;
                }
            }

            ServerWrapper.ServersListViewCreateColumns(lv_AgentsList);
            ServerWrapper.ExchangeListViewCreateColumns(lv_ExchangeServers);
            ServerWrapper.SqlListViewCreateColumns(lv_SQL);

            AddItemsToCbMailSize();
            GetGenParamsFromFileToGui();
            timer1.Interval = 3000; // Timer for UI update
            timer1.Start();
            lbl_Loading.Visible = false;

            // Hide Connection Page and displays ListView Page

            DisplayListViewPage();
        }
コード例 #18
0
 // This method displays servers received from Core API to ListView
 public static void ServersToListView(CoreConnectionCredentials coreCredentials)
 {
     ServersList = CoreConnector.GetServersToListFromCore(coreCredentials);
     ExchangeServersList = CoreConnector.GetExchangeServersToListFromCore(coreCredentials);
     SqlServersList = CoreConnector.GetSqlServersToListFromCore(coreCredentials);
 }
コード例 #19
0
 public static List <SqlServer> SqlServersList;           //store list of sql servers
 // This method displays servers received from Core API to ListView
 public static void ServersToListView(CoreConnectionCredentials coreCredentials)
 {
     ServersList         = CoreConnector.GetServersToListFromCore(coreCredentials);
     ExchangeServersList = CoreConnector.GetExchangeServersToListFromCore(coreCredentials);
     SqlServersList      = CoreConnector.GetSqlServersToListFromCore(coreCredentials);
 }