Jelajahi Sumber

some changes

Tigran 4 tahun lalu
induk
melakukan
5afc27a518

+ 11 - 2
CardCollector/Bot.cs

@@ -1,7 +1,9 @@
 using System;
+using System.Threading.Tasks;
 using System.Timers;
 using CardCollector.DataBase;
 using CardCollector.Resources;
+using Microsoft.EntityFrameworkCore;
 using Telegram.Bot;
 using CancellationTokenSource = System.Threading.CancellationTokenSource;
 
@@ -17,6 +19,15 @@ namespace CardCollector
         {
             var cts = new CancellationTokenSource();
             Client.StartReceiving(HandleUpdateAsync, HandleErrorAsync, cancellationToken: cts.Token);
+            
+            RunMemoryCleaner();
+            
+            Console.ReadLine();
+            cts.Cancel();
+        }
+
+        private static void RunMemoryCleaner()
+        {
             var timer = new Timer
             {
                 AutoReset = true,
@@ -24,8 +35,6 @@ namespace CardCollector
                 Interval = Constants.SAVING_CHANGES_INTERVAL
             };
             timer.Elapsed += SavingChanges;
-            Console.ReadLine();
-            cts.Cancel();
         }
 
         private static async void SavingChanges(object o, ElapsedEventArgs e)

+ 2 - 4
CardCollector/DataBase/CardCollectorDatabase.cs

@@ -6,10 +6,7 @@ namespace CardCollector.DataBase
     using static Resources.AppSettings;
     public class CardCollectorDatabase : DbContext
     {
-        private CardCollectorDatabase()
-        {
-            Database.EnsureCreated();
-        }
+        private CardCollectorDatabase() { }
         private static CardCollectorDatabase _instance;
         public static CardCollectorDatabase Instance
         {
@@ -17,6 +14,7 @@ namespace CardCollector.DataBase
             {
                 if (_instance != null) return _instance;
                 _instance = new CardCollectorDatabase();
+                _instance.Database.EnsureCreated();
                 return _instance;
             }
         }

+ 1 - 1
CardCollector/DataBase/EntityDao/CashDao.cs

@@ -4,7 +4,7 @@ using Microsoft.EntityFrameworkCore;
 
 namespace CardCollector.DataBase.EntityDao
 {
-    public class CashDao
+    public static class CashDao
     {
         private static readonly DbSet<CashEntity> Table = CardCollectorDatabase.Instance.CashTable;
         

+ 1 - 1
CardCollector/DataBase/EntityDao/UserDao.cs

@@ -9,7 +9,7 @@ namespace CardCollector.DataBase.EntityDao
     public static class UserDao
     {
         private static readonly DbSet<UserEntity> Table = CardCollectorDatabase.Instance.Users;
-        private static Dictionary<long, UserEntity> ActiveUsers = new();
+        private static readonly Dictionary<long, UserEntity> ActiveUsers = new();
 
         public static async Task<UserEntity> GetUser(User user)
         {