private static void DailyDistribution(bool HourDistribution = false, bool FinalDistributionButHourly = false) { DailyPool Pool = DailyPool.GetYesterdayPool(PoolsHelper.GetBuiltInProfitPoolId(Pools.AdPackRevenueReturn)); String RaportMessage = String.Empty; Int32 ActiveAdPacks = 0; Money TotalDistributed = Money.Zero; Money PerUnit = Money.Zero; Money InThePool = Pool.SumAmount; using (var bridge = ParserPool.Acquire(Database.Client)) { DistributionSQLHelper DistributionHelper = new DistributionSQLHelper(bridge.Instance); DistributionHelper.SetStartingDistributionPriority(); ActiveAdPacks = DistributionHelper.GetSumOfActiveAdPacks(); try { if (AppSettings.RevShare.AdPack.GroupPolicy == GroupPolicy.Classic) { //Classic //Nothing to change } if (AppSettings.RevShare.AdPack.GroupPolicy == GroupPolicy.CustomGroups || AppSettings.RevShare.AdPack.GroupPolicy == GroupPolicy.AutomaticAndCustomGroups) { //CustomGrups if (AppSettings.RevShare.AdPack.CustomReturnOption == CustomReturnOption.Accelerate) { DistributionHelper.UpdatePrioritiesCustomGroups(); } } if (AppSettings.RevShare.AdPack.GroupPolicy == GroupPolicy.AutomaticGroups || AppSettings.RevShare.AdPack.GroupPolicy == GroupPolicy.AutomaticAndCustomGroups) { //AutomaticGroups DistributionHelper.UpdatePrioritiesAutomaticGroups(); } Decimal priorities = DistributionHelper.GetSumOfPriorities(); if (ActiveAdPacks == 0) { throw new MsgException("No active AdPacks with active members. " + GetNoDistributionMessage(HourDistribution)); } //Make the distribution var adPackTypes = AdPackTypeManager.GetAllTypes(); foreach (var adPackType in adPackTypes) { var returnedPercentage = 0.0m; if (AppSettings.RevShare.AdPack.DistributionPolicy == DistributionPolicy.Fixed) { PerUnit = GetMoneyPerUnit(GetMoneyPerUnitFixed(adPackType), HourDistribution, FinalDistributionButHourly, adPackType); returnedPercentage = adPackType.FixedDistributionValuePercent; } else if (AppSettings.RevShare.AdPack.DistributionPolicy == DistributionPolicy.Pools) { PerUnit = GetMoneyPerUnit(GetMoneyPerUnitPools(InThePool, priorities), HourDistribution, FinalDistributionButHourly, adPackType); returnedPercentage = PerUnit.ToDecimal() / adPackType.Price.ToDecimal(); } RaportMessage += "<b>" + adPackType.Name + "</b> for priority 1.00 (no acceleration): <b>" + PerUnit.ToClearString() + "</b>. <br/>"; if (PerUnit > Money.Zero) { TotalDistributed += DistributionHelper.DistributeUsingPriority(PerUnit, adPackType.Id); } RevShareManager.AddAdPackTypePercentageHistory(adPackType.Id, returnedPercentage); } if (TitanFeatures.isAri) { AriRevShareDistribution.CreditAriRevShareDistribution(); } } catch (MsgException ex) { RaportMessage += ex.Message; } catch (Exception ex) { ErrorLogger.Log(ex); } Pool.SumAmount -= TotalDistributed; if (HourDistribution == false) { if (AppSettings.RevShare.AdPack.DistributionPolicy == DistributionPolicy.Pools) { RaportMessage += "Money moved to the next day pool: " + Pool.SumAmount.ToClearString() + ". "; } Pool.MoveMoneyForTomorrow(); } Pool.Save(); Report.Add(ActiveAdPacks, InThePool, TotalDistributed, RaportMessage); CustomGroupManager.TrySetGroupsAsExpired(); } }
public void InitializeSideBar() { if (Member.IsLogged) { //Turn some features on and off try { AriPlaceHolder.Visible = TitanFeatures.isAri; if (TitanFeatures.isAri) { bool matchingBonusQualified = AriRevShareDistribution.CheckReferalCondition(Member.CurrentId); MatchingBonusLabel.Text = matchingBonusQualified ? "Qualified" : "Not Qualified"; DirectRefCountLabel.Text = Member.CurrentInCache.GetDirectReferralsCount().ToString(); } PeopleProfileLink.HRef = HtmlCreator.GetProfileURL(Member.CurrentId, Member.CurrentName); if (Member.CurrentInCache.MembershipExpires == null) { ExpirationPlaceHolder.Visible = false; } else { MembershipExpiresLiteral.Text = Member.CurrentInCache.FormattedMembershipExpires; if (Member.CurrentInCache.Membership.Id != Membership.Standard.Id && DateTime.Now.AddDays(3) > Member.CurrentInCache.MembershipExpires) { expireDateSpan.Attributes.Add("class", "f-s-10 text-danger"); } } var isEarner = Member.CurrentInCache.IsEarner; var isAdvertiser = Member.CurrentInCache.IsAdvertiser; var isPublisher = Member.CurrentInCache.IsPublisher; #region Publish var pWebsites = AppSettings.TitanFeatures.PublishWebsitesEnabled && isPublisher; var pBanners = AppSettings.TitanFeatures.PublishBannersEnabled && isPublisher; var pOfferWalls = AppSettings.TitanFeatures.PublishOfferWallsEnabled && isPublisher; var pGlobalPostback = AppSettings.TitanFeatures.PublishGlobalPostbackEnabled && isPublisher; var pPtcOfferWalls = AppSettings.TitanFeatures.PublishPTCOfferWallsEnabled && isPublisher; var pInTextAds = AppSettings.TitanFeatures.PublishInTextAdsEnabled && isPublisher; PublishMenu.Visible = AppSettings.TitanFeatures.PublishersRoleEnabled && (pWebsites || pBanners || pOfferWalls || pPtcOfferWalls || pGlobalPostback || pInTextAds); Publish1.Visible = pWebsites; Publish2.Visible = pBanners; Publish3.Visible = pOfferWalls; Publish4.Visible = pGlobalPostback; Publish5.Visible = pPtcOfferWalls; Publish6.Visible = pInTextAds; #endregion #region Earn var eCPAGPT = AppSettings.TitanFeatures.EarnCPAGPTEnabled && isEarner; var eAds = AppSettings.TitanFeatures.EarnAdsEnabled && isEarner; var eTrafficExchange = AppSettings.TitanFeatures.EarnTrafficExchangeEnabled && isEarner; var eSearch = AppSettings.TitanFeatures.EarnSearchEnabled && isEarner; var eVideo = AppSettings.TitanFeatures.EarnVideoEnabled && isEarner; var eLikes = AppSettings.TitanFeatures.EarnLikesEnabled && isEarner; var eTrafficGrid = AppSettings.TitanFeatures.EarnTrafficGridEnabled && isEarner; var eOfferwalls = AppSettings.TitanFeatures.EarnOfferwallsEnabled && isEarner; var eRefBack = AppSettings.TitanFeatures.EarnRefBackEnabled && isEarner; var eCrowdflower = AppSettings.TitanFeatures.EarnCrowdFlowerEnabled && isEarner; var ePaidToPromote = AppSettings.TitanFeatures.EarnPaidToPromoteEnabled && isEarner; var eCoinhiveClaim = AppSettings.TitanFeatures.EarnCaptchaClaim && isEarner; EarnMenu.Visible = AppSettings.TitanFeatures.EarnersRoleEnabled && (eCPAGPT || eAds || eTrafficExchange || eSearch || eVideo || eLikes || eTrafficGrid || eOfferwalls || eRefBack || eCrowdflower || ePaidToPromote || eCoinhiveClaim); Earn1.Visible = eCPAGPT; Earn2.Visible = eAds; Earn4.Visible = eTrafficExchange; Earn5.Visible = eSearch; Earn6.Visible = eVideo; Earn7.Visible = eLikes; Earn8.Visible = eTrafficGrid; Earn9.Visible = eOfferwalls; Earn11.Visible = eRefBack; Earn12.Visible = eCrowdflower; Earn14.Visible = ePaidToPromote; Earn15.Visible = eCoinhiveClaim; #endregion #region Advertise var aCPAGPT = AppSettings.TitanFeatures.AdvertCPAGPTEnabled && isAdvertiser; var aBanners = AppSettings.TitanFeatures.AdvertBannersEnabled && isAdvertiser; var aAds = AppSettings.TitanFeatures.AdvertAdsEnabled && isAdvertiser; var aTrafficExchange = AppSettings.TitanFeatures.AdvertTrafficExchangeEnabled && isAdvertiser; var aFacebook = AppSettings.TitanFeatures.AdvertFacebookEnabled && isAdvertiser; var aTrafficGrid = AppSettings.TitanFeatures.AdvertTrafficGridEnabled && isAdvertiser; var aLoginAds = AppSettings.TitanFeatures.AdvertLoginAdsEnabled && isAdvertiser; var aSurfAds = AppSettings.TitanFeatures.AdvertSurfAdsEnabled && isAdvertiser; var aPtcOfferWalls = AppSettings.TitanFeatures.AdvertPtcOfferWallEnabled && isAdvertiser; var aMyUrls = AppSettings.TitanFeatures.AdvertMyUrlsEnabled && isAdvertiser; var aInTextAds = AppSettings.TitanFeatures.AdvertInTextAdsEnabled && isAdvertiser; var aMiniVideos = AppSettings.TitanFeatures.AdvertMiniVideoEnabled && isAdvertiser; var aPaidToPromote = AppSettings.TitanFeatures.AdvertPaidToPromoteEnabled && isAdvertiser; AdvertiseMenu.Visible = AppSettings.TitanFeatures.AdvertisersRoleEnabled && (aCPAGPT || aBanners || aAds || aTrafficExchange || aFacebook || aTrafficGrid || aSurfAds || aPtcOfferWalls || aMyUrls || aInTextAds || aMiniVideos || aPaidToPromote || aLoginAds); Advertise1.Visible = aCPAGPT; Advertise2.Visible = aBanners; Advertise3.Visible = aAds; Advertise5.Visible = aTrafficExchange; Advertise6.Visible = aFacebook; Advertise7.Visible = aTrafficGrid; Advertise9.Visible = aLoginAds; Advertise10.Visible = aSurfAds; Advertise11.Visible = aMyUrls; Advertise12.Visible = aPtcOfferWalls; Advertise13.Visible = aInTextAds; Advertise14.Visible = aMiniVideos; Advertise15.Visible = aPaidToPromote; #endregion #region Investment Platform var iPlans = AppSettings.InvestmentPlatform.InvestmentPlatformEnabled; var iQueue = AppSettings.TitanFeatures.InvestmentPlatformQueueSystemEnabled; var iHistory = AppSettings.TitanFeatures.InvestmentPlatformHistoryEnabled; var iCalculator = AppSettings.TitanFeatures.InvestmentPlatformCalculatorEnabled && !AppSettings.InvestmentPlatform.LevelsEnabled; InvestmentPlatformMenu.Visible = iPlans || iQueue || iHistory || iCalculator; InvestmentPlanHistory.Visible = iHistory; InvestmentPlatformCalculator.Visible = iCalculator; InvestmentQueueSystem.Visible = iQueue; #endregion #region News var newsHomepage = AppSettings.TitanFeatures.NewsHomepageEnabled; var newsSharing = AppSettings.TitanFeatures.NewsSharingArticlesEnabled; var newsWriting = AppSettings.TitanFeatures.NewsWritingArticlesEnabled; NewsMenu.Visible = newsHomepage || newsWriting || newsSharing; NewsHomepage.Visible = newsHomepage; NewsSharingArticles.Visible = newsSharing; NewsWritingArticles.Visible = newsWriting; #endregion #region ICO var icoInfo = AppSettings.TitanFeatures.ICOInfoEnabled; var icoBuy = AppSettings.TitanFeatures.ICOBuyEnabled; var icoStages = AppSettings.TitanFeatures.ICOStagesEnabled; var icoHistory = AppSettings.TitanFeatures.ICOHistoryEnabled; ICOMenu.Visible = icoInfo || icoBuy || icoStages || icoHistory; ICOInfo.Visible = icoInfo; ICOBuy.Visible = icoBuy; ICOHistory.Visible = icoHistory; ICOStages.Visible = icoStages; #endregion #region InternalExchange var icoInternalExchange = AppSettings.TitanFeatures.InternalExchangeEnabled; var icoInternalExchangeCurrentOrders = AppSettings.TitanFeatures.InternalExchangeCurrentOrdersEnabled; var icoInternalExchangeTradingHistory = AppSettings.TitanFeatures.InternalExchangeTradingHistoryEnabled; InternalExchangeMenu.Visible = (icoInternalExchange || icoInternalExchangeCurrentOrders || icoInternalExchangeTradingHistory); InternalExchangeMain.Visible = icoInternalExchange; InternalExchangeOrders.Visible = icoInternalExchangeCurrentOrders; InternalExchangeHistory.Visible = icoInternalExchangeTradingHistory; #endregion #region Revenue Sharing var revShare = AppSettings.RevShare.IsRevShareEnabled; var eAdPacks = AppSettings.TitanFeatures.EarnAdPacksEnabled && isEarner; var aAdPacks = AppSettings.TitanFeatures.AdvertAdPacksEnabled && isEarner; var rGroups = AppSettings.TitanFeatures.CustomGroupsEnabled && isEarner; var rCalculator = AppSettings.TitanFeatures.AdPacksCalculatorEnabled && isEarner; RevenueSharingMenu.Visible = revShare && (eAdPacks || aAdPacks || rGroups || rCalculator); RevenueSharing1.Visible = eAdPacks; RevenueSharing2.Visible = aAdPacks; RevenueSharing3.Visible = rGroups; RevenueSharing4.Visible = rCalculator; #endregion #region CryptocurrencyTradingPlatform bool CryptocurrencyBuy = AppSettings.TitanFeatures.CryptocurrencyTradingBuyEnabled; bool CryptocurrencySell = AppSettings.TitanFeatures.CryptocurrencyTradingSellEnabled; if (!CryptocurrencyBuy && !CryptocurrencySell) { CryptocurrencyTradingPlatformMenu.Visible = false; } CryptocurrencyPlatformBuy.Visible = CryptocurrencyBuy; CryptocurrencyPlatformSell.Visible = CryptocurrencySell; #endregion #region Marketplace var aMarketplace = AppSettings.TitanFeatures.AdvertMarketplaceEnabled; Marketplace.Visible = aMarketplace; #endregion #region Referrals var fDirect = AppSettings.TitanFeatures.ReferralsDirectEnabled; var fIndirect = AppSettings.TitanFeatures.ReferralsIndirectEnabled; var fRented = AppSettings.TitanFeatures.ReferralsRentedEnabled; var fBanners = AppSettings.TitanFeatures.ReferralsBannersEnabled; var fLeadership = AppSettings.TitanFeatures.ReferralsLeadershipEnabled; var fRotatorLink = AppSettings.TitanFeatures.ReferralPoolRotatorEnabled; ReferralsMenu.Visible = fDirect || fIndirect || fRented || fBanners || fLeadership || fRotatorLink; Referrals1.Visible = fDirect; Referrals2.Visible = fIndirect; Referrals3.Visible = fRented; Referrals5.Visible = fBanners; Referrals6.Visible = fLeadership; Referrals7.Visible = fRotatorLink; Referrals8.Visible = AppSettings.TitanFeatures.ReferralMatrixEnabled && AppSettings.Matrix.Type == MatrixType.Referral; #endregion #region Entertainment var eContests = AppSettings.TitanFeatures.EarnContestsEnabled; var eJackpot = AppSettings.TitanFeatures.MoneyJackpotEnabled; var eGames = AppSettings.TitanFeatures.PeopleGamesEnabled; var eTrophies = AppSettings.TitanFeatures.TrophiesEnabled; var eDiceGame = AppSettings.TitanFeatures.MoneyDiceGameEnabled && isEarner; var eWebinars = AppSettings.TitanFeatures.WebinarsEnabled; var eEBooks = AppSettings.TitanFeatures.EBooksEnabled; var eSlotMachine = AppSettings.TitanFeatures.SlotMachineEnabled; var eMiniVideos = AppSettings.TitanFeatures.EntertainmentMiniVideoEnabled; var eRollDiceLottery = AppSettings.TitanFeatures.RollDiceLotteryEnabled; var eJackpotPvp = AppSettings.TitanFeatures.JackpotPvpEnabled; EntertainmentMenu.Visible = eContests || eJackpot || eGames || eTrophies || eDiceGame || eWebinars || eEBooks || eSlotMachine || eMiniVideos || eRollDiceLottery || eJackpotPvp; Entertainment1.Visible = eContests; Entertainment2.Visible = eJackpot; Entertainment3.Visible = eGames; Entertainment4.Visible = eDiceGame; Entertainment5.Visible = eTrophies; Entertainment6.Visible = eWebinars; Entertainment7.Visible = eEBooks; Entertainment8.Visible = eSlotMachine; Entertainment9.Visible = eMiniVideos; Entertainment10.Visible = eRollDiceLottery; Entertainment11.Visible = eJackpotPvp; #endregion #region People var pMessages = AppSettings.TitanFeatures.PeopleMessagesEnabled; var pFriends = AppSettings.TitanFeatures.PeopleFriendsEnabled; var pProfile = AppSettings.TitanFeatures.PeopleProfileEnabled; var pTestimonials = AppSettings.TitanFeatures.TestimonialsEnabled; var pLeadershipSystem = AppSettings.TitanFeatures.LeaderShipSystemEnabled; var pRepresentatives = AppSettings.TitanFeatures.IsRepresentativesEnabled; PeopleMenu.Visible = pMessages || pFriends || pProfile || pTestimonials || pLeadershipSystem || pRepresentatives; People1.Visible = pMessages; People2.Visible = pFriends; People3.Visible = pProfile; People4.Visible = pTestimonials; People5LeadershipSystem.Visible = pLeadershipSystem; People5Representatives.Visible = pRepresentatives; #endregion #region Money var mTransfer = AppSettings.TitanFeatures.MoneyTransferEnabled; var mPayout = AppSettings.TitanFeatures.MoneyPayoutEnabled; var mGiftCards = AppSettings.TitanFeatures.MoneyGiftCardsEnabled; var mLogs = AppSettings.TitanFeatures.MoneyLogsEnabled; var mCreditLine = AppSettings.TitanFeatures.MoneyCreditLineEnabled; var mReceipts = AppSettings.TitanFeatures.MoneyReceiptsEnabled; MoneyMenu.Visible = mTransfer || mPayout || mGiftCards || mLogs || mCreditLine || mReceipts; Money1.Visible = mTransfer; Money2.Visible = mPayout; Money3.Visible = mGiftCards; Money4.Visible = mLogs; Money5.Visible = mCreditLine; Money6.Visible = mReceipts; #endregion #region Statistics var sMoney = AppSettings.TitanFeatures.StatisticsMoneyEarnedEnabled; var sPoints = AppSettings.TitanFeatures.StatisticsPointsEarnedEnabled; var sAdPacks = AppSettings.TitanFeatures.StatisticsAdPacksEnabled && isEarner; var sAds = AppSettings.TitanFeatures.StatisticsPTCClicksEnabled; var sLeaderboard = AppSettings.TitanFeatures.StatisticsLeaderboardEnabled; StatisticsMenu.Visible = sMoney || sPoints || sAdPacks || sAds || sLeaderboard; Statistics1.Visible = sMoney; Statistics2.Visible = sPoints; Statistics4.Visible = sAdPacks; Statistics5.Visible = sAds; Statistics6.Visible = sLeaderboard; #endregion } catch (Exception ex) { } } else { MainPanel.Visible = false; } //Mark as active current list element MarkActiveElement(); }