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); } }
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)); }