private void button_submit_Click(object sender, RoutedEventArgs e)
{
reset();
desc.Visibility = System.Windows.Visibility.Visible;
if (textbox_name.Text == "")
{
textbox_name.BorderBrush = Brushes.Red;
textbox_name.BorderThickness = new Thickness(5);
desc.Text = "Name is empty.";
textbox_name.Focus();
log.WriteInteractionLog(37, "Name was empty.", ((TouchEventArgs)e).TouchDevice);
return;
}
if (textbox_email.Text == "")
{
textbox_email.BorderBrush = Brushes.Red;
textbox_email.BorderThickness = new Thickness(5);
desc.Text = "Email is empty.";
textbox_email.Focus();
log.WriteInteractionLog(37, "Email was empty.", ((TouchEventArgs)e).TouchDevice);
return;
}
if (!IsValid(textbox_email.Text))
{
textbox_email.BorderBrush = Brushes.Red;
textbox_email.BorderThickness = new Thickness(5);
desc.Text = "Enter a valid email address.";
textbox_email.Focus();
log.WriteInteractionLog(37, "Email was not valid.", ((TouchEventArgs)e).TouchDevice);
return;
}
if (user_pin.IsEmpty())
{
user_pin.BorderBrush = Brushes.Red;
user_pin.BorderThickness = new Thickness(5);
desc.Text = "Choose a PIN.";
user_pin.Focus();
log.WriteInteractionLog(37, "PIN was empty.", ((TouchEventArgs)e).TouchDevice);
return;
}
if (avatar_list_control.Tag == null)
{
avatar_border.BorderBrush = Brushes.Red;
avatar_border.BorderThickness = new Thickness(5);
desc.Text = "Please select an avatar.";
avatar_image.Focus();
log.WriteInteractionLog(37, "Avatar was empty.", ((TouchEventArgs)e).TouchDevice);
return;
}
naturenet_dataclassDataContext db = new naturenet_dataclassDataContext();
List<string> usernames = new List<string>();
var r = from us in db.Users
select us.name;
if (r != null)
usernames = r.ToList<string>();
if (UserExists(usernames, textbox_name.Text))
{
textbox_name.BorderBrush = Brushes.Red;
textbox_name.BorderThickness = new Thickness(5);
desc.Text = "This name has already been taken, choose another.";
log.WriteInteractionLog(37, "User exists.", ((TouchEventArgs)e).TouchDevice);
return;
}
User u = new User();
u.name = textbox_name.Text;
u.email = textbox_email.Text;
u.avatar = (string)(avatar_list_control.Tag);
u.password = user_pin.pin_string;
//UnicodeEncoding encode = new UnicodeEncoding();
//byte[] pass_byte = encode.GetBytes(textbox_password.Password);
//SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider();
//byte[] pass_hash = sha1.ComputeHash(pass_byte);
string consent_checkboxes = "";
if (checkbox_agreement1.IsChecked.Value)
consent_checkboxes = consent_checkboxes + configurations.GetTextBlockText((TextBlock)(checkbox_agreement1.Content)) + ";" ;
if (checkbox_agreement2.IsChecked.Value)
consent_checkboxes = consent_checkboxes + configurations.GetTextBlockText((TextBlock)(checkbox_agreement2.Content)) + ";";
if (checkbox_agreement3.IsChecked.Value)
consent_checkboxes = consent_checkboxes + configurations.GetTextBlockText((TextBlock)(checkbox_agreement3.Content)) + ";";
if (checkbox_agreement4.IsChecked.Value)
consent_checkboxes = consent_checkboxes + configurations.GetTextBlockText((TextBlock)(checkbox_agreement4.Content));
u.technical_info = textbox_name.Text + " signed the consent form on " + DateTime.Now.ToString() + "; " + consent_checkboxes;
try
{
database_manager.InsertUser(u);
desc.Text = "Congratulations!";
//file_manager.add_user_to_googledrive(u.id, u.name, u.avatar);
window_manager.close_signup_window((window_frame)parent, u.name);
log.WriteInteractionLog(38, "Username=" + u.name, ((TouchEventArgs)e).TouchDevice);
}
catch (Exception ex) { desc.Text = "Could not complete the operation."; log.WriteErrorLog(ex); }
}