Exemplo n.º 1
0
		protected virtual void OnTransactionAdd(TransactionAddState state)
		{
			var profile = AutoDonate.EnsureProfile(state.Account);

			var trans = new DonationTransaction(
				state.ID,
				state.Account,
				state.Email,
				state.Value,
				(long)(state.Value / AutoDonate.CMOptions.CurrencyPrice),
				String.Empty,
				"{MANUAL ADD}");

			AutoDonate.Transactions[trans.ID] = trans;

			profile.Add(trans);

			if (trans.Process())
			{
				AutoDonate.SpotCheck(trans.Account);
			}

			Refresh(true);

			DonationProfileUI.DisplayTo(User, profile, trans);
		}
Exemplo n.º 2
0
		protected virtual void OnTransactionAdd4(TransactionAddState state)
		{
			var ui = new InputDialogGump(User, Refresh())
			{
				Title = "Add Transaction: Step 4",
				Html = "Manually add a transaction.\n\n" + //
					   "Value:\nEnter the " + AutoDonate.CMOptions.MoneySymbol + " " + AutoDonate.CMOptions.MoneyAbbr +
					   " value for this transaction.\n\n" + //
					   "Click OK to continue or Cancel to exit.", //
				InputText = state.Value.ToString("F2"),
				CancelHandler = Refresh
			};

			ui.Callback = (b, val) => OnTransactionAdd4(state, ui);

			ui.Send();
		}
Exemplo n.º 3
0
		protected virtual void OnTransactionAdd4(TransactionAddState state, InputDialogGump ui)
		{
			double value;

			if (String.IsNullOrWhiteSpace(ui.InputText) || !Double.TryParse(ui.InputText, out value))
			{
				User.SendMessage(0x22, "Value '{0}' is not valid.", ui.InputText);
				ui.Refresh();
				return;
			}

			state.Value = value;

			OnTransactionAdd(state);
		}
Exemplo n.º 4
0
		protected virtual void OnTransactionAdd3(TransactionAddState state)
		{
			var ui = new InputDialogGump(User, Refresh())
			{
				Title = "Add Transaction: Step 3",
				Html = "Manually add a transaction.\n\n" + //
					   "Transaction ID:\nEnter the unique ID for this transaction.\n\n" + //
					   "Click OK to continue or Cancel to exit.", //
				InputText = state.ID,
				CancelHandler = Refresh
			};

			ui.Callback = (b, id) => OnTransactionAdd3(state, ui);

			ui.Send();
		}
Exemplo n.º 5
0
		protected virtual void OnTransactionAdd3(TransactionAddState state, InputDialogGump ui)
		{
			if (String.IsNullOrWhiteSpace(ui.InputText) || AutoDonate.Transactions.ContainsKey(ui.InputText))
			{
				User.SendMessage(0x22, "Transaction ID '{0}' is not valid.", ui.InputText);
				ui.Refresh();
				return;
			}

			state.ID = ui.InputText.Trim();

			OnTransactionAdd4(state);
		}
Exemplo n.º 6
0
		protected virtual void OnTransactionAdd2(TransactionAddState state, InputDialogGump ui)
		{
			if (String.IsNullOrWhiteSpace(ui.InputText) || ui.InputText.Count(c => c == '@') != 1 ||
				ui.InputText.LastIndexOf('.') < ui.InputText.LastIndexOf('@') ||
				ui.InputText.Any(c => c != '.' && c != '@' && c != '-' && c != '_' && !Char.IsLetterOrDigit(c)))
			{
				User.SendMessage(0x22, "Email '{0}' is not valid.", ui.InputText);
				ui.Refresh();
				return;
			}

			state.Email = ui.InputText.Trim();

			OnTransactionAdd3(state);
		}
Exemplo n.º 7
0
		protected virtual void OnTransactionAdd2(TransactionAddState state)
		{
			var ui = new InputDialogGump(User, Refresh())
			{
				Title = "Add Transaction: Step 2",
				Html = "Manually add a transaction.\n\n" + //
					   "Email Address:\nEnter the Email Address for this transaction.\n\n" + //
					   "Click OK to continue or Cancel to exit.", //
				InputText = state.Email,
				CancelHandler = Refresh
			};

			ui.Callback = (b, email) => OnTransactionAdd2(state, ui);

			ui.Send();
		}
Exemplo n.º 8
0
		protected virtual void OnTransactionAdd1(TransactionAddState state, InputDialogGump ui)
		{
			IAccount acc;

			if (String.IsNullOrWhiteSpace(ui.InputText) || (acc = Accounts.GetAccount(ui.InputText)) == null)
			{
				User.SendMessage(0x22, "Account '{0}' could not be found.", ui.InputText);
				ui.Refresh();
				return;
			}

			state.Account = acc;
			state.Email = acc.Email;

			OnTransactionAdd2(state);
		}
Exemplo n.º 9
0
		protected virtual void OnTransactionAdd1(TransactionAddState state)
		{
			var ui = new InputDialogGump(User, Refresh())
			{
				Title = "Add Transaction: Step 1",
				Html = "Manually add a transaction.\n\n" + //
					   "Account Name:\nEnter the account name of the recipient for this transaction.\n\n" + //
					   "Click OK to continue or Cancel to exit.", //
				InputText = User.Account.Username,
				CancelHandler = Refresh
			};

			ui.Callback = (b, username) => OnTransactionAdd1(state, ui);

			ui.Send();
		}
Exemplo n.º 10
0
		protected virtual void OnTransactionAdd()
		{
			var state = new TransactionAddState
			{
				Account = User.Account,
				Email = User.Account.Email,
				ID = String.Empty,
				Value = 0.0
			};

			OnTransactionAdd1(state);
		}