// PUT settings/foo public ARMEntry <SettingEntry> Put(string name, [FromBody] ARMEntry <SettingEntry> armEntry) { if (armEntry == null) { throw new ArgumentException(); } var settings = SettingsStore.Instance.Load(); SettingEntry existingEntry = settings.FirstOrDefault(e => e.Name == name); if (existingEntry != null) { settings.Remove(existingEntry); } SettingEntry entry = armEntry.Properties; entry.Name = name; settings.Add(entry); settings.Sort((s1, s2) => s1.Name.CompareTo(s2.Name)); SettingsStore.Instance.Save(settings); // Return the newly created entry return(ARMEntry <SettingEntry> .Create(entry, Request)); }
// GET settings/foo public ARMEntry <SettingEntry> Get(string name) { var settings = SettingsStore.Instance.Load(); SettingEntry entry = settings.FirstOrDefault(e => e.Name == name); if (entry == null) { var resp = new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent(string.Format("No setting with name = {0}", name)), ReasonPhrase = "Settings name Not Found" }; throw new HttpResponseException(resp); } return(ARMEntry <SettingEntry> .Create(entry, Request)); }