예제 #1
0
 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); }
 }
예제 #2
0
 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); }
 }
예제 #3
0
 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); }
 }
예제 #4
0
 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); }
 }