예제 #1
0
        // Ä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);
                }
            }
        }
예제 #2
0
        // 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);
                }
            }
        }
예제 #3
0
 // 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);
         }
     }
 }