public static class DB { public static List<User> Users { get; set; } = new List<User>(); public static List<Item> Items { get; set; } = new List<Item>(); public static async void SaveDB() { await NetManage.Set<List<Item>>("Items", Items); await NetManage.Set<List<User>>("Users", Users); } public static void Initialize() { if (Settings.Default.IsActive) { Users = NetManage.Get<List<User>>("Users"); Items = NetManage.Get<List<Item>>("Items"); return; }; var user1 = new User { Id = 1, Name = "Alice" }; var user2 = new User { Id = 2, Name = "Bob" }; Users.Add(user1); Users.Add(user2); var item1 = new Item { Id = 1, Name = "Laptop", User = user1 }; var item2 = new Item { Id = 2, Name = "Smartphone", User = user2 }; var item3 = new Item { Id = 3, Name = "Computer", User = user2 }; Items.Add(item1); Items.Add(item2); Items.Add(item3); App.DB.SaveDB(); Settings.Default.IsActive = true; Settings.Default.Save(); } }
public MainWindow() { InitializeComponent(); App.DB.Initialize(); }
public static T Get<T>(string controller) { var settings = Settings.Default; var properties = settings.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance); var text = properties.FirstOrDefault(x => x.Name == controller); var xmlSerializer = new XmlSerializer(typeof(T)); using (var stringReader = new StringReader(text.GetValue(settings).ToString())) { return (T)xmlSerializer.Deserialize(stringReader); } } public static async Task Set<T>(string controller, T list) { var settings = Settings.Default; var properties = settings.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance); var property = properties.FirstOrDefault(x => x.Name.Equals(controller, StringComparison.OrdinalIgnoreCase)); if (property == null) return; var xmlSerializer = new XmlSerializer(typeof(T)); using (var stringWriter = new StringWriter()) { xmlSerializer.Serialize(stringWriter, list); string jsonData = stringWriter.ToString(); property.SetValue(settings, jsonData); } Settings.Default.Save(); }
if (contextData.Id == 0) { var data = App.DB.Users.LastOrDefault(); if (data == null) contextData.Id = 1; else contextData.Id = data.Id + 1; App.DB.Users.Add(contextData); } App.DB.SaveDB(); Refresh();
App.DB.Users.Remove(data); App.DB.SaveDB();