public static void AddProfit(ProfitSource source, Money amount, ProfitPoolDistribution targetPool) { if (targetPool.Pool == PoolsHelper.GetBuiltInProfitPoolId(Pools.AdPackRevenueReturn)) { //Daily pool DailyPoolManager.AddToPool(targetPool.Pool, DateTime.Now, amount); AdPackProfitDistributionHistory.Add(amount); } else { //Global pool GlobalPoolManager.AddToPool(targetPool.Pool, amount); } }
public static void Delete(int profitPoolDistributionRuleId) { ProfitPoolDistribution rule = new ProfitPoolDistribution(profitPoolDistributionRuleId); if (new Pool(rule.Pool).Name != "Administrator Profit") { var adminRule = GetAdministratorProfitRule(rule.ProfitSource); if (adminRule.ProfitPoolPercent + rule.ProfitPoolPercent > 100) { adminRule.ProfitPoolPercent = 100; } else { adminRule.ProfitPoolPercent += rule.ProfitPoolPercent; } adminRule.Save(); rule.Delete(); } }
public static ProfitPoolDistribution GetAdministratorProfitRule(ProfitSource source) { var query = string.Format("SELECT TOP 1 * FROM ProfitPoolDistribution WHERE Pool = {0} AND ProfitSource = {1}", PoolsHelper.GetBuiltInProfitPoolId(Pools.AdministratorProfit), (int)source); var adminRule = TableHelper.GetListFromRawQuery <ProfitPoolDistribution>(query).SingleOrDefault(); if (adminRule == null) { adminRule = new ProfitPoolDistribution() { ProfitPoolPercent = 100, ProfitSource = source, Pool = PoolsHelper.GetBuiltInProfitPoolId(Pools.AdministratorProfit) }; adminRule.Save(); } return(adminRule); }