protected void BuyOrUpgradePlan(PurchaseBalances balance) { try { var plan = new InvestmentPlatformPlan(int.Parse(PlansDropDownList.SelectedValue)); var activePlans = CurrentMode == InvestmentPlatformMode.Levels ? 0 : userActivePlans.Count; if (AppSettings.InvestmentPlatform.LevelsEnabled) { InvestmentLevelsManager.CanUserDepositOnLevel(plan, User); } if (plan.MaxPrice > Money.Zero) { if (AppSettings.InvestmentPlatform.InvestmentPlatformPlansPolicy == PlansPolicy.OneUpgradedPlan) { throw new MsgException(U6012.CANTUPGRADERANGEPLAN); } var targetPrice = Money.Parse(RangePriceTextBox.Text); if (plan.CheckPlanPrice(targetPrice)) { InvestmentPlatformManager.BuyOrUpgradePlan(Member.Current, balance, plan, targetPrice); } else { throw new MsgException(U6012.TYPECORRECTPRICE); } } else { InvestmentPlatformManager.BuyOrUpgradePlan(Member.Current, balance, plan); } //IF activePlans = 1, MEANS THAT WE UPGRADE PLAN (ON PlansPolicy.OneUpgradedPlan) if (AppSettings.InvestmentPlatform.InvestmentPlatformPlansPolicy == PlansPolicy.OneUpgradedPlan && activePlans == 1) { SuccessTextLiteral.Text = string.Format(U6011.SUCCESSUPGRADEPLAN, plan.Name); } else { SuccessTextLiteral.Text = string.Format(U6006.SUCCESBOUGHTPLAN, plan.Name); } SuccessPanel.Visible = true; availablePlans = InvestmentPlatformManager.GetAllAvailablePlansForUser(User.Id); InitBuyViewControls(); InitPlans(); } catch (Exception ex) { ErrorPanel.Visible = true; ErrorTextLiteral.Text = ex.Message; if (!(ex is MsgException)) { ErrorLogger.Log(ex); } } }
private int Comparison(InvestmentUsersPlans x, InvestmentUsersPlans y) { var plan1 = new InvestmentPlatformPlan(x.PlanId); var plan2 = new InvestmentPlatformPlan(y.PlanId); return(plan1.Number < plan2.Number ? -1 : 1); }
protected void LevelsGridView_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { var planId = Convert.ToInt32(e.Row.Cells[0].Text); var plan = new InvestmentPlatformPlan(planId); e.Row.Cells[0].Text = string.Format("L{0}. {1}", plan.Number, plan.Name); var amount = Money.Parse(e.Row.Cells[1].Text); e.Row.Cells[1].Text = amount.ToString(); var roi = Convert.ToInt32(e.Row.Cells[2].Text); e.Row.Cells[2].Text = (amount * roi / 100).ToString(); var fee = Money.Parse(e.Row.Cells[3].Text); e.Row.Cells[3].Text = fee.ToString(); try { var pp = (PaymentProcessor)Convert.ToInt32(e.Row.Cells[6].Text); e.Row.Cells[6].Text = pp.ToString(); } catch (Exception ex) { e.Row.Cells[6].Text = L1.NONE; } } }
public HtmlInvestmentProofGenerator(InvestmentUsersPlans userPlan) { this.userPlan = userPlan; user = new Member(userPlan.UserId); fileName = string.Format("{0}.pdf", userPlan.GeneratePlanNumber()); platformPlan = new InvestmentPlatformPlan(userPlan.PlanId); }
public HtmlInvestmentProofGenerator(InvestmentTicket ticket) { this.ticket = ticket; user = new Member(ticket.UserId); fileName = string.Format("{0}.pdf", ticket.GenerateTicketNumber()); platformPlan = new InvestmentPlatformPlan(new InvestmentUsersPlans(ticket.UserPlanId).PlanId); }
protected override void handle(string[] args, string transactionId, string amountSent, string from, string cryptoCurrencyInfo = "") { var user = new Member(args[0]); var plan = new InvestmentPlatformPlan(Convert.ToInt32(args[1])); Money amount = Money.Parse(amountSent); BuyInvestmentPlatformPlan(user, amount, plan, from, transactionId, cryptoCurrencyInfo); }
protected void CalculateButton_Click(object sender, EventArgs e) { try { ResultPlaceHolder.Visible = true; var planType = new InvestmentPlatformPlan(int.Parse(InvestmentPlanDropDownList.SelectedValue)); var dailyEarning = planType.Price * planType.Roi / 100 / planType.Time; var daily = dailyEarning.ToString(); var weekly = (dailyEarning * 7).ToString(); var monthly = (dailyEarning * 30).ToString(); var halfYear = (dailyEarning * 180).ToString(); var total = planType.TotalMinDefaultEarning().ToString(); if (planType.MaxPrice > Money.Zero) { var maxDailyEarning = planType.MaxPrice * planType.Roi / 100 / planType.Time; daily = string.Format("{0} - {1}", dailyEarning.ToString(), maxDailyEarning.ToString()); weekly = string.Format("{0} - {1}", (dailyEarning * 7).ToString(), (maxDailyEarning * 7).ToString()); monthly = string.Format("{0} - {1}", (dailyEarning * 30).ToString(), (maxDailyEarning * 30).ToString()); halfYear = string.Format("{0} - {1}", (dailyEarning * 180).ToString(), (maxDailyEarning * 180).ToString()); total = string.Format("{0} - {1}", planType.TotalMinDefaultEarning().ToString(), planType.TotalMaxEarning().ToString()); } DailyEarningsLiteral.Text = daily; WeeklyEarningsLiteral.Text = weekly; MonthlyEarningsLiteral.Text = monthly; HalfYearlyEarningsLiteral.Text = halfYear; TotalEarningsLitereal.Text = total; if (dailyEarning * 180 > planType.Price * planType.Roi / 100) { HalfYearTab.Visible = false; } if (dailyEarning * 30 > planType.Price * planType.Roi / 100) { MonthlyTab.Visible = false; } if (TitanFeatures.IsParras2k) { HalfYearlyEarningsLiteral.Text = planType.Price + " + " + (dailyEarning * 180).ToString(); } } catch (Exception ex) { ResultPlaceHolder.Visible = false; } }
protected void HistoryGridView_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { var plan = new InvestmentPlatformPlan(int.Parse(e.Row.Cells[2].Text)); e.Row.Cells[2].Text = plan.Name; //Money Returned var returnedMoney = Money.Parse(e.Row.Cells[3].Text); e.Row.Cells[3].Text = returnedMoney.ToString(); //Money to Return var moneyToReturn = Money.Parse(e.Row.Cells[4].Text); e.Row.Cells[4].Text = moneyToReturn.ToString(); //Money in System e.Row.Cells[5].Text = Money.Parse(e.Row.Cells[5].Text).ToString(); if (returnedMoney >= moneyToReturn) { e.Row.Cells[3].ForeColor = System.Drawing.Color.Green; } else { e.Row.Cells[3].ForeColor = System.Drawing.Color.DarkRed; } var Type = (PurchaseBalances)Convert.ToInt32(e.Row.Cells[6].Text); switch (Type) { case PurchaseBalances.Purchase: e.Row.Cells[6].Text = U6012.PURCHASEBALANCE; break; case PurchaseBalances.Cash: e.Row.Cells[6].Text = U5008.CASHBALANCE; break; default: break; } PlanStatus status = (PlanStatus)Convert.ToInt32(e.Row.Cells[7].Text); e.Row.Cells[7].Text = HtmlCreator.GetColoredStatus(status); } }
private UserControl GetAdHTML(InvestmentPlatformPlan plan, bool includedUsersEarning = false, InvestmentUsersPlans userPlan = null) { var objControl = (UserControl)Page.LoadControl("~/Controls/InvestmentPlatform/InvestmentPlanDetails.ascx"); var parsedControl = objControl as IInvestmentPlanObjectControl; parsedControl.PlatformPlan = plan; if (includedUsersEarning) { parsedControl.IncludedUsersEarning = includedUsersEarning; parsedControl.UserPlan = userPlan; } parsedControl.DataBind(); return((UserControl)parsedControl); }
private void InitManageViewControls() { //TO DO LATER //WithdrawAllMoneyFromSystem.Visible = !AppSettings.InvestmentPlatform.InvestmentPlatformDailyLimitsEnabled; UserPlanDetailsPlaceHolder.Controls.Clear(); InformationLiteral.Text = string.Format("{0}: {1}", U6006.MINAMOUNTTOPAYOUT, User.Membership.InvestmentPlatformMinAmountToCredited); MoneyInSystemLabel.Text = string.Format("{0}: {1}", U6006.MONEYINSYSTEM, InvestmentUsersPlans.GetMoneyInSystemFromFinishedPlans(User.Id)); var userPlans = InvestmentPlatformManager.GetUserActivePlans(User.Id); if (userPlans.Count > 0) { NoPlansPlaceHolder.Visible = false; InformationPanel.Visible = true; UsersPlanPlaceHolder.Visible = true; if (AppSettings.InvestmentPlatform.InvestmentPlatformPlansPolicy == PlansPolicy.OneUpgradedPlan) { var currentPlan = new InvestmentPlatformPlan(userPlans[0].PlanId); UserPlanDetailsPlaceHolder.Controls.Add(GetAdHTML(currentPlan, true, userPlans[0])); ManageDescription.Text = string.Format("{0}:", U6006.YOURPLAN); } else { userPlans.Sort(Comparison); foreach (var plan in userPlans) { var mainPlan = new InvestmentPlatformPlan(plan.PlanId); UserPlanDetailsPlaceHolder.Controls.Add(GetAdHTML(mainPlan, true, plan)); } ManageDescription.Text = string.Format("{0}s:", U6006.YOURPLAN); } } else { InformationPanel.Visible = false; UsersPlanPlaceHolder.Visible = false; NoPlansPlaceHolder.Visible = true; NoPlansLabel.Text = U6006.YOUDONTHAVEANYPLAN; } }
protected void BuyInvestmentPlatformPlan(Member user, Money amount, InvestmentPlatformPlan plan, string from, string transId, string cryptoCurrencyInfo) { bool successful = false; try { if (plan.MaxPrice > Money.Zero) { if (!plan.CheckPlanPrice(amount)) { throw new MsgException("Not enough money sent!"); } InvestmentPlatformManager.BuyOrUpgradePlan(user, PurchaseBalances.PaymentProcessor, plan, amount); successful = true; } else { var price = plan.Price; if (AppSettings.InvestmentPlatform.LevelsEnabled) { price += plan.LevelFee; } if (amount < price) { throw new MsgException("Not enough money sent!"); } InvestmentPlatformManager.BuyOrUpgradePlan(user, PurchaseBalances.PaymentProcessor, plan); successful = true; } } catch (Exception ex) { successful = false; ErrorLogger.Log(ex); } PaymentProcessor PP = PaymentAccountDetails.GetFromStringType(from); CompletedPaymentLog.Create(PP, "Investment Plan", transId, false, user.Name, amount, Money.Zero, successful, cryptoCurrencyInfo); }
protected void TicketsGridView_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { var level = Convert.ToInt32(e.Row.Cells[2].Text); e.Row.Cells[2].Text = InvestmentPlatformPlan.GetNameByLevel(level); var levelPrice = Money.Parse(e.Row.Cells[3].Text); e.Row.Cells[3].Text = levelPrice.ToString(); var levelFee = Money.Parse(e.Row.Cells[4].Text); e.Row.Cells[4].Text = levelFee.ToString(); var levelEarnings = Money.Parse(e.Row.Cells[5].Text); e.Row.Cells[5].Text = levelEarnings.ToString(); TicketStatus status = (TicketStatus)Convert.ToInt32(e.Row.Cells[6].Text); e.Row.Cells[6].Text = HtmlCreator.GetColoredStatus(status); } }
private void UpdatePriceLiteral() { if (PlansDropDownList.Items.Count > 0) { var plan = new InvestmentPlatformPlan(int.Parse(PlansDropDownList.SelectedValue)); var text = string.Empty; if (plan.MaxPrice > Money.Zero) { RangePricePlaceHolder.Visible = true; RangePriceTextBox.Text = plan.Price.ToClearString(); text = U6012.PRICERANGE; } else { RangePricePlaceHolder.Visible = false; text = L1.PRICE; } PriceLiteral.Text = string.Format("{0}: {1}", text, plan.GetPriceText()); } }
protected void BuyViaPaymentProcessorButton_Click(object sender, EventArgs e) { try { var selectedPlan = new InvestmentPlatformPlan(int.Parse(PlansDropDownList.SelectedValue)); var targetPrice = selectedPlan.Price; if (AppSettings.InvestmentPlatform.LevelsEnabled) { InvestmentLevelsManager.CanUserDepositOnLevel(selectedPlan, User); } if (selectedPlan.MaxPrice > Money.Zero) { if (AppSettings.InvestmentPlatform.InvestmentPlatformPlansPolicy == PlansPolicy.OneUpgradedPlan) { throw new MsgException(U6012.CANTUPGRADERANGEPLAN); } targetPrice = Money.Parse(RangePriceTextBox.Text); if (!selectedPlan.CheckPlanPrice(targetPrice)) { throw new MsgException(U6012.TYPECORRECTPRICE); } } var bg = new BuyInvestmentPlanButtonGenerator(User, selectedPlan, targetPrice); var buttonsText = string.Empty; if (CurrentMode == InvestmentPlatformMode.Levels) { if (selectedPlan.PaymentProcessor == PaymentProcessor.Null) { throw new MsgException(U6013.NOPAYMENTPROCESSORSCONNECTEDWITHLEVEL); } /* TODO - Add options to pay with cryptocurrency(?) * if(selectedPlan.PaymentProcessor == PaymentProcessor.Coinbase || selectedPlan.PaymentProcessor == PaymentProcessor.CoinPayments) * buttonsText = GenerateHTMLButtons.GetPaymentButton(bg, CryptocurrencyType); */ var type = PaymentAccountDetails.GetGatewayType(selectedPlan.PaymentProcessor.ToString()); buttonsText = GenerateHTMLButtons.GetPaymentButton(bg, type); } else { buttonsText = GenerateHTMLButtons.GetPaymentButtons(bg); } PaymentButtons.Text = buttonsText; PaymentProcessorsButtonPlaceHolder.Visible = true; BuyControlsPlaceHolder.Visible = false; } catch (Exception ex) { ErrorPanel.Visible = true; ErrorTextLiteral.Text = ex.Message; if (ex is MsgException == false) { ErrorLogger.Log(ex); } } }
public BuyInvestmentPlanButtonGenerator(Member member, InvestmentPlatformPlan plan, Money price) { Member = member; Plan = plan; Price = price; }