public static FUTAccount GetFUTAccountByEMail(string email)
 {
     lock (_accountsLock)
     {
         using (var context = new FUTAccountsDatabase())
         {
             return(context.FUTAccounts.FirstOrDefault(x => x.EMail.ToLower() == email.ToLower()));
         }
     }
 }
 public static List <FUTAccount> GetFUTAccounts()
 {
     lock (_accountsLock)
     {
         using (var context = new FUTAccountsDatabase())
         {
             return(context.FUTAccounts.ToList());
         }
     }
 }
 public static void AddFUTAccount(FUTAccount account)
 {
     lock (_accountsLock)
     {
         using (var context = new FUTAccountsDatabase())
         {
             context.FUTAccounts.Add(account);
             context.SaveChanges();
         }
     }
 }
 public static void RemoveFUTAccountByEMail(string account)
 {
     lock (_accountsLock)
     {
         using (var context = new FUTAccountsDatabase())
         {
             var accFromDatabase = context.FUTAccounts.FirstOrDefault(x => x.EMail == account);
             if (accFromDatabase != null)
             {
                 context.FUTAccounts.Remove(accFromDatabase);
                 context.SaveChanges();
             }
         }
     }
 }
        public static void SaveBotStatistics()
        {
            try
            {
                var totalCoins = 0;
                var accounts   = FUTAccountsDatabase.GetFUTAccounts();
                var coins      = FUTLogsDatabase.GetFUTCoins();

                foreach (var acc in accounts)
                {
                    var coinsFromAcc = coins.Where(x => x.EMail.ToLower() == acc.EMail.ToLower()).FirstOrDefault();
                    if (coinsFromAcc != null)
                    {
                        totalCoins += coinsFromAcc.Coins;
                    }
                }

                var allTPItems = BotManager.GetTradepileItems();
                var tpValue    = (int)(allTPItems.Sum(x => x.buyNowPrice) * 0.95);

                var totalBuys  = FUTLogsDatabase.GetFUTBuysCount();
                var totalSells = FUTLogsDatabase.GetFUTSellsCount();

                var log = new FUTBotStatistics();
                log.Buys                = totalBuys;
                log.Sells               = totalSells;
                log.TotalCoins          = totalCoins;
                log.TotalTradepileItems = allTPItems.Count;
                log.TotalTradepileValue = tpValue;

                FUTLogsDatabase.InsertFUTBotStatistics(log);
            }
            catch
            {
            }
        }