public void AddDevice() { Trace.WriteLine("Device Add Entered 2"); Device d = new Device(); d.DeviceID = new SecurityIdentifier((byte[])new DirectoryEntry(string.Format("WinNT://{0},Computer", Environment.MachineName)).Children.Cast<DirectoryEntry>().First().InvokeGet("objectSID"), 0).AccountDomainSid.ToString(); Trace.WriteLine(d.DeviceID); d.DeviceName = Environment.MachineName; Trace.WriteLine(d.DeviceName); d.UserID = WindowsIdentity.GetCurrent().User.Value; Trace.WriteLine(d.UserID); d.UserName = UserPrincipal.FindByIdentity(new PrincipalContext(ContextType.Domain), IdentityType.Sid, d.UserID).DisplayName; Trace.WriteLine(d.UserName); //d.VM = (Context.Parameters["IsVM"] == "1"); Binding binding = new WSDualHttpBinding(); Trace.WriteLine(binding.ToString()); EndpointAddress address = new EndpointAddress("http://192.168.10.153:8081/AFKAPI/AFKHostedService.svc"); Trace.WriteLine(address.ToString()); try { Trace.WriteLine("Device Add Entered 2"); using (ServiceClient c = new ServiceClient(new InstanceContext(this), binding, address)) { Trace.WriteLine("Device Add Entered 2"); try { Trace.WriteLine("Device Add Entered 2"); c.AddDevice(d); } catch { //Ignore } } } catch(Exception e) { Trace.WriteLine(e.Message); } }
//Add device manually TODO: remove from form and place in installer private void btnAddDevice_Click(object sender, EventArgs e) { Device d = new Device(); d.DeviceID = deviceID; d.DeviceName = Environment.MachineName; d.UserID = userID; d.UserName = Environment.UserName; d.VM = chkVM.Checked; c.RegisterClient(deviceID, false); if (c.AddDevice(d)) { MessageBox.Show("Device Added Succesfully" + "\nDevice ID: " + deviceID + "\nUserID: " + userID, "Device Successfully Added", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Device not added, either due to an error or because it already exists", "Device Not Added", MessageBoxButtons.OK, MessageBoxIcon.Error); } }