Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private async void ButtonRegister_Click(object sender, RoutedEventArgs e)
- {
- bool isValid = false;
- //comprobacion de si la clave tiene un minimo de 3 caracteres comn un if
- if (PasswordBoxPass.Password.Length >= 3)
- {
- //aqui se hace otra comprobacion con otro if para ver si los password coinciden
- if (PasswordBoxPass.Password == PasswordBoxConfirmation.Password)
- {
- //comprobnar que el texto puesto en la textbox es un correo electronico y si no lo es no dejar seguir el proceso de registro y dar un error con un mensaje
- //aqui lo que hago una vez ya conectado con Windowsazure es introducir datos una vez que el usuario le al boton register
- string password = PasswordBoxPass.Password;
- RegexUtil RegexUtil = new RegexUtil();
- //el metodo isValidEmail me devolvera false o true dependiendo de si la cadena la toma como buena o mala si tiene o no formato de email
- isValid = RegexUtil.IsValidEmail(TextBoxEmail.Text);
- if (isValid == true)
- {
- //para introducir el dato del usuario en el servicio movil
- try
- {
- //aqui probaremos tambien a cifrar la clave
- //lo que haremos sera el metodo parse para transformar la string en Byte
- //byte password = byte.Parse(PasswordBoxPass.Password);ç
- /* este codigo no me sirve para generar el hash de la clave que es lo que vamos a almacenar junto con el codigo salt
- byte[] password = new byte[PasswordBoxPass.Password.Length];
- for (int i = 0; i < PasswordBoxPass.Password.Length; i++)//haz un ciclo para llenar el arreglo
- {
- password[i] = byte.Parse(PasswordBoxPass.Password[i].ToString());//conversion!!! la variable i representa la posicion en k se encuentra
- }
- */
- byte[] salt = CryptoPass.GetSalt();
- byte[] hash = CryptoPass.GenerateHash(PasswordBoxPass.Password, salt);
- //en este metodo lo que estoy obteniendo es el usuario para insertarlo en la base de datos
- usuarios user = CryptoPass.GetSecureUserModel(TextBoxUser.Text, password, TextBoxEmail.Text, salt);
- string usuario = user.usuario;
- await userTable.InsertAsync(user);
- //sincronizar los elementos de la tabla
- items = await userTable.ToCollectionAsync();
- //para actualizar la tabla
- await userTable.UpdateAsync(user);
- //Task<usuarios> Resultado = CryptoPass.GetUserFromDatabase(usuario);
- //Task<bool> users = CryptoPass.RegisterUser(user);
- //aqui ya se va al otro XAML en la finalizacion del programa se ira al de aceptarlos terminos y condiciones del programa
- //Task<usuarios> userpass = CryptoPass.VerifyLogin(usuario, password);
- /*
- if (users.Result == false)
- {
- MessageBox.Show("user exist in the database, choose other user", "Information", MessageBoxButton.OK);
- }
- else if (userpass == null)
- {
- MessageBox.Show("Password incorrect", "Information", MessageBoxButton.OK);
- }
- */
- //aqui ya te lleva a la ventana para trabajar con el programa
- NavigationService.Navigate(new Uri("/PivotProgram.xaml" + TextBoxUser.Text, UriKind.Relative));
- //usuarios usuario = new usuarios { usuario = TextBoxUser.Text, hash = PasswordBoxPass.Password, email = TextBoxEmail.Text };
- //App.MobileService.GetTable<usuarios>().InsertAsync(usuario);
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- else
- {
- MessageBox.Show("the format e-mail is not correct", "Information", MessageBoxButton.OK);
- }
- }
- else
- {
- MessageBox.Show("password fail must be equal", "Information", MessageBoxButton.OK);
- PasswordBoxPass.SelectAll();
- PasswordBoxConfirmation.Password = "";
- PasswordBoxPass.Focus();
- }
- }
- //comprobar primero que sean la misma clave en las 2 passwordbox
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement