private void button1_Click(object sender, EventArgs e) { String password = txtPassword.Text; using (MD5 md5 = MD5.Create()) { byte[] hash = Encoding.ASCII.GetBytes(password); hash = md5.ComputeHash(hash); StringBuilder sb = new StringBuilder(); foreach (var x in hash) { sb.Append(x.ToString("x2")); } password = sb.ToString(); } var query = from em in entities.users where ( em.username.Equals(txtUsername.Text) && em.password.Equals(password) ) select em; if (query.Count() == 1) { users user = query.First(); Contabilidad instance = Contabilidad.getInstance(); instance.setUser(new User { id = user.id, name = user.name, permission = user.permission }); instance.Show(); resetFields(); this.Hide(); } else { MessageBox.Show( "Usuario y/o Contraseña incorrecta", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error ); } }
private void btnDelete_Click(object sender, EventArgs e) { DataGridViewRow row = null; if (dgvUsers.SelectedRows.Count == 1) { row = dgvUsers.SelectedRows[0]; } else if (dgvUsers.SelectedCells.Count == 1) { int i = dgvUsers.SelectedCells[0].RowIndex; row = dgvUsers.Rows[i]; } else { MessageBox.Show( "Debes seleccionar solo 1 usuario a eliminar", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information ); } if (row != null) { DialogResult deleteIt = MessageBox.Show( "¿Estas seguro de eliminar este usuario?", "Confirmar", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question ); if (deleteIt != DialogResult.Yes) { return; } int id = Int32.Parse(row.Cells[0].Value.ToString()); users localUser = (from em in entities.users where em.id == id select em).First(); if (localUser == null) { MessageBox.Show( "El Usuario seleccionado no existe", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error ); loadUsers(""); } else { int adminTotal = entities.users.Count(el => el.permission == 1); if (adminTotal == 1 && localUser.permission == 1) { MessageBox.Show( "No puedes eliminar al único administrador", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error ); } else { bool delete = true; bool sameAsLogged = false; if (localUser.id == Contabilidad.user.id) { delete = false; sameAsLogged = true; DialogResult response = MessageBox.Show( "Estas a punto de eliminar tu usuario. Esta acción te expulsará del sistema\n\n¿Deseas continuar?", "Confirmar", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question ); if (response == DialogResult.Yes) { delete = true; } } if (delete) { entities.users.Remove(localUser); entities.SaveChanges(); MessageBox.Show( "¡Usuario eliminado con éxito!", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information ); if (sameAsLogged) { IniciarSesion.getInstance().Show(); Contabilidad.showLogin = true; Contabilidad.getInstance().Close(); } else { loadUsers(""); } } } } } }