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);
     }
 }
Example #2
0
    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();
        }
    }
Example #3
0
    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);
    }