private void btn_guardar_Click(object sender, EventArgs e) { try { Validaciones.inicializarValidador(); Validaciones.esValido(username.Name, username.Text, new Validaciones.NumerosLetrasGuion()); Validaciones.esValido(passwordAnterior.Name, passwordAnterior.Text, new Validaciones.NumerosLetrasGuion()); Validaciones.esValido(passwordNueva.Name, passwordNueva.Text, new Validaciones.NumerosLetrasGuion()); Validaciones.esValido(passwordNuevaConfirmacion.Name, passwordNuevaConfirmacion.Text, new Validaciones.NumerosLetrasGuion()); if (!String.IsNullOrEmpty(Validaciones.camposInvalidos)) { throw new CamposInvalidosException(); } if (passwordNueva.Text != passwordNuevaConfirmacion.Text) { throw new ControlDePKException(); } if (!BDManager.existsButWith("usuario", "username", user.username, "password=HASHBYTES('SHA2_256','" + passwordAnterior.Text + "')")) { throw new PasswordIncorrectaException(); } if (passwordAnterior.Text == passwordNueva.Text) { throw new PasswordIgualException(); } user.password = passwordNueva.Text; BDManager.updateEncryptedUser(user); MessageBox.Show("El usuario ha sido modificado", "Usuario modificado correctamente", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } catch (CamposInvalidosException) { MessageBox.Show(Validaciones.camposInvalidos, "Error al validar campos del usuario a registrar", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (ControlDePKException) { MessageBox.Show("Contraseña nueva mal escrita", "Error al validar campos del usuario a insertar", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (PasswordIncorrectaException) { MessageBox.Show("Contraseña anterior incorrecta", "Error al validar contraseña", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (PasswordIgualException) { MessageBox.Show("Contraseña anterior y nueva iguales", "Error al validar contraseña", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
private void btn_guardar_Click(object sender, EventArgs e) { try { Validaciones.inicializarValidador(); Validaciones.esValido(nDoc.Name, nDoc.Text, new Validaciones.Numeros()); Validaciones.esValido(CUIL.Name, CUIL.Text, new Validaciones.CUIT()); Validaciones.esValido(email.Name, email.Text, new Validaciones.Email()); Validaciones.esValido(ntarjeta.Name, ntarjeta.Text, new Validaciones.Numeros()); Validaciones.esValido(codSeguridad.Name, codSeguridad.Text, new Validaciones.Numeros()); Validaciones.esValido(nombreTitularTarjeta.Name, nombreTitularTarjeta.Text, new Validaciones.Letras()); if (!String.IsNullOrEmpty(Validaciones.camposInvalidos)) { throw new CamposInvalidosException(); } // armar objetito cliente c.nombre = nombre.Text; c.apellido = apellido.Text; c.tipo_documento = tipoDoc.Text; c.dni = nDoc.Text; c.CUIL = CUIL.Text; c.mail = email.Text; c.telefono = telefono.Text; c.fecha_nacimiento = fechaNac.Text; d.localidad = localidad.Text; d.ciudad = ciudad.Text; d.calle = calle.Text; d.piso = piso.Text; d.depto = depto.Text; d.cpostal = cpostal.Text; d.nro_calle = nroCalle.Text; t.username = CUIL.Text; t.nro_tarjeta = ntarjeta.Text; t.cod_seguridad = codSeguridad.Text; t.nombre_titular = nombreTitularTarjeta.Text; t.fecha_vencimiento = fechavtotarjeta.Text; // valido CUIL if (BDManager.existsButWith("cliente", "CUIL", c.dni, "username!=" + this.userV)) { throw new ClienteInvalidoException(); } // validar tipodoc+ndoc contra la base usando BDManager if (BDManager.existsButWith("cliente", "tipo_documento", tipoDoc.Text, " dni= " + nDoc.Text + " AND username!=" + this.userV)) { throw new ClienteInvalidoException(); } BDManager.updateSetStringKey("direccion", "id_direccion", d.id_direccion, d); BDManager.updateSetStringKey("cliente", "username", c.username, c); BDManager.updateSetStringKey("tarjeta", "username", c.username, t); MessageBox.Show("El cliente ha sido insertado.", "Cliente insertado correctamente", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } catch (CamposInvalidosException) { MessageBox.Show(Validaciones.camposInvalidos, "Error al validar campos del cliente a insertar", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (ClienteInvalidoException) { MessageBox.Show("CUIL o documento ya existente en sistema bajo otro usuario", "Error al validar campos del cliente a modificar", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
private void btn_ingresar_Click(object sender, EventArgs e) { try { Validaciones.inicializarValidador(); Validaciones.esValido(username.Name, username.Text, new Validaciones.NumerosLetrasGuion()); Validaciones.esValido("password", passwordAnterior.Text, new Validaciones.NumerosLetrasGuion()); if (!String.IsNullOrEmpty(Validaciones.camposInvalidos)) { throw new CamposInvalidosException(); } // todos los controles contra usuario if (!BDManager.exists("usuario", "username", username.Text)) { throw new UsuarioNoExistenteException(); } if (!BDManager.existsButWith("usuario", "username", username.Text, "password=HASHBYTES('SHA2_256','" + passwordAnterior.Text + "')")) { usuarioGlobal.restarIntento(); if (usuarioGlobal.numeroDeIntentos < 1) { usuario ur = new usuario(); ur.username = username.Text; ur.habilitado = "False"; BDManager.updateEncryptedUser(ur); throw new UsuarioInhabilitadoException(); } throw new PasswordIncorrectaException(); } usuario u = new usuario(); BDManager.selectIntoObjectByString("usuario", "username", username.Text, u); if (u.habilitado == "False") { throw new UsuarioInhabilitadoException(); } if (BDManager.existsButWith("usuario", "username", username.Text, "HASHBYTES('SHA2_256','" + passwordAnterior.Text + "')=HASHBYTES('SHA2_256','" + u.username + "')")) { MessageBox.Show("Su usuario " + username.Text + " debe cambiar su contraseña, ya que es su primer ingreso. Acepte este cuadro de diálogo para hacerlo.", "Usuario logueado por primera vez", MessageBoxButtons.OK, MessageBoxIcon.Warning); RegistraUsuario registraUsuario = new RegistraUsuario(u); registraUsuario.ShowDialog(); throw new DebeCambiarContraseniaException(); } // ahora tengo que ver si el user tiene 1 rol o mas List <object> listaTraidaDeBD = BDManager.getList("SELECT * FROM EQUISDE.rol r JOIN EQUISDE.rol_x_usuario ru ON r.id_rol = ru.id_rol JOIN EQUISDE.usuario u ON ru.username = u.username WHERE r.habilitado=1 AND u.username ='******'", new rol()); List <rol> listaRolesDeEseUsuario = listaTraidaDeBD.Cast <rol>().ToList(); if (listaRolesDeEseUsuario.Count < 1) { throw new UsuarioNoTieneRolesException(); } usuarioGlobal.usuarioLogueado = u; usuarioGlobal.numeroDeIntentos = 3; if (listaRolesDeEseUsuario.Count > 1) { MessageBox.Show("El usuario" + username.Text + " tiene su username igual a su password. Debe ingresar una contraseña segura de ingreso permanente al sistema.", "Usuario inhabilitado", MessageBoxButtons.OK, MessageBoxIcon.Warning); SeleccionaRol seleccionaRol = new SeleccionaRol(); usuarioGlobal.posiblesRoles = listaRolesDeEseUsuario; seleccionaRol.ShowDialog(); } else { usuarioGlobal.rolLogueado = listaRolesDeEseUsuario[0]; } MessageBox.Show("Login exitoso del usuario " + u.username, "Login completado", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Hide(); // show other form MenuPrincipal m = new MenuPrincipal(); m.ShowDialog(); // close application this.Close(); } catch (CamposInvalidosException) { MessageBox.Show(Validaciones.camposInvalidos, "Error al validar campos del usuario a loguear", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (PasswordIncorrectaException) { MessageBox.Show("Contraseña incorrecta. Restan " + usuarioGlobal.numeroDeIntentos + " intento(s)", "Error en contraseña", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (UsuarioNoExistenteException) { MessageBox.Show("Usuario no existente en el sistema", "Error al validar campos del usuario a loguear", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (UsuarioInhabilitadoException) { MessageBox.Show("El usuario " + username.Text + " se encuentra inhabilitado", "Usuario inhabilitado", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (DebeCambiarContraseniaException) { } catch (UsuarioNoTieneRolesException) { MessageBox.Show("El usuario" + username.Text + " no posee roles", "Usuario incorrecto", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
private void btn_guardar_Click(object sender, EventArgs e) { try { validarCamposCliente(); // armar objetito cliente cliente c = new cliente(); direccion d = new direccion(); tarjeta t = new tarjeta(); c.nombre = nombre.Text; c.apellido = apellido.Text; c.tipo_documento = tipoDoc.Text; c.dni = nDoc.Text; c.CUIL = CUIL.Text; c.mail = email.Text; c.telefono = telefono.Text; c.fecha_nacimiento = fechaNac.Text; c.habilitado = "True"; d.localidad = localidad.Text; d.ciudad = ciudad.Text; d.calle = calle.Text; d.piso = piso.Text; d.depto = depto.Text; d.cpostal = cpostal.Text; d.nro_calle = nroCalle.Text; t.username = CUIL.Text; t.nro_tarjeta = nroTarjeta.Text; t.cod_seguridad = codSeguridad.Text; t.nombre_titular = nombreTitularTarjeta.Text; t.fecha_vencimiento = fechavtotarjeta.Text; // valido CUIL if (BDManager.exists("cliente", "CUIL", c.CUIL)) { throw new ClienteInvalidoException(); } // validar tipodoc+ndoc contra la base usando BDManager if (BDManager.existsButWith("cliente", "tipo_documento", tipoDoc.Text, "dni=" + nDoc.Text)) { throw new ClienteInvalidoException(); } // inserto dir BDManager.insertIntoAndGetID("direccion", "id_direccion", d); d.id_direccion = BDManager.idInsertado; c.id_direccion = d.id_direccion; // el usuario que tendra el cliente usuario u = new usuario(); u.username = c.CUIL; u.password = c.CUIL; c.username = c.CUIL; // inserto tarjeta y clientebueno BDManager.insertEncryptedUser(u); BDManager.insertInto("cliente", c); BDManager.insertInto("tarjeta", t); // ahora el rol del cliente BDManager.insertInto("rol_x_usuario", new rol_x_usuario { username = c.username, id_rol = "2" }); MessageBox.Show("Cliente insertado correctamente, su username y primer password son: " + c.username, "Cliente insertado correctamente", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } catch (CamposInvalidosException) { MessageBox.Show(Validaciones.camposInvalidos, "Error al validar campos del cliente a insertar", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (ClienteInvalidoException) { MessageBox.Show("CUIL o DOC ya existente en sistema", "Error al validar campos del cliente a insertar", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (Exception ex) { MessageBox.Show("Error: " + ex.Message, "Error al insertar", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }