protected override ApiResultMessage HandleRequest(object args)
        {
            string token     = ((JObject)args)["token"].ToString();
            int    featureId = (int)((JObject)args)["feature"];

            int userId         = ApiAccessToken.ValidateAndGetUserId(token);
            var purchaseOption = PurchaseOption.Get((PurchaseOption.Features)featureId);

            List <int> availableBalances = new List <int>();

            if (purchaseOption.PurchaseBalanceEnabled)
            {
                availableBalances.Add((int)PurchaseBalances.Purchase);
            }

            if (purchaseOption.CashBalanceEnabled)
            {
                availableBalances.Add((int)PurchaseBalances.Cash);
            }

            return(new ApiResultMessage
            {
                success = true,
                message = String.Empty,
                data = availableBalances
            });
        }
        protected override ApiResultMessage HandleRequest(object args)
        {
            var token            = ((JObject)args)["token"].ToString();
            var membershipPackId = Convert.ToInt32(((JObject)args)["membershipPackId"]);
            var htmlResponse     = false;
            var balance          = (PurchaseBalances)Convert.ToInt32(((JObject)args)["balance"]);

            var userId        = ApiAccessToken.ValidateAndGetUserId(token);
            var pack          = new MembershipPack(membershipPackId);
            var User          = new Member(userId);
            var ResultMessage = U3501.UPGRADEOK;

            if (balance == PurchaseBalances.PaymentProcessor)
            {
                var PackPrice = pack.GetPrice(User);
                var bg        = new UpgradeMembershipButtonGenerator(User, PackPrice, pack);
                ResultMessage = GenerateHTMLButtons.GetPaymentButtons(bg);
                htmlResponse  = true;
            }
            else
            {
                Membership.BuyPack(User, pack, balance);
            }

            return(new ApiResultMessage
            {
                success = true,
                message = ResultMessage,
                messageIsHtml = htmlResponse,
                data = null
            });
        }
Exemple #3
0
        protected override ApiResultMessage HandleRequest(object args)
        {
            string token = ((JObject)args)["token"].ToString();

            int userId = ApiAccessToken.ValidateAndGetUserId(token);

            return(new ApiResultMessage
            {
                success = true,
                message = String.Empty,
                data = new ApiMember(new Member(userId))
            });
        }
Exemple #4
0
        protected override ApiResultMessage HandleRequest(object args)
        {
            string token = ((JObject)args)["token"].ToString();

            int                userId       = ApiAccessToken.ValidateAndGetUserId(token);
            Member             user         = new Member(userId);
            List <Member>      referrals    = user.GetDirectReferralsList();
            List <ApiReferral> apiReferrals = referrals.Select(elem => new ApiReferral(elem)).ToList();

            return(new ApiResultMessage
            {
                success = true,
                message = (apiReferrals.Count > 0)? String.Empty : L1.NODIRECTREFERRALS,
                data = apiReferrals
            });
        }
Exemple #5
0
        protected override ApiResultMessage HandleRequest(object args)
        {
            string token  = ((JObject)args)["token"].ToString();
            bool   active = (bool)((JObject)args)["active"];

            int            userId   = ApiAccessToken.ValidateAndGetUserId(token);
            List <Jackpot> jackpots = JackpotManager.GetJackpots(active);

            List <ApiJackpot> apiJackpots = jackpots.Select(elem => new ApiJackpot(elem, userId)).ToList();

            return(new ApiResultMessage
            {
                success = true,
                message = String.Empty,
                data = apiJackpots
            });
        }
        protected override ApiResultMessage HandleRequest(object args)
        {
            string token = ((JObject)args)["token"].ToString();

            int    userId = ApiAccessToken.ValidateAndGetUserId(token);
            Member User   = new Member(userId);

            //Available payment processors
            List <ApiPaymentProcessor> PaymentProcessors = GenerateHTMLButtons.CashoutFromItems.
                                                           Select(elem => new ApiPaymentProcessor(elem.Text, elem.Value)).ToList();

            return(new ApiResultMessage
            {
                success = true,
                message = String.Empty,
                data = new ApiWithdrawalData(User.GetUnpaidPayoutRequests(), PaymentProcessors, AppSettings.Registration.IsPINEnabled, User.MainBalance)
            });
        }
