public static UsersBase getUserInfoWUsername(string Username) { UsersBase UserInfo = new UsersBase(); using (SqlConnection con = Connection.getConnection()) { SqlCommand comand = new SqlCommand(); comand.Connection = con; comand.CommandType = System.Data.CommandType.StoredProcedure; comand.CommandText = "getUserInfoWUsername"; comand.Parameters.Add(new SqlParameter("@username", System.Data.SqlDbType.VarChar)); comand.Parameters["@username"].Value = Username; SqlDataReader re = comand.ExecuteReader(); if (re.Read()) { UserInfo.ID = Convert.ToInt32(re["id"]); UserInfo.Nombre = re["n"].ToString(); UserInfo.Apellido = re["l"].ToString(); UserInfo.Nivel = re["ni"].ToString(); UserInfo.Foto = re["fo"].ToString(); UserInfo.Contrasena = re["contra"].ToString(); } else { UserInfo = null; } con.Close(); } return(UserInfo); }
// boton buscar private void btnBuscar_Click(object sender, EventArgs e) { try { frmConsultaUsuarios pConsulta = new frmConsultaUsuarios(); pConsulta.Menu = false; pConsulta.ShowDialog(); // valido si se ha seleccionado un usuario if (pConsulta.InfoUsuario != null) { UserInfo = pConsulta.InfoUsuario; txtNombre.Text = UserInfo.Nombre; txtApellido.Text = UserInfo.Apellido; txtContrasena.Text = UserInfo.Contrasena; cbNivelUsuario.Text = UserInfo.Nivel; pbImage.Image = Image.FromFile(UserInfo.Foto); setEnableTrue(); } } catch (Exception ex) { MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); } }
// para limpiar todos los campos y variables del filePath de la foto private void cleanEverything() { pbImage.Image = Resources.imageres_79; txtNombre.Clear(); txtContrasena.Clear(); txtApellido.Clear(); cbNivelUsuario.SelectedIndex = -1; txtNombre.Focus(); setEnableFalse(); FilePathImageDestiny = null; FilePathImageSource = null; UserInfo = null; }
// evento textchange para cargar la foto cuando se esciba el nombre de usuario. private void txtNombreUsuario_TextChanged(object sender, EventArgs e) { try { UsersBase InfoUser = Users.getUserInfoWUsername(txtNombreUsuario.Text); if (InfoUser != null) { pbFotoUsuario.Image = Image.FromFile(InfoUser.Foto); } else { pbFotoUsuario.Image = Resources.imageres_79; } } catch (Exception ex) { MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); } }
// evento cell content click par tomar la info del usuario. private void dgvUsuarios_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (!Menu) { if (dgvUsuarios.SelectedRows.Count == 1) { try { InfoUsuario = Users.getUserInfoWID(Convert.ToInt32(dgvUsuarios.CurrentRow.Cells[0].Value)); this.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("No se ha seleccionado un usuario de la lista", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Warning); dgvUsuarios.Select(); } } }
// boton modificar private void btnModificar_Click(object sender, EventArgs e) { // valido todas las entradas. if (txtNombre.Text == string.Empty) { MessageBox.Show("No se ha completado el nombre del usuario", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Warning); txtNombre.Select(); } else if (txtApellido.Text == string.Empty) { MessageBox.Show("No se ha completado el apellido del usuario", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Warning); txtApellido.Select(); } else if (txtContrasena.Text == string.Empty) { MessageBox.Show("No se ha digitado una contrasena para el usuario", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Warning); txtContrasena.Select(); } else if (cbNivelUsuario.Text == string.Empty) { MessageBox.Show("No se ha seleccionado un Nivel de Usuario", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Warning); txtContrasena.Select(); } else { // verifico si ya esta cargado el usuario que se va a modificar. if (UserInfo != null) { if (MessageBox.Show("Esta seguro que desea modificar el Usuario?", "Mensaje", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { try { // verificar si la contrasena coincide con la confirmada frmConfirmarContrasena pContraConfirma = new frmConfirmarContrasena(); pContraConfirma.ShowDialog(); if (pContraConfirma.Contrasena == txtContrasena.Text) { // objeto donde almacenare la informacion a modificar del usuario. UsersBase InfoUsersModify = UserInfo; InfoUsersModify.Nombre = txtNombre.Text; InfoUsersModify.Apellido = txtApellido.Text; InfoUsersModify.Nivel = cbNivelUsuario.Text; InfoUsersModify.Contrasena = txtContrasena.Text; // verifico si se ha cargado otra foto if (FilePathImageSource != null) { InfoUsersModify.Foto = FilePathImageDestiny; File.Copy(FilePathImageSource, FilePathImageDestiny, true); } // cuando ya todo se ha validado correctamente. MessageBox.Show (Users.modifyUsuario(InfoUsersModify.ID, InfoUsersModify.Nombre, InfoUsersModify.Apellido, InfoUsersModify.Contrasena, InfoUsersModify.Nivel, InfoUsersModify.Foto), "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information); cleanEverything(); } // si las contrasenas no coinciden else { MessageBox.Show("Las Contraseñas no coinciden, Intentelo nuevamente", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } catch (Exception ex) { MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); } } } // sino se ha cargado un usuario. else { MessageBox.Show("No se ha cargado un usuario para poder modificar", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } }