ground up refactor!
This commit is contained in:
1 parent
6a2ab0d873
commit
7c2960e1d7
19 files changed
+3534
-3444
No files matched your search
+153
@@ -0,0 +1,153 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using FrappeMocha.Keygen;
|
||||
using FrappeMocha.Keygen.Platforms;
|
||||
|
||||
namespace FrappeMocha
|
||||
{
|
||||
public partial class FrmMain : Form
|
||||
{
|
||||
private char[] ficus = new char[6];
|
||||
private Dictionary<string, KeygenBase> keygens = new Dictionary<string, KeygenBase>();
|
||||
private string[] platforms = {"Windows", "MacOSX", "Java", "Google Chrome", "Android"};
|
||||
private string[] companyUserName = {"Company Name", "User Name"};
|
||||
|
||||
public FrmMain()
|
||||
{
|
||||
InitializeComponent();
|
||||
keygens.Add(platforms[0], new PlatformWindows());
|
||||
keygens.Add(platforms[1], new PlatformMac());
|
||||
keygens.Add(platforms[2], new PlatformJava());
|
||||
keygens.Add(platforms[3], new PlatformJavaScript());
|
||||
keygens.Add(platforms[4], new PlatformAndroid());
|
||||
|
||||
foreach (var item in keygens)
|
||||
{
|
||||
cbxPlatform.Items.Add(item.Value);
|
||||
}
|
||||
|
||||
cbxPlatform.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
private string keygen(KeygenBase platform, KeygenProduct product, int type, string name)
|
||||
{
|
||||
if (name.Length <= 1)
|
||||
{
|
||||
MessageBox.Show( companyUserName[type] + " must be longer than one character", "Error",
|
||||
MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return "";
|
||||
}
|
||||
|
||||
if (name.Length > 80)
|
||||
{
|
||||
MessageBox.Show( companyUserName[type] + " must not be greater than eighty characters", "Error",
|
||||
MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return "";
|
||||
}
|
||||
|
||||
string genlicense = platform.Generate(type, name, product.Licence);
|
||||
if (!platform.Check(genlicense, name, product.Licence))
|
||||
{
|
||||
MessageBox.Show("Generated license did not pass self check, please try again", "Warning",
|
||||
MessageBoxButtons.OK,
|
||||
MessageBoxIcon.Warning);
|
||||
}
|
||||
|
||||
return genlicense;
|
||||
}
|
||||
|
||||
private void frmMain_Shown(object sender, EventArgs e)
|
||||
{
|
||||
AcceptButton.PerformClick();
|
||||
}
|
||||
|
||||
private void frmMain_KeyPress(object sender, KeyPressEventArgs e)
|
||||
{
|
||||
Array.Copy(ficus, 1, ficus, 0, ficus.Length - 1);
|
||||
this.ficus[ficus.Length - 1] = e.KeyChar;
|
||||
if (new string(ficus) == "spicey")
|
||||
{
|
||||
switch (MessageBox.Show("Would you like a little salt, as a treat?", "Orly?",
|
||||
MessageBoxButtons.YesNoCancel,
|
||||
MessageBoxIcon.Question))
|
||||
{
|
||||
case DialogResult.Yes:
|
||||
Process.Start("https://i.imgur.com/EJ31bmk.jpg");
|
||||
break;
|
||||
case DialogResult.No:
|
||||
Process.Start(
|
||||
"https://pics.me.me/white-people-cant-handle-spicy-food-um-try-again-sweetie-6626438.png");
|
||||
break;
|
||||
case DialogResult.Cancel:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void btnSubmit_Click(object sender, EventArgs e)
|
||||
{
|
||||
KeygenBase platform = (KeygenBase)cbxPlatform.SelectedItem;
|
||||
KeygenProduct product = (KeygenProduct)cbxProduct.SelectedItem;
|
||||
int type = cbxLicenseType.SelectedIndex;
|
||||
string name = tbxCompanyUserName.Text;
|
||||
|
||||
tbxLicenseKey.Text = keygen(platform, product, type, name);
|
||||
}
|
||||
|
||||
private void tbxLicenseKey_Click(object sender, EventArgs e)
|
||||
{
|
||||
tbxLicenseKey.SelectAll();
|
||||
}
|
||||
|
||||
private void cbxPlatform_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
KeygenBase platform = (KeygenBase) cbxPlatform.SelectedItem;
|
||||
|
||||
cbxProduct.Enabled = false;
|
||||
cbxProduct.Items.Clear();
|
||||
foreach (var p in platform.Products)
|
||||
{
|
||||
cbxProduct.Items.Add(p);
|
||||
}
|
||||
cbxProduct.SelectedIndex = 0;
|
||||
cbxProduct.Enabled = true;
|
||||
}
|
||||
|
||||
private void cbxProduct_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
KeygenBase platform = (KeygenBase)cbxPlatform.SelectedItem;
|
||||
KeygenProduct product = (KeygenProduct) cbxProduct.SelectedItem;
|
||||
|
||||
cbxLicenseType.Enabled = false;
|
||||
cbxLicenseType.Items.Clear();
|
||||
var LicenceTypes = platform.GenerateLicencetypes(product);
|
||||
foreach (string type in LicenceTypes)
|
||||
{
|
||||
cbxLicenseType.Items.Add(type);
|
||||
}
|
||||
cbxLicenseType.Enabled = true;
|
||||
cbxLicenseType.SelectedIndex = 0;
|
||||
AcceptButton.PerformClick();
|
||||
}
|
||||
|
||||
private void cbxLicenseType_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (cbxLicenseType.Items.Count != 2)
|
||||
{
|
||||
lblCompanyUserName.Text = "Name";
|
||||
}
|
||||
else
|
||||
{
|
||||
lblCompanyUserName.Text = companyUserName[cbxLicenseType.SelectedIndex];
|
||||
}
|
||||
AcceptButton.PerformClick();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user