Exemple #7
0
        protected override ApiResultMessage HandleRequest(object args)
        {
            string token = ((JObject)args)["token"].ToString();

            int    userId = ApiAccessToken.ValidateAndGetUserId(token);
            Member User   = new Member(userId);

            //Available payment processors
            List <ApiPaymentProcessor> PaymentProcessors = GenerateHTMLButtons.TransferFromItems.
                                                           Select(elem => new ApiPaymentProcessor(elem.Text, elem.Value)).ToList();

            return(new ApiResultMessage
            {
                success = true,
                message = String.Empty,
                data = new ApiTransferData(PaymentProcessors)
            });
        }
        protected override ApiResultMessage HandleRequest(object args)
        {
            string token = ((JObject)args)["token"].ToString();
            ApiJackpotTicketPurchaseData data = ((JObject)args).ToObject <ApiJackpotTicketPurchaseData>();

            int userId = ApiAccessToken.ValidateAndGetUserId(token);

            if (!AppSettings.TitanFeatures.MoneyJackpotEnabled)
            {
                throw new MsgException("Jackpot are disabled.");
            }

            Member  user    = new Member(userId);
            Jackpot jackpot = new Jackpot(data.jackpotId);

            if (data.tickets <= 0)
            {
                throw new MsgException(U5003.INVALIDNUMBEROFTICKETS);
            }

            PurchaseBalances balance       = (PurchaseBalances)data.balance;
            BalanceType      targetBalance = PurchaseOption.GetBalanceType(balance);

            var purchaseOption = PurchaseOption.Get(PurchaseOption.Features.Jackpot);

            if (balance == PurchaseBalances.Purchase && !purchaseOption.PurchaseBalanceEnabled)
            {
                throw new MsgException("You can't purchase with that balance.");
            }

            if (balance == PurchaseBalances.Cash && !purchaseOption.CashBalanceEnabled)
            {
                throw new MsgException("You can't purchase with that balance.");
            }

            JackpotManager.BuyTickets(jackpot, user, data.tickets, targetBalance);

            return(new ApiResultMessage
            {
                success = true,
                message = U5003.TICKETPURCHASESUCCESS.Replace("%n%", data.tickets.ToString()),
                data = null
            });
        }
        protected override ApiResultMessage HandleRequest(object args)
        {
            string  token          = ((JObject)args)["token"].ToString();
            int     pin            = Convert.ToInt32(((JObject)args)["pin"]);
            decimal amount         = Convert.ToDecimal(((JObject)args)["amount"]);
            string  processorValue = ((JObject)args)["processor"].ToString();

            int    userId = ApiAccessToken.ValidateAndGetUserId(token);
            Member User   = new Member(userId);

            User.ValidatePIN(pin.ToString());

            Money Amount = new Money(amount);

            Amount = Money.Parse(Amount.ToShortClearString());

            var userAccountAddress = String.Empty;

            try
            {
                var CustomProcessor = new CustomPayoutProcessor(int.Parse(processorValue));
                userAccountAddress = User.GetPaymentAddress(CustomProcessor.Id);
            }
            catch (Exception)
            {
                var selectedProcessor            = processorValue;
                PaymentProcessor targetprocessor = PaymentAccountDetails.GetFromStringType(selectedProcessor);
                userAccountAddress = User.GetPaymentAddress(targetprocessor);
            }

            //Lets process to cashout
            PayoutManager Manager = new PayoutManager(User, Amount, processorValue,
                                                      CustomPayoutProcessor.IsCustomPayoutProcessor(processorValue), CustomPayoutProcessor.GetCustomPayoutProcessorId(processorValue), userAccountAddress);

            string successMessage = Manager.TryMakePayout();

            return(new ApiResultMessage
            {
                success = true,
                message = successMessage,
                data = null
            });
        }
Exemple #10
0
        protected override ApiResultMessage HandleRequest(object args)
        {
            string token  = ((JObject)args)["token"].ToString();
            int    userId = ApiAccessToken.ValidateAndGetUserId(token);

            Member User           = new Member(userId);
            Money  FirstPackPrice = Money.Zero;

            //Available Balances
            PurchaseOption purchaseOption    = PurchaseOption.Get(PurchaseOption.Features.Upgrade);
            List <int>     availableBalances = new List <int>();

            if (purchaseOption.PurchaseBalanceEnabled)
            {
                availableBalances.Add((int)PurchaseBalances.Purchase);
            }

            if (purchaseOption.CashBalanceEnabled)
            {
                availableBalances.Add((int)PurchaseBalances.Cash);
            }

            //Always allow to upgrade via payment processor
            availableBalances.Add((int)PurchaseBalances.PaymentProcessor);

            //List of memberships
            var activeMemberships = Membership.GetActiveMembershipsDataTables();

            return(new ApiResultMessage
            {
                success = true,
                message = String.Empty,
                data = new ApiUpgradeData
                {
                    warningMessage = UpgradePageHelper.GetWarningMessage(User),
                    availableMembershipPacks = MembershipPack.AllPurchaseablePacks.Select(elem => new ApiMembershipPack(User, elem)).ToList(),
                    availableBalances = availableBalances,
                    memberships = activeMemberships.Rows.Cast <DataRow>().Select(elem => new ApiMembership(elem)).ToList(),
                    balances = ApiMember.GetBalances(User)
                }
            });
        }
        protected override ApiResultMessage HandleRequest(object args)
        {
            string token  = ((JObject)args)["token"].ToString();
            string from   = ((JObject)args)["from"].ToString();
            string to     = ((JObject)args)["to"].ToString();
            Money  amount = new Money(Convert.ToDecimal(((JObject)args)["amount"]));

            bool   htmlResponse = false;
            int    userId       = ApiAccessToken.ValidateAndGetUserId(token);
            Member User         = new Member(userId);

            string ResultMessage = TransferHelper.TryInvokeTransfer(from, to, amount, User, ref htmlResponse);

            return(new ApiResultMessage
            {
                success = true,
                message = ResultMessage,
                messageIsHtml = htmlResponse,
                data = null
            });
        }