public static Computer Register(ComputerRegistration registration) { using (var handler = new HttpClientHandler()) { handler.ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator; using (var client = new HttpClient(handler)) { var request = new HttpRequestMessage() { RequestUri = new Uri(SettingsService.Settings.Server + "computers/register"), Method = HttpMethod.Post, }; request.Content = new ObjectContent(typeof(ComputerRegistration), registration, new JsonMediaTypeFormatter(), new MediaTypeHeaderValue("application/json")); var requestTask = client.SendAsync(request); requestTask.Wait(); if (requestTask.Result.IsSuccessStatusCode) { var readTask = requestTask.Result.Content.ReadAsAsync <Computer>(); readTask.Wait(); return(readTask.Result); } throw new Exception(requestTask.Result.ToString()); } } }
public async Task <ActionResult <Computer> > RegisterComputer(ComputerRegistration registration) { var toAdd = new Computer() { Hostname = registration.Hostname, LastSeen = DateTime.Now, IP = registration.IP, MAC = registration.MAC, Status = ComputerStatus.Pending }; _Context.Computers.Add(toAdd); await _Context.SaveChangesAsync(); return(CreatedAtAction("GetComputer", new { id = toAdd.ID }, toAdd)); }