public async Task <bool> UpdateConfigurationAsync(MiriotConfiguration config) { var uri = new Uri(string.Format(RestUrl, ConfigurationController, config.Id)); var json = JsonConvert.SerializeObject(config); var content = new StringContent(json, Encoding.UTF8, "application/json"); HttpResponseMessage response = null; response = await _client.PutAsync(uri, content); return(response.IsSuccessStatusCode); }
public void Put(int id, [FromBody] MiriotConfiguration config) { var existing = _context.Configurations .Include(u => u.Widgets) .Single(c => c.Id == config.Id); existing.Widgets.Clear(); _context.SaveChanges(); existing.Widgets.AddRange(config.Widgets); _context.Entry(existing).State = Microsoft.EntityFrameworkCore.EntityState.Modified; _context.Entry(existing).CurrentValues.SetValues(config); _context.SaveChanges(); }
protected override async Task InitializeAsync() { if (User == null) { return; } HasNoConfiguration = false; Configurations.Clear(); if (User.Devices == null) { User.Devices = new List <MiriotConfiguration>(); } if (!User.Devices.Any()) { var config = new MiriotConfiguration() { MiriotDeviceId = MiriotId, Name = "Miriot" }; User.Devices.Add(config); HasNoConfiguration = true; } foreach (var d in User.Devices) { Configurations.Add(d); } SelectedConfiguration = Configurations.FirstOrDefault(e => e.MiriotDeviceId == MiriotId); if (SelectedConfiguration == null) { HasNoConfiguration = true; var config = new MiriotConfiguration() { MiriotDeviceId = MiriotId, Name = "Miriot", UserId = User.Id }; User.Devices.Add(config); SelectedConfiguration = await _miriotService.CreateConfiguration(config); } }
public async Task <MiriotConfiguration> CreateConfiguration(MiriotConfiguration config) { var uri = new Uri(string.Format(RestUrl, ConfigurationController, string.Empty)); var json = JsonConvert.SerializeObject(config); var content = new StringContent(json, Encoding.UTF8, "application/json"); HttpResponseMessage response = null; response = await _client.PostAsync(uri, content); if (response.IsSuccessStatusCode) { var result = await response.Content.ReadAsStringAsync(); return(JsonConvert.DeserializeObject <MiriotConfiguration>(result)); } return(null); }
public IActionResult Post([FromBody] MiriotConfiguration config) { try { if (config == null || !ModelState.IsValid) { return(BadRequest()); } bool itemExists = _context.Configurations.Any(c => c.Id == config.Id); if (itemExists) { return(StatusCode(StatusCodes.Status409Conflict, "config already exists")); } _context.Add(config); _context.SaveChanges(); } catch (Exception) { return(BadRequest("Could not create item")); } return(Ok(config)); }