///************************************************************************************************************** ///NOMBRE DE LA FUNCIÓN: Registro_Acceso ///DESCRIPCIÓN : Consulta el ultimo registro de acceso del usuario ///PARAMENTROS : P_Registro_Accesos.- Instancia de la Clase de Negocio de Empresas con los datos que servirán de /// filtro. ///CREO : Sergio Manuel Gallardo Andrade ///FECHA_CREO : 28/Febrero/2013 ///MODIFICO : ///FECHA_MODIFICO : ///CAUSA_MODIFICACIÓN : ///******************************************************************************* public static void Registro_Acceso(Cls_Apl_Registro_Accesos_Negocio P_Registro_Accesos) { DataTable Tabla = new DataTable(); StringBuilder Mi_SQL = new StringBuilder(); Conexion.Iniciar_Helper(); Conexion.HelperGenerico.Conexion_y_Apertura(); try { Mi_SQL.Append("UPDATE " + Apl_Usuarios.Tabla_Apl_Usuarios + " SET "); Mi_SQL.Append(Apl_Usuarios.Campo_Fecha_Ultimo_Acceso + " = " + Cls_Ayudante_Sintaxis.Fecha()); Mi_SQL.Append(" WHERE " + Apl_Usuarios.Campo_Usuario_Id + " = '" + P_Registro_Accesos.P_Usuario_Id + "'"); Conexion.HelperGenerico.Ejecutar_NonQuery(Mi_SQL.ToString()); } catch (Exception Ex) { String Mensaje = "Error al intentar consultar los Puestos. Error: [" + Ex.Message + "]."; //"Error general en la base de datos" throw new Exception(Mensaje); } finally { Conexion.HelperGenerico.Cerrar_Conexion(); } }
///************************************************************************************************************** ///NOMBRE DE LA FUNCIÓN: Consultar_Registro_Accesos ///DESCRIPCIÓN : Consulta los motivos de rechazo ///PARAMENTROS : P_Registro_Accesos.- Instancia de la Clase de Negocio de Empresas con los datos que servirán de /// filtro. ///CREO : Miguel Angel Alvarado Eniquez. ///FECHA_CREO : 15/Febrero/2013 ///MODIFICO : ///FECHA_MODIFICO : ///CAUSA_MODIFICACIÓN : ///******************************************************************************* public static DataTable Consultar_Fecha_Servidor(Cls_Apl_Registro_Accesos_Negocio P_Registro_Accesos) { StringBuilder Mi_SQL = new StringBuilder(); Conexion.Iniciar_Helper(); Conexion.HelperGenerico.Conexion_y_Apertura(); DataTable Dt_Consulta = new DataTable(); try { Mi_SQL.Append("SELECT now() as Fecha_Servidor"); Dt_Consulta = Conexion.HelperGenerico.Obtener_Data_Set(Mi_SQL.ToString()).Tables[0]; } catch (Exception Ex) { String Mensaje = "Error al intentar consultar los Puestos. Error: [" + Ex.Message + "]."; //"Error general en la base de datos" throw new Exception(Mensaje); } finally { Conexion.HelperGenerico.Cerrar_Conexion(); } return(Dt_Consulta); }
/// *********************************************************************************** /// Nombre de la Función: Alta_Registro_Accesos /// Descripción : Da de alta en la Base de Datos una nueva Empresa /// Parámetros : /// Usuario Creo : Miguel Angel Alvarado Enriquez. /// Fecha Creó : 14/Febrero/2013 12:32 p.m. /// Usuario Modifico : /// Fecha Modifico : /// *********************************************************************************** public static Boolean Alta_Registro_Accesos(Cls_Apl_Registro_Accesos_Negocio P_Registro_Accesos) { Boolean Alta = false; StringBuilder Mi_sql = new StringBuilder();; String Registro_Id = ""; Boolean Transaccion_Activa = false; Conexion.Iniciar_Helper(); if (!Conexion.HelperGenerico.Estatus_Transaccion()) { Conexion.HelperGenerico.Conexion_y_Apertura(); } else { Transaccion_Activa = true; } try { Conexion.HelperGenerico.Iniciar_Transaccion(); Registro_Id = Cls_Metodos_Generales.Obtener_ID_Consecutivo(Apl_Registro_Accesos.Tabla_Apl_Registro_Accesos, Apl_Registro_Accesos.Campo_Registro_Id, "", 5); Mi_sql.Append("INSERT INTO " + Apl_Registro_Accesos.Tabla_Apl_Registro_Accesos + "("); Mi_sql.Append(Apl_Registro_Accesos.Campo_Registro_Id + ", "); Mi_sql.Append(Apl_Registro_Accesos.Campo_Usuario_Id + ", "); Mi_sql.Append(Apl_Registro_Accesos.Campo_Tipo + ", "); Mi_sql.Append(Apl_Registro_Accesos.Campo_Usuario_Creo + ", "); Mi_sql.Append(Apl_Registro_Accesos.Campo_Fecha_Creo); Mi_sql.Append(") VALUES ("); Mi_sql.Append("'" + Registro_Id); Mi_sql.Append("', '" + P_Registro_Accesos.P_Usuario_Id); Mi_sql.Append("', '" + P_Registro_Accesos.P_Tipo); Mi_sql.Append("', '" + MDI_Frm_Apl_Principal.Nombre_Usuario); Mi_sql.Append("', " + Cls_Ayudante_Sintaxis.Fecha()); Mi_sql.Append(")"); Conexion.HelperGenerico.Ejecutar_NonQuery(Mi_sql.ToString()); Alta = true; if (!Transaccion_Activa) { Conexion.HelperGenerico.Terminar_Transaccion(); } } catch (Exception E) { if (!Transaccion_Activa) { Conexion.HelperGenerico.Abortar_Transaccion(); } throw new Exception("Alta_Registro_Accesos: " + E.Message); } finally { if (!Transaccion_Activa) { Conexion.HelperGenerico.Cerrar_Conexion(); } } return(Alta); }
//************************************************************************************* //NOMBRE DE LA FUNCIÓN: Registrar_Salida //DESCRIPCIÓN: //PARÁMETROS : //CREO : Hugo Enrique Ramírez Aguilera //FECHA_CREO : 25-Febrero-2013 04:33 p.m. //MODIFICO: //FECHA_MODIFICO //CAUSA_MODIFICACIÓN //************************************************************************************* public static void Registrar_Salida() { Cls_Apl_Registro_Accesos_Negocio Rs_Alta_Acceso = new Cls_Apl_Registro_Accesos_Negocio(); Rs_Alta_Acceso.P_Usuario_Id = MDI_Frm_Apl_Principal.Usuario_ID; Rs_Alta_Acceso.P_Tipo = "SALIDA"; // tipos: ACCESO, SALIDA Rs_Alta_Acceso.Alta_Registro_Accesos(); }
///************************************************************************************************************** ///NOMBRE DE LA FUNCIÓN: Consultar_Registro_Accesos ///DESCRIPCIÓN : Consulta los motivos de rechazo ///PARAMENTROS : P_Registro_Accesos.- Instancia de la Clase de Negocio de Empresas con los datos que servirán de /// filtro. ///CREO : Miguel Angel Alvarado Eniquez. ///FECHA_CREO : 15/Febrero/2013 ///MODIFICO : ///FECHA_MODIFICO : ///CAUSA_MODIFICACIÓN : ///******************************************************************************* public static DataTable Consultar_Registro_Accesos(Cls_Apl_Registro_Accesos_Negocio P_Registro_Accesos) { DataTable Tabla = new DataTable(); StringBuilder Mi_SQL = new StringBuilder(); Boolean Segundo_Filtro = false; Conexion.Iniciar_Helper(); Conexion.HelperGenerico.Conexion_y_Apertura(); try { Mi_SQL.Append("SELECT * FROM " + Apl_Registro_Accesos.Tabla_Apl_Registro_Accesos); if (!String.IsNullOrEmpty(P_Registro_Accesos.P_Usuario_Id)) { Mi_SQL.Append(Segundo_Filtro ? " AND " : " WHERE "); Mi_SQL.Append(Apl_Registro_Accesos.Campo_Usuario_Id + " = '" + P_Registro_Accesos.P_Usuario_Id + "' "); Segundo_Filtro = true; } if (!String.IsNullOrEmpty(P_Registro_Accesos.P_Tipo)) { Mi_SQL.Append(Segundo_Filtro ? " AND " : " WHERE "); Mi_SQL.Append(Apl_Registro_Accesos.Campo_Tipo + " = '" + P_Registro_Accesos.P_Tipo + "' "); Segundo_Filtro = true; } if (!String.IsNullOrEmpty(P_Registro_Accesos.P_Registro_Id)) { Mi_SQL.Append(Segundo_Filtro ? " AND " : " WHERE "); Mi_SQL.Append(Apl_Registro_Accesos.Campo_Registro_Id + " = '" + P_Registro_Accesos.P_Registro_Id + "' "); Segundo_Filtro = true; } if (!String.IsNullOrEmpty(P_Registro_Accesos.P_Fecha_Creo)) { Mi_SQL.Append(Segundo_Filtro ? " AND " : " WHERE "); Mi_SQL.Append(" DATE_FORMAT(" + Apl_Registro_Accesos.Campo_Fecha_Creo + ", '%Y-%m-%d' ) = '" + P_Registro_Accesos.P_Fecha_Creo + "' "); Segundo_Filtro = true; } // agregar filtro y orden a la consulta DataSet dataset = Conexion.HelperGenerico.Obtener_Data_Set(Mi_SQL.ToString()); if (dataset != null) { Tabla = dataset.Tables[0]; } } catch (Exception Ex) { String Mensaje = "Error al intentar consultar los Puestos. Error: [" + Ex.Message + "]."; //"Error general en la base de datos" throw new Exception(Mensaje); } finally { Conexion.HelperGenerico.Cerrar_Conexion(); } return(Tabla); }
//************************************************************************************* //NOMBRE DE LA FUNCIÓN: Registrar_Acceso //DESCRIPCIÓN: //PARÁMETROS : //CREO : Hugo Enrique Ramírez Aguilera //FECHA_CREO : 25-Febrero-2013 04:33 p.m. //MODIFICO: //FECHA_MODIFICO //CAUSA_MODIFICACIÓN //************************************************************************************* public static void Registrar_Acceso() { Cls_Apl_Registro_Accesos_Negocio Rs_Alta_Acceso = new Cls_Apl_Registro_Accesos_Negocio(); Cls_Apl_Usuarios_Negocio Rs_Actualiza_Usuario = new Cls_Apl_Usuarios_Negocio(); try { Rs_Alta_Acceso.P_Usuario_Id = MDI_Frm_Apl_Principal.Usuario_ID; Rs_Alta_Acceso.P_Tipo = "ACCESO"; // tipos: ACCESO, SALIDA Rs_Alta_Acceso.Alta_Registro_Accesos(); //registra el ultimo acceso en la tabla de usuario Rs_Alta_Acceso.P_Usuario_Id = MDI_Frm_Apl_Principal.Usuario_ID; Rs_Alta_Acceso.Registro_Acceso(); //Actualiza los intentos de acceso del usuario Rs_Actualiza_Usuario.P_Usuario_Id = MDI_Frm_Apl_Principal.Usuario_ID; Rs_Actualiza_Usuario.P_No_Intentos_Acceso = "0"; Rs_Actualiza_Usuario.Modificar_Usuario(); } catch (Exception E) { MessageBox.Show(E.ToString()); } }
//************************************************************************************* //NOMBRE DE LA FUNCIÓN: Iniciar_Sesion_Usuario //DESCRIPCIÓN: inicia Session el usuario que se logueo //PARÁMETROS : //CREO : Sergio Manuel Gallardo Andrade //FECHA_CREO : 20-Febrero-2013 //MODIFICO: //FECHA_MODIFICO //CAUSA_MODIFICACIÓN //************************************************************************************* private void Iniciar_Sesion_Usuario() { Cls_Apl_Usuarios_Negocio Rs_Usuario_logueado = new Cls_Apl_Usuarios_Negocio(); Cls_Ope_Turnos_Negocio Rs_Turno = new Cls_Ope_Turnos_Negocio(); Cls_Apl_Registro_Accesos_Negocio Rs_Consultar_Acceso = new Cls_Apl_Registro_Accesos_Negocio(); DataTable Dt_Resultado = new DataTable(); DataTable Dt_Accesos = new DataTable(); DataTable Dt_Turno = new DataTable(); DateTime Dtime_Fecha_Turno = new DateTime(); String Respuesta = ""; int Dias = 0; try { Rs_Usuario_logueado.P_Usuario = Txt_Login.Text.ToString(); Rs_Usuario_logueado.P_Contrasenia = Cls_Seguridad.Encriptar(Txt_Password.Text.ToString()); Rs_Usuario_logueado.P_Equipo_Creo = Environment.MachineName; Dt_Resultado = Rs_Usuario_logueado.Consultar_Usuario(); if (Dt_Resultado.Rows.Count > 0) { if (Dt_Resultado.Rows[0][Apl_Usuarios.Campo_Estatus].ToString() == "ACTIVO") { //se verifica si no han pasado mas de tres meses de inactividad del usuario if (Deshabilitar_Usuario(Dt_Resultado.Rows[0][Apl_Usuarios.Campo_Usuario_Id].ToString())) { Dias = Calcular_Dias_Caduca_Password(Convert.ToDateTime(Dt_Resultado.Rows[0][Apl_Usuarios.Campo_Fecha_Expira_Contrasenia])); Validar_Mensaje_Dias_Contrasenia(Dias); Asignar_Valores_Globales(Dt_Resultado); // Establece el estatus de Aceptar para el usuario logueado correcto Estatus_Login = Estatus_Dialogo.Aceptar; // se registra el acceso del usuario Registrar_Acceso(); // consulta los accesos al sistema Rs_Consultar_Acceso.P_Fecha_Creo = DateTime.Now.ToString("yyyy-MM-dd"); Dt_Accesos = Rs_Consultar_Acceso.Consultar_Registro_Accesos(); //// validacion para que el turno se cerro anteriormente ************************************* //Rs_Turno.P_Estatus = "ABIERTO"; //Dt_Turno = Rs_Turno.Consultar_Turnos(); //if (Dt_Turno != null && Dt_Turno.Rows.Count > 0) //{ // foreach (DataRow Registro in Dt_Turno.Rows) // { // Dtime_Fecha_Turno = Convert.ToDateTime(Registro["Hora_Inicio"].ToString()); // } // // comparamos la fecha actual contra la fecha del turno // if (Dtime_Fecha_Turno.ToString("dd/MM/yyyy") != DateTime.Now.ToString("dd/MM/yyyy")) // { // // si es distinta se procedara a cerrar el turno // Rs_Turno.P_Fecha_Hora_Cierre = DateTime.Now; // //Rs_Turno.Cierre_Turno_Fuera_Fecha(); // //if (Dt_Accesos.Rows.Count == 1 && Dt_Accesos != null) // //{ // // // Se valida la conexion para el envio de la informacion al deudorcad // // if (Validar_Conexion()) // // { // // // se manda la informacion pendiente // // try // // { // // //Btn_Exportar_Click(null, null); // // } // // catch (Exception x) // // { // // } // // }// fin de la validacion de conexcion // //}// fin del if de registros de accesos // }// fin de la validacion de la fecha //}// fin de la validacion de los turnos // Cierra la ventana de login **************************************************** this.Dispose(); this.Close(); } else { MessageBox.Show(this, "El usuario ha caducado, favor de comunicarse con su administrador del sistema para poder acceder.", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show(this, "El usuario ha caducado, favor de comunicarse con su administrador del sistema para poder acceder.", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { Respuesta = Registrar_Intentos(Txt_Login.Text.ToString()); if (Respuesta == "ULTIMA") { MessageBox.Show(this, "Si fallas una vez más se bloqueara el usuario.", "Login", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { if (Respuesta == "BLOKEADO") { MessageBox.Show(this, "El Usuario se ha bloqueado por intentos fallidos.", "Login", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { MessageBox.Show(this, "El Usuario o Contraseña no son los correctos por favor verifícalos.", "Login", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } Txt_Login.Focus(); } } catch (Exception Ex) { throw new Exception("Iniciar_Sesion_Usuario: " + Ex.Message); } }