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); }
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 }); } }
public void SaveServerDetails() { //Arrange var serverDetails = new EnvironmentCheckServerDetails { ServerName = Environment.MachineName, OSVersion = "asdf", OSName = "windows", LogicalProcessors = 4, Hyperthreaded = true, }; //Act ecRepo.SaveServerDetails(serverDetails); //Assert }