1
0
mirror of https://git.teknik.io/Teknikode/Teknik.git synced 2023-08-02 14:16:22 +02:00

Added page for explaining how to purchase premium account.

This commit is contained in:
Uncled1023 2017-02-20 00:34:45 -08:00
parent da3d923ab7
commit cf0ea1a305
7 changed files with 139 additions and 2 deletions

View File

@ -169,7 +169,7 @@
</div>
<br />
<hr>
<h2 class="text-center">How can I help?</h2>
<h2 class="text-center">Want to help?</h2>
<br />
<p>
Teknik's source code can be located on our <a href="https://git.teknik.io/Teknikode/">Git Repository</a> as well as all our internal tools and projects.

View File

@ -106,7 +106,7 @@
</div>
<div id="collapse102" class="panel-collapse collapse" role="tabpanel">
<div class="panel-body">
To purchase a premium account, you can navigate to the <a href="@Url.SubRouteUrl("user", "User.PurchasePremium")">premium account</a> page and choose the method of payment and follow the instructions provided.
To purchase a premium account, you can navigate to the <a href="@Url.SubRouteUrl("user", "User.GetPremium")">premium account</a> page and choose the method of payment and follow the instructions provided.
</div>
</div>
</div>

View File

@ -25,6 +25,17 @@ namespace Teknik.Areas.Users.Controllers
private static readonly UsedCodesManager usedCodesManager = new UsedCodesManager();
private TeknikEntities db = new TeknikEntities();
[TrackPageView]
[AllowAnonymous]
public ActionResult GetPremium()
{
ViewBag.Title = "Get a Premium Account - " + Config.Title;
GetPremiumViewModel model = new GetPremiumViewModel();
return View(model);
}
// GET: Profile/Profile
[TrackPageView]
[AllowAnonymous]

View File

@ -19,6 +19,14 @@ namespace Teknik.Areas.Users
public override void RegisterArea(AreaRegistrationContext context)
{
Config config = Config.Load();
context.MapSubdomainRoute(
"User.GetPremium", // Route name
new List<string>() { "user" }, // Subdomains
new List<string>() { config.Host }, // domains
"GetPremium", // URL with parameters
new { controller = "User", action = "GetPremium" }, // Parameter defaults
new[] { typeof(Controllers.UserController).Namespace }
);
context.MapSubdomainRoute(
"User.Login", // Route name
new List<string>() { "user" }, // Subdomains

View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Teknik.ViewModels;
namespace Teknik.Areas.Users.ViewModels
{
public class GetPremiumViewModel : ViewModelBase
{
}
}

View File

@ -0,0 +1,104 @@
@model Teknik.Areas.Users.ViewModels.GetPremiumViewModel
@using Teknik.Utilities
@{
string currentPriceMsg = "The actual price will be determined by the exchange rate at the time of the transaction.";
}
<div class="container">
<div class="row">
<div class="col-sm-10 col-sm-offset-1">
<h2 class="text-center">Purchase a Premium Account</h2>
<br />
<p class="text-center">You can purchase a Premium Account one of two methods, PayPal or Bitcoin.</p>
<p class="text-center">If you want to purchase an upgrade for multiple accounts, you can send the total amount at once with a list of the accounts you want upgraded.</p>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="row">
<div class="col-sm-4 text-center">
<h2>1</h2>
<h3>Send Payment</h3>
</div>
<div class="col-sm-4 text-center">
<h2>2</h2>
<h3>Attach Account Information</h3>
</div>
<div class="col-sm-4 text-center">
<h2>3</h2>
<h3>Become Premium</h3>
</div>
</div>
<br />
<div class="row">
<div class="col-sm-8 col-sm-offset-2">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title text-center"><strong>Paypal</strong></h3>
</div>
<div class="panel-body">
<div class="row">
<div class="col-sm-12 text-center">
Send a PayPal donation of $@Model.Config.UserConfig.PremiumAccountPrice per account to: <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MBG93VKQ343P4" role="button" class="btn btn-default btn-sm" title="Paypal Donation">admin@teknik.io</a>
</div>
</div>
<hr />
<div class="row">
<div class="col-sm-12 text-center">
Add a special instruction with the username of the teknik account(s) you want to upgrade to Premium.
</div>
</div>
<hr />
<div class="row">
<div class="col-sm-12 text-center">
Once the payment has been processed, the account(s) will be upgraded and a confirmation email sent to the upgraded account(s)
</div>
</div>
</div>
</div>
</div>
</div>
<br />
<div class="row">
<div class="col-sm-8 col-sm-offset-2">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title text-center"><strong>Bitcoin</strong></h3>
</div>
<div class="panel-body">
<div class="row">
<div class="col-sm-12 text-center">
Send $@Model.Config.UserConfig.PremiumAccountPrice worth of Bitcoin <span data-toggle="tooltip" data-placement="top" title="@currentPriceMsg">(Currently @(Math.Round((Model.Config.UserConfig.PremiumAccountPrice / CurrencyHelper.GetExchangeRate(CurrencyType.BTC)), 6)))<small>*</small></span> to the following address
</div>
</div>
<br />
<div class="row">
<div class="col-sm-12 text-center">
<strong>@Model.Config.BitcoinAddress</strong>
</div>
</div>
<hr />
<div class="row">
<div class="col-sm-12 text-center">
After making the transaction, you will need to create a signed message of the teknik account username(s) with your wallet's key, and then email it to <a href="mailto:@Model.Config.SupportEmail">@Model.Config.SupportEmail</a>.
<br />
<br />
You can generate this signed message in multiple bitcoin clients. For an example, visit <a href="https://bitcoin.org/en/developer-reference#signmessage">here</a>
</div>
</div>
<hr />
<div class="row">
<div class="col-sm-12 text-center">
Once the transaction has been verified and the signed message matches the transaction's sending address, the account(s) will be upgraded and a confirmation email sent to the upgraded account(s)
</div>
</div>
</div>
</div>
<small>* @currentPriceMsg</small>
</div>
</div>
</div>
</div>
</div>

View File

@ -287,6 +287,7 @@
<Compile Include="Areas\User\Models\AuthToken.cs" />
<Compile Include="Areas\User\Models\TrustedDevice.cs" />
<Compile Include="Areas\User\ViewModels\AuthTokenViewModel.cs" />
<Compile Include="Areas\User\ViewModels\GetPremiumViewModel.cs" />
<Compile Include="Areas\User\ViewModels\TwoFactorViewModel.cs" />
<Compile Include="Areas\Vault\ViewModels\ModifyVaultViewModel.cs" />
<Compile Include="Areas\Vault\ViewModels\ModifyVaultItemViewModel.cs" />
@ -638,6 +639,7 @@
<Content Include="Areas\FAQ\Views\web.config" />
<Content Include="Areas\FAQ\Views\_ViewStart.cshtml" />
<Content Include="Areas\FAQ\Views\FAQ\Index.cshtml" />
<Content Include="Areas\User\Views\User\GetPremium.cshtml" />
<None Include="Properties\PublishProfiles\Teknik Dev.pubxml" />
<None Include="Properties\PublishProfiles\Teknik Production.pubxml" />
<None Include="Scripts\jquery-2.1.4.intellisense.js" />