// Ändern des Patreon Status. public static void ChangePatreonUser(User runningUser, string userId, bool wert) { User newSpenderUser = UserManager.FindUserByID(int.Parse(userId)); using (var db = new LiteDatabase(@"GBSpender.db")) { SpenderUser existUser; var premiumusers = db.GetCollection <SpenderUser>("SpenderUser"); if (newSpenderUser.SteamId != null) { existUser = premiumusers.FindOne(x => x.SteamId.Contains(newSpenderUser.SteamId)); } else { existUser = premiumusers.FindOne(x => x.SteamId.Contains(newSpenderUser.SlgId)); } if (existUser != null) { if (wert == true) { existUser.Patreon = true; if (existUser.EndDate > DateTime.Now) { existUser.LeftDays = existUser.EndDate.Subtract(DateTime.Now).Days; } } if (wert == false) { existUser.Patreon = false; if (existUser.LeftDays > 0) { existUser.EndDate = DateTime.Now.AddDays(existUser.LeftDays + 1); } } premiumusers.Update(existUser); } else { SpenderUser newSpenderUserObject = new SpenderUser { Username = newSpenderUser.Name, SteamId = newSpenderUser.SteamId, SlgId = newSpenderUser.SlgId, Patreon = wert }; premiumusers.Insert(newSpenderUserObject); ChatManager.ServerMessageToPlayer(new LocString("Der Spieler mit der ID " + newSpenderUser.Id + " und dem Namen " + newSpenderUser.Name + " wurde mit Patreon" + wert + "angelegt!"), runningUser, false, DefaultChatTags.Notifications, ChatCategory.Info); } } }
// Hinzufügen eines Spenders in die Datenbank. public static void AddSpenderUser(User runningUser, string userId, string month) { User newSpenderUser = UserManager.FindUserByID(int.Parse(userId)); using (var db = new LiteDatabase(@"GBSpender.db")) { SpenderUser existUser; var premiumusers = db.GetCollection <SpenderUser>("SpenderUser"); if (newSpenderUser.SteamId != null) { existUser = premiumusers.FindOne(x => x.SteamId.Contains(newSpenderUser.SteamId)); } else { existUser = premiumusers.FindOne(x => x.SteamId.Contains(newSpenderUser.SlgId)); } if (existUser != null) { if (existUser.EndDate < DateTime.Now) { existUser.EndDate = existUser.EndDate.AddMonths(int.Parse(month)); } else { existUser.EndDate = DateTime.Now.AddMonths(int.Parse(month)); } if (existUser.Username != newSpenderUser.Name) { existUser.Username = newSpenderUser.Name; } premiumusers.Update(existUser); ChatManager.ServerMessageToPlayer(new LocString("Dem Spieler mit der ID " + newSpenderUser.Id + " und dem Namen " + newSpenderUser.Name + " wurden " + month + " Monate Premium hinzugefügt!"), runningUser, false, DefaultChatTags.Notifications, ChatCategory.Info); } else { SpenderUser newSpenderUserObject = new SpenderUser { Username = newSpenderUser.Name, SteamId = newSpenderUser.SteamId, SlgId = newSpenderUser.SlgId, EndDate = DateTime.Now.Date.AddMonths(int.Parse(month)) }; premiumusers.Insert(newSpenderUserObject); ChatManager.ServerMessageToPlayer(new LocString("Der Spieler mit der ID " + newSpenderUser.Id + " und dem Namen " + newSpenderUser.Name + " wurde mit " + month + " Monaten Premium angelegt!"), runningUser, false, DefaultChatTags.Notifications, ChatCategory.Info); } } }
// Bei veränderung der SpenderUser Klasse wird diese Methode benutzt um die bestehnde Datenbank auf den neusten Stand zu bringen. public static void UpdateDatabase() { using (var db = new LiteDatabase(@"GBSpender.db")) { var premiumusers = db.GetCollection <SpenderUser>("SpenderUser"); var allSpender = premiumusers.FindAll(); foreach (SpenderUser spender in allSpender) { SpenderUser newSpenderUser = new SpenderUser { Username = spender.Username, SteamId = spender.SteamId, SlgId = spender.SlgId, EndDate = spender.EndDate, LastGiftDay = spender.LastGiftDay, LastBear = spender.LastBear }; premiumusers.Insert(newSpenderUser); Console.WriteLine("Neu angelegt: " + newSpenderUser.Username); premiumusers.Delete(spender.ID); Console.WriteLine("Gelöscht: " + spender.Username); } } }