示例#1
0
        public UsuarioObj control_login_usuario(string nick_usuario, string contrase)
        {
            conBdd.abrir_conexion_base();
            UsuarioObj u;
            string     mensajeError = string.Empty;

            try
            {
                u        = conBdd.obtener_usuario(nick_usuario);
                contrase = seguridad.encriptar_informacion(contrase);
                if (!u.contrasenia.Equals(contrase))
                {
                    if (u.numero_intentos > (numeroIntentos - 1))
                    {
                        u.estado     = "B";// Bloqueo usuario
                        mensajeError = MensajeSistema.usuario_bloqueado;
                        notificacion("Su usuario ha sido bloqueado " +
                                     "por el sistema debido a 3 intentos fallidos", MensajeSistema.usuario_bloqueado, u);
                    }
                    else if (u.estado.Equals("A"))
                    {
                        u.numero_intentos = u.numero_intentos + 1;
                        mensajeError      = MensajeSistema.pass_incorrecto + " Queda " + (numeroIntentos - u.numero_intentos) + " intentos";
                    }
                    else if (u.estado.Equals("A"))
                    {
                        mensajeError = MensajeSistema.usuario_bloqueado;
                    }
                    else
                    {
                        mensajeError = MensajeSistema.usuario_no_reg;
                    }
                    conBdd.actualizar_usuario(u);
                    u        = new UsuarioObj();
                    u.correo = mensajeError;
                }
                else if (u.estado.Equals("B"))
                {
                    mensajeError = MensajeSistema.usuario_bloqueado;
                    u            = new UsuarioObj();
                    u.correo     = mensajeError;
                }
                u.contrasenia = null;
            }
            catch (ExRegistroNoExiste ex)
            {
                logSistema.escritura_archivo_string(ex.Message);
                u        = new UsuarioObj();
                u.correo = ex.Message;
            }
            catch (ExpObtenerRegistro ex) {
                logSistema.escritura_archivo_string(ex.Message);
                u        = new UsuarioObj();
                u.correo = ex.Message;
            }
            catch (Exception ex)
            {
                u        = new UsuarioObj();
                u.correo = MensajeSistema.error_sistema;
                logSistema.escritura_archivo_string(MensajeSistema.error_sistema + ":" + ex.Message);
            }
            finally
            {
                conBdd.cerrar_conexion_base();
            }
            return(u);
        }