static void recalculateReferralsContracts()
 {
     using (FlyMiningEntityDI Fdb = new FlyMiningEntityDI())
     {
         List <UserProfile2>     userList     = Fdb.UserProfile2.Where(t => t.InvitedBy.HasValue && t.InvitedBy != t.Id && t.InvitedBy != 0).ToList();
         List <ContractReferral> referralList = Fdb.ContractReferrals.ToList();
         List <Contract>         contractList = Fdb.Contracts.ToList();
         decimal referralPart = Settings.FriendPart;
         foreach (UserProfile2 user in userList)
         {
             List <Contract> contractUserList = contractList.Where(t => t.userID == user.Id).ToList();
             foreach (Contract contract in contractUserList)
             {
                 if (referralList.Count(t => t.userID == user.Id && t.ContractFatherId == contract.id) == 0)
                 {
                     ContractReferral newRefContr = new ContractReferral(contract, user.Id, referralPart);
                     Fdb.ContractReferrals.Add(newRefContr);
                 }
                 if (referralList.Count(t => t.userID == user.InvitedBy && t.ContractFatherId == contract.id) == 0)
                 {
                     ContractReferral newRefContr = new ContractReferral(contract, user.Id, referralPart);
                     Fdb.ContractReferrals.Add(newRefContr);
                 }
             }
             Fdb.SaveChanges();
         }
     }
 }
Example #2
0
 public static void SaveHashrateHistory()
 {
     using (FlyMiningMonitorEntities1 fme = new FlyMiningMonitorEntities1())
     {
         using (FlyMiningEntityDI fdb = new FlyMiningEntityDI())
         {
             DateTime currentTime = DateTime.UtcNow;
             currentTime = currentTime.Date.AddHours(currentTime.Hour);
             DateTime timeHourEarly            = currentTime.AddHours(-1);
             List <MiningMonitorUser> userList = fme.MiningMonitorUsers.Where(t => t.AdminProperty.HasValue && t.AdminProperty.Value && t.LastDataImport > timeHourEarly).ToList();
             foreach (MiningMonitorUser user in userList)
             {
                 if (!fdb.HistoricalHourHashrates.Any(t => t.date == currentTime && t.userID == user.UserID))
                 {
                     fdb.HistoricalHourHashrates.Add(new HistoricalHourHashrate()
                     {
                         date            = currentTime,
                         Hashrate        = Convert.ToInt64(user.TotalHashrate.Value),
                         MinerAllCount   = user.AllMiners,
                         NotWorkingCount = user.AllMiners - user.WorkingMiners,
                         WorkingCount    = user.WorkingMiners,
                         userID          = user.UserID,
                         Site            = true
                     });
                 }
             }
             fdb.SaveChanges();
         }
     }
 }
 public static void Recalculating(object obj = null)
 {
     using (FlyMiningEntityDI fDB = new FlyMiningEntityDI())
     {
         recalculateBalance(fDB);
         recalculateUserContractHashrate(fDB);
     }
 }
 public static void dailyIncome(object obj = null)
 {
     if (Math.Abs((DateTime.UtcNow - DateTime.UtcNow.Date).TotalMinutes) < 7 || Math.Abs((DateTime.UtcNow - DateTime.UtcNow.Date.AddDays(1)).TotalMinutes) < 7)
     {
         System.Threading.Thread.Sleep(TimeSpan.FromMinutes(10));
     }
     using (FlyMiningEntityDI fDB = new FlyMiningEntityDI())
     {
         calculateNewChanges(fDB, SiteContent.FlyHodler);
         calculateNewChanges(fDB, SiteContent.Flymining);
         calculateFee(fDB);
         timeOffsetCheck(fDB);
         MinningPool.savePoolHashrateHistoryUpdate().Wait();
         MinningPool.savePoolIncomeHistoryUpdate().Wait();
         HistHourFunction.SaveHashrateHistory();
     }
 }