private void btnSignUp_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrWhiteSpace(tbUsername.Text) || string.IsNullOrWhiteSpace(pbPassword.Password)) { MessageBox.Show("Some fields are empty"); return; } else if (DB.DoesUsernameExist(tbUsername.Text)) { MessageBox.Show("Username already exists"); return; } else if (pbPassword.Password.Contains(" ")) { MessageBox.Show("Password cannot contain spaces"); return; } else if (tbUsername.Text.Length > 32 || pbPassword.Password.Length > 32) { MessageBox.Show("Usernames and password can't be longer than 32 characters"); return; } else if (string.IsNullOrWhiteSpace(tbEmail.Text)) { SystemSounds.Exclamation.Play(); MessageBoxResult _dialogResult = MessageBox.Show("If you don't insert an email then you won't be able to access your account in case you forget your password. Confirm empty email?", "No email", MessageBoxButton.YesNo); if (_dialogResult == MessageBoxResult.No) { return; } } if (string.IsNullOrWhiteSpace(proPicPath)) { proPicPath = "/Assets/user_icon.png"; } string hashedPassword = Helper.HashPassword(pbPassword.Password); User user = new User() { Username = tbUsername.Text, Email = tbEmail.Text, Password = hashedPassword, ProPicPath = proPicPath, }; Session.LoggedUser = user; if (DB.RegisterUser(user)) { MessageBox.Show("User registered successfully!"); parentWindow.EnterApp(user.ProPicPath); } }
private void btnLogIn_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrWhiteSpace(tbUsername.Text) || string.IsNullOrWhiteSpace(pbPassword.Password)) { MessageBox.Show("Some fields are empty"); return; } string username = tbUsername.Text.Trim(); string password = pbPassword.Password.Trim(); User user = DB.UserLogIn(username, password); if (user != null) { Session.LoggedUser = user; SignWindow signWindow = Helper.GetAncestorOfType <SignWindow>(this); if (signWindow != null) { signWindow.EnterApp(user.ProPicPath); } } else { //// does user exist? if so, he might have used a temp token //int userId = DB.GetUserId(username); //if(userId != -1) //{ // // check if he has a token available // int ticketId = DB.TryGetToken(password, userId); // if(ticketId > 0) // { // // set token as "Used" in table // DB.TicketWasUsed(ticketId); // // log user in // user = DB.GetUser(userId); // if(user != null) // { // Session.LoggedUser = user; // SignWindow signWindow = Helper.GetAncestorOfType<SignWindow>(this); // if (signWindow != null) // { // signWindow.EnterApp(user.ProPicPath); // } // } // } // else if(ticketId == 0) // { // MessageBox.Show("You tried to use a temporary password that has already been used"); // } // else if(ticketId == -1) // { // MessageBox.Show("You tried to use a temporary password that has expired"); // } // else // { // MessageBox.Show("Wrong password"); // } //} //else //{ // MessageBox.Show("That username doesn't exist"); //} // does username exist? int id = DB.GetUserId(tbUsername.Text); if (id != -1) { if (DB.GetToken(pbPassword.Password, id)) { MessageBox.Show("Token used!"); DB.SetTokenToUsed(pbPassword.Password); Session.LoggedUser = DB.UserLogIn(tbUsername.Text); SignWindow signWindow = Helper.GetAncestorOfType <SignWindow>(this); if (signWindow != null) { signWindow.EnterApp(Session.LoggedUser.ProPicPath); return; } } } MessageBox.Show("Username or password wrong"); } }