Advertisement
Guest User

Untitled

a guest
Mar 13th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.90 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Collections.Specialized;
  4. //using System.ComponentModel;
  5. using System.Linq;
  6. using System.Net;
  7. using System.Text;
  8. using System.Text.RegularExpressions;
  9. using System.Threading;
  10. using Android.App;
  11. using Android.Content;
  12. using Android.OS;
  13. using Android.Runtime;
  14. using Android.Text;
  15. using Android.Views;
  16. using Android.Widget;
  17. using Microsoft.WindowsAzure.MobileServices;
  18.  
  19.  
  20. namespace ProEventsApp
  21. {
  22. public class OnSignUpEventArgs : EventArgs
  23. {
  24. public int zID;
  25. public string zUsername;
  26. public string zPassword;
  27. public string zConfirmPassword;
  28.  
  29. public OnSignUpEventArgs(string username, string password, string confirmPassword) : base()
  30. {
  31. zUsername = username;
  32. zPassword = password;
  33. zConfirmPassword = confirmPassword;
  34. }
  35. }
  36. [Activity(Label = "Dialog_SignUp")]
  37. public class Dialog_SignUp : Activity
  38. {
  39. public static MobileServiceClient Client =
  40. new MobileServiceClient("https://proevents.azurewebsites.net");
  41.  
  42. // public event EventHandler<OnSignUpEventArgs> ZOnSignUpComplete;
  43. protected override void OnCreate(Bundle savedInstanceState)
  44. {
  45. base.OnCreate(savedInstanceState);
  46. SetContentView(Resource.Layout.Dialog_Sign_Up);
  47.  
  48. var zBtnSignUp = FindViewById<Button>(Resource.Id.btnDialogSignup);
  49. zBtnSignUp.Click += ZBtnSignUp_Click;
  50. EditText zTxtUsername = FindViewById<EditText>(Resource.Id.txtUsername);
  51. zTxtUsername.TextChanged += ValidateInput;
  52. EditText zTxtPassword = FindViewById<EditText>(Resource.Id.txtPassword);
  53. zTxtPassword.TextChanged += ValidateInput;
  54. EditText zTxtConfirmPassword = FindViewById<EditText>(Resource.Id.txtConfirmPassword);
  55. zTxtConfirmPassword.TextChanged += ValidateInput;
  56. }
  57.  
  58. private async void ZBtnSignUp_Click(object sender, EventArgs e)
  59. {
  60. EditText Username = FindViewById<EditText>(Resource.Id.txtUsername);
  61. EditText Password = FindViewById<EditText>(Resource.Id.txtPassword);
  62. EditText ConfirmPassword = FindViewById<EditText>(Resource.Id.txtConfirmPassword);
  63.  
  64. if (Password.Text == ConfirmPassword.Text)
  65. {
  66. string hashedPassword = PasswordStorage.CreateHash(Password.Text);
  67. string userName = Username.Text.Trim();
  68. users newU = new users { username = userName, password = hashedPassword };
  69. List<users> allUsers = await Client.GetTable<users>().ToListAsync();
  70. users u = allUsers.FirstOrDefault(x => x.username == newU.username);
  71. if (u == null)
  72. {
  73. DBHelper.InsertNewUser(newU);
  74. Toast.MakeText(this, "User " + newU.username + " created! You can now log in!", ToastLength.Short).Show();
  75. StartActivity(typeof(MainActivity));
  76. }
  77. else
  78. {
  79. Toast.MakeText(this, "User " + u.username + " already exists!", ToastLength.Short).Show();
  80. }
  81. }
  82. else
  83. {
  84. string message = "Passwords don't match.";
  85. Toast.MakeText(this, message, ToastLength.Short).Show();
  86. }
  87. }
  88.  
  89. private void ValidateInput(object sender, TextChangedEventArgs e)
  90. {
  91. EditText input = (EditText)sender;
  92. string pattern = "[^a-zA-Z0-9#?]";
  93. if (Regex.IsMatch(input.Text, pattern))
  94. {
  95. string message = "Input must only contain alphabetic characters, numbers, ? and #";
  96. Toast.MakeText(this, message, ToastLength.Long).Show();
  97. input.Text = "";
  98. }
  99. }
  100. }
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement