private EnvironmentCheckServerDetails GetServerDetails(Server srv)
        {
            var version       = _wmiHelper.CreateDiagnostics(srv, ManagementField.Version, "Win32_OperatingSystem", EnvironmentCheckServerInfoTask.ServerInfoTaskDescription);
            var osNameCaption = _wmiHelper.CreateDiagnostics(srv, ManagementField.Caption, "Win32_OperatingSystem", EnvironmentCheckServerInfoTask.ServerInfoTaskDescription);
            var spversion     = _wmiHelper.CreateDiagnostics(srv, ManagementField.ServicePackMajorVersion, "Win32_OperatingSystem", EnvironmentCheckServerInfoTask.ServerInfoTaskDescription);
            var servicePack   = (spversion.Any() && Convert.ToDouble(spversion.First().Value) > 0) ? String.Format(" SP {0}", spversion.First().Value) : String.Empty;
            var osName        = osNameCaption.First().Value + servicePack;

            var processors = _wmiHelper.CreateDiagnostics(srv, ManagementField.Name | ManagementField.NumberOfCores | ManagementField.NumberOfLogicalProcessors, "Win32_Processor", EnvironmentCheckServerInfoTask.ServerInfoTaskDescription);

            Int32 numOfCores = processors.Where(q => q.Key == ManagementField.NumberOfCores.ToString())
                               .Select(q => (Int32)Convert.ToDecimal(q.Value.ToString()))
                               .Sum();

            Int32 numOfLogicalProcessors = processors.Where(q => q.Key == ManagementField.NumberOfLogicalProcessors.ToString())
                                           .Select(q => (Int32)Convert.ToDecimal(q.Value.ToString()))
                                           .Sum();

            var isHyperthreaded = (numOfCores < numOfLogicalProcessors);

            var serverDetails = new EnvironmentCheckServerDetails
            {
                ServerName        = srv.ServerName,
                OSVersion         = version.First().Value,
                OSName            = osName,
                LogicalProcessors = Convert.ToInt32(numOfLogicalProcessors),
                Hyperthreaded     = isHyperthreaded,
                ServerIPAddress   = srv.ServerIpAddress
            };

            return(serverDetails);
        }
Beispiel #2
0
 public void SaveServerDetails(EnvironmentCheckServerDetails serverDetails)
 {
     using (var conn = this.connectionFactory.GetEddsConnection())
     {
         conn.Execute(
             Resources.InsertEnvironmentCheckSeverDetails,
             new
         {
             serverDetails.ServerName,
             serverDetails.Hyperthreaded,
             serverDetails.LogicalProcessors,
             serverDetails.OSName,
             serverDetails.OSVersion,
             serverDetails.ServerIPAddress
         });
     }
 }
Beispiel #3
0
        public void SaveServerDetails()
        {
            //Arrange
            var serverDetails = new EnvironmentCheckServerDetails
            {
                ServerName        = Environment.MachineName,
                OSVersion         = "asdf",
                OSName            = "windows",
                LogicalProcessors = 4,
                Hyperthreaded     = true,
            };

            //Act
            ecRepo.SaveServerDetails(serverDetails);

            //Assert
        }