public bool UpdatePC(PCData data)
        {
            try
            {
                sqlConnection.Open();
                using (SqlCommand sqlCommand = sqlConnection.CreateCommand())
                {
                    sqlCommand.Parameters.AddWithValue("@pcs", data.serialNumberPC);
                    sqlCommand.Parameters.AddWithValue("@pcv", data.vendorPC);
                    sqlCommand.Parameters.AddWithValue("@pcm", data.modelPC);
                    sqlCommand.Parameters.AddWithValue("@pcwv", data.version);
                    sqlCommand.Parameters.AddWithValue("@pcn", data.systemName);
                    sqlCommand.Parameters.AddWithValue("@d", data.domain);
                    sqlCommand.Parameters.AddWithValue("@an", data.assetName);

                    sqlCommand.CommandText = "UPDATE PC " + " SET pcSerial=@pcs, pcVendor=@pcv, pcModel=@pcm, pcWindowsVersion=@pcwv," +
                                             " pcName=@pcn, domain=@d, assetName=@an WHERE pcSerial='" + data.serialNumberPC + "'";

                    sqlCommand.ExecuteNonQuery();
                }
            }
            catch (SqlException e)
            {
                WriteToFile("Sql error from updateMonitor method" + e.Message);
                return(false);
            }
            finally
            {
                sqlConnection.Close();
            }
            return(true);
        }
 public void InsertPC(PCData data)
 {
     try
     {
         sqlConnection.Open();
         SqlCommand sqlCommand = new SqlCommand("INSERT INTO PC(pcSerial,pcVendor,pcModel,pcWindowsVersion,pcName,domain,assetName) " +
                                                "VALUES('" + data.serialNumberPC + "','" + data.vendorPC + "','" + data.modelPC + "','" + data.version + "','" + data.systemName + "','" + data.domain +
                                                "','" + data.assetName + "')"
                                                , sqlConnection);
         sqlCommand.ExecuteNonQuery();
     }
     catch (SqlException e)
     {
         WriteToFile("Sql error from insertPC method" + e.Message);
     }
     finally
     {
         sqlConnection.Close();
     }
 }
        private static string setPCData()
        {
            PCData   pd = new PCData();
            Database d  = new Database();

            try
            {
                System.Management.SelectQuery query = new System.Management.SelectQuery(@"Select * from Win32_ComputerSystem");

                //initialize the searcher with the query it is supposed to execute
                using (System.Management.ManagementObjectSearcher searcher1 = new System.Management.ManagementObjectSearcher(query))
                {
                    //execute the query
                    foreach (System.Management.ManagementObject process in searcher1.Get())
                    {
                        //print system info
                        process.Get();

                        pd.vendorPC = "" + process["Manufacturer"];
                        pd.modelPC  = "" + process["Model"];
                    }
                }
                //to start searching at Windows BIOS table for the device serial number
                //shows the serial number of the PC
                ManagementObjectSearcher MOS = new ManagementObjectSearcher("Select * From Win32_BIOS");

                foreach (ManagementObject getserial in MOS.Get())
                {
                    pd.serialNumberPC = getserial["SerialNumber"].ToString();
                }

                pd.systemName = System.Environment.MachineName;
                pd.version    = GetOSFriendlyName();
                pd.domain     = System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties().DomainName;
                pd.assetName  = pd.vendorPC + " " + pd.modelPC;


                if (!d.verifyPC(pd.serialNumberPC))
                {
                    d.InsertPC(pd);
                }
                else
                {
                    d.UpdatePC(pd);
                }
            }
            catch (Exception t)
            {
                WriteToFile("Exception thrown in setPC " + t.Message);
                pd.systemName     = "Generic system name";
                pd.vendorPC       = "this";
                pd.serialNumberPC = "Check";
                pd.version        = "Generic PC Windows Version";
                pd.domain         = "Generic domain";
                pd.modelPC        = "PC";
                pd.assetName      = pd.vendorPC + pd.modelPC + " should be checked";
                d.InsertPC(pd);
            }

            //pd.show();
            return(pd.serialNumberPC);
        }