示例#1
0
    public static void ReleaseCPA(CPAPostbackLog log)
    {
        try
        {
            var where = TableHelper.MakeDictionary("NetworkOfferIdInt", log.OfferId);
            where.Add("AdvertiserUsername", log.NetworkName);
            CPAOffer OurOffer = TableHelper.SelectRows <CPAOffer>(where)[0]; //TODO (What if offer has been deleted in the meantime?)

            //Credit
            CPAGPTCrediter Crediter   = (CPAGPTCrediter)CrediterFactory.Acquire(log.Username, CreditType.CPAGPTOffer);
            var            conditions = TableHelper.MakeDictionary("Username", log.Username);
            conditions.Add("OfferId", OurOffer.Id);
            conditions.Add("OfferStatus", (int)OfferStatus.Pending);

            OfferRegisterEntry entry = TableHelper.SelectRows <OfferRegisterEntry>(conditions)[0];

            CPAManager.AcceptEntryManually(entry, new Member(entry.Username));

            //Update log
            log.Status = CPAPostBackLogStatus.CreditedByNetworkPointsUnlocked;
            log.Save();
        }
        catch (Exception ex)
        {
            ErrorLogger.Log(ex);
        }
    }
示例#2
0
 public static bool CPAGPTShouldBeLocked(Money money, CreditAs creditAs, Member member, bool RequiresConversion)
 {
     money = CPAGPTCrediter.CalculatePostback(money, RequiresConversion, member, creditAs);
     return(PointsLockingManager.ShouldBeLocked(money, creditAs, member, RequiresConversion));
 }