//*************************************************************************************
        //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: Alta_Usuarios
        /// Descripción         : Da de alta en la Base de Datos un nuevo Usuario
        /// 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_Usuarios(Cls_Apl_Usuarios_Negocio P_Usuario)
        {
            Boolean       Alta       = false;
            StringBuilder Mi_sql     = new StringBuilder();;
            String        Usuario_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();
                Usuario_ID = Cls_Metodos_Generales.Obtener_ID_Consecutivo(Apl_Usuarios.Tabla_Apl_Usuarios, Apl_Usuarios.Campo_Usuario_Id, "", 10);

                Mi_sql.Append("INSERT INTO " + Apl_Usuarios.Tabla_Apl_Usuarios + "(");
                Mi_sql.Append(Apl_Usuarios.Campo_Usuario_Id + ", ");
                if (!String.IsNullOrEmpty(P_Usuario.P_Empleado_Id))
                {
                    Mi_sql.Append(Apl_Usuarios.Campo_Empleado_Id + ", ");
                }
                Mi_sql.Append(Apl_Usuarios.Campo_Usuario + ", ");
                Mi_sql.Append(Apl_Usuarios.Campo_Fecha_Expira_Contrasenia + ", ");
                if (!String.IsNullOrEmpty(P_Usuario.P_Email))
                {
                    Mi_sql.Append(Apl_Usuarios.Campo_Email + ", ");
                }
                Mi_sql.Append(Apl_Usuarios.Campo_No_Intentos_Acceso + ", ");
                Mi_sql.Append(Apl_Usuarios.Campo_No_Intentos_Recuperar + ", ");
                if (!String.IsNullOrEmpty(P_Usuario.P_Pregunta_Secreta))
                {
                    Mi_sql.Append(Apl_Usuarios.Campo_Pregunta_Secreta);
                }
                if (!String.IsNullOrEmpty(P_Usuario.P_Respuesta_Secreta))
                {
                    Mi_sql.Append(Apl_Usuarios.Campo_Respuesta_Secreta + ", ");
                }
                Mi_sql.Append(Apl_Usuarios.Campo_Estatus + ", ");
                Mi_sql.Append(Apl_Usuarios.Campo_Rol_Id + ", ");
                Mi_sql.Append(Apl_Usuarios.Campo_Comentario + ", ");
                Mi_sql.Append(Apl_Usuarios.Campo_Contrasenia + ", ");
                Mi_sql.Append(Apl_Usuarios.Campo_Nombre_Usuario + ", ");
                Mi_sql.Append(Apl_Usuarios.Campo_Usuario_Creo + ", ");
                Mi_sql.Append(Apl_Usuarios.Campo_Fecha_Creo);
                Mi_sql.Append(") VALUES (");
                Mi_sql.Append("'" + Usuario_ID + "', ");
                if (!String.IsNullOrEmpty(P_Usuario.P_Empleado_Id))
                {
                    Mi_sql.Append("'" + P_Usuario.P_Empleado_Id + "', ");
                }
                Mi_sql.Append("'" + P_Usuario.P_Usuario + "', ");
                Mi_sql.Append("'" + P_Usuario.P_Fecha_Expira_Contrasenia + "', ");
                if (!String.IsNullOrEmpty(P_Usuario.P_Email))
                {
                    Mi_sql.Append("'" + P_Usuario.P_Email + "', ");
                }
                Mi_sql.Append("0, ");
                Mi_sql.Append("0, ");
                if (!String.IsNullOrEmpty(P_Usuario.P_Pregunta_Secreta))
                {
                    Mi_sql.Append("'" + P_Usuario.P_Pregunta_Secreta + "', ");
                }
                if (!String.IsNullOrEmpty(P_Usuario.P_Respuesta_Secreta))
                {
                    Mi_sql.Append("'" + P_Usuario.P_Respuesta_Secreta + "', ");
                }
                Mi_sql.Append("'" + P_Usuario.P_Estatus + "', ");
                Mi_sql.Append("'" + P_Usuario.P_Rol_ID + "', ");
                Mi_sql.Append("'" + P_Usuario.P_Comentarios + "', ");
                Mi_sql.Append("'" + P_Usuario.P_Contrasenia + "', ");
                Mi_sql.Append("'" + P_Usuario.P_Nombre_Usuario + "', ");
                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)
            {
                Conexion.HelperGenerico.Abortar_Transaccion();
                throw new Exception("Alta_Usuarios: " + E.Message);
            }
            finally
            {
                if (!Transaccion_Activa)
                {
                    Conexion.HelperGenerico.Cerrar_Conexion();
                }
            }
            return(Alta);
        }
        ///*******************************************************************************
        ///NOMBRE DE LA FUNCIÓN : Modificar_Usuario
        ///DESCRIPCIÓN          : Modifica un registro de la tabla de usuarios en la base de datos.
        ///PARAMETROS           : P_Usuario: Contiene el registro que sera modificado.
        ///CREO                 : Miguel Angel Alvarado Enriquez.
        ///FECHA_CREO           : 16/Febrero/2013 11:35:00 a.m.
        ///MODIFICO             :
        ///FECHA_MODIFICO       :
        ///CAUSA_MODIFICACIÓN   :
        ///*******************************************************************************
        public static void Modificar_Usuario(Cls_Apl_Usuarios_Negocio P_Usuario)
        {
            StringBuilder Mi_SQL;

            Conexion.Iniciar_Helper();
            Conexion.HelperGenerico.Conexion_y_Apertura();

            Mi_SQL = new StringBuilder();
            Mi_SQL.Append("UPDATE " + Apl_Usuarios.Tabla_Apl_Usuarios + " SET ");

            if (!String.IsNullOrEmpty(P_Usuario.P_Empleado_Id))
            {
                Mi_SQL.Append(Apl_Usuarios.Campo_Empleado_Id + " = '" + P_Usuario.P_Empleado_Id + "', ");
            }
            if (!String.IsNullOrEmpty(P_Usuario.P_Nombre_Usuario))
            {
                Mi_SQL.Append(Apl_Usuarios.Campo_Nombre_Usuario + " = '" + P_Usuario.P_Nombre_Usuario + "', ");
            }
            if (!String.IsNullOrEmpty(P_Usuario.P_Rol_ID))
            {
                Mi_SQL.Append(Apl_Usuarios.Campo_Rol_Id + " = '" + P_Usuario.P_Rol_ID + "', ");
            }
            if (!String.IsNullOrEmpty(P_Usuario.P_Usuario))
            {
                Mi_SQL.Append(Apl_Usuarios.Campo_Usuario + " = '" + P_Usuario.P_Usuario + "', ");
            }
            if (!String.IsNullOrEmpty(P_Usuario.P_Contrasenia))
            {
                Mi_SQL.Append(Apl_Usuarios.Campo_Contrasenia + " = '" + P_Usuario.P_Contrasenia + "', ");
            }
            if (!String.IsNullOrEmpty(P_Usuario.P_Fecha_Expira_Contrasenia))
            {
                Mi_SQL.Append(Apl_Usuarios.Campo_Fecha_Expira_Contrasenia + " = '" + P_Usuario.P_Fecha_Expira_Contrasenia + "', ");
            }
            if (!String.IsNullOrEmpty(P_Usuario.P_Email))
            {
                Mi_SQL.Append(Apl_Usuarios.Campo_Email + " = '" + P_Usuario.P_Email + "', ");
            }
            if (!String.IsNullOrEmpty(P_Usuario.P_No_Intentos_Acceso))
            {
                Mi_SQL.Append(Apl_Usuarios.Campo_No_Intentos_Acceso + " = '" + P_Usuario.P_No_Intentos_Acceso + "', ");
            }
            if (!String.IsNullOrEmpty(P_Usuario.P_No_Intentos_Recuperar))
            {
                Mi_SQL.Append(Apl_Usuarios.Campo_No_Intentos_Recuperar + " = '" + P_Usuario.P_No_Intentos_Recuperar + "', ");
            }
            if (!String.IsNullOrEmpty(P_Usuario.P_Pregunta_Secreta))
            {
                Mi_SQL.Append(Apl_Usuarios.Campo_Pregunta_Secreta + " = '" + P_Usuario.P_Pregunta_Secreta + "', ");
            }
            if (!String.IsNullOrEmpty(P_Usuario.P_Respuesta_Secreta))
            {
                Mi_SQL.Append(Apl_Usuarios.Campo_Respuesta_Secreta + " = '" + P_Usuario.P_Respuesta_Secreta + "', ");
            }
            if (!String.IsNullOrEmpty(P_Usuario.P_Estatus))
            {
                Mi_SQL.Append(Apl_Usuarios.Campo_Estatus + " = '" + P_Usuario.P_Estatus + "', ");
            }
            if (!String.IsNullOrEmpty(P_Usuario.P_Fecha_Ultimo_Intento))
            {
                Mi_SQL.Append(Apl_Usuarios.Campo_Fecha_Intento_Acceso + " = '" + P_Usuario.P_Fecha_Ultimo_Intento + "', ");
            }
            if (!String.IsNullOrEmpty(MDI_Frm_Apl_Principal.Nombre_Usuario))
            {
                Mi_SQL.Append(Apl_Usuarios.Campo_Usuario_Modifico + " = '" + MDI_Frm_Apl_Principal.Nombre_Usuario + "', ");
            }
            Mi_SQL.Append(Apl_Usuarios.Campo_Fecha_Modifico + " = " + Cls_Ayudante_Sintaxis.Fecha());
            Mi_SQL.Append(" WHERE " + Apl_Usuarios.Campo_Usuario_Id + " = '" + P_Usuario.P_Usuario_Id + "'");
            Conexion.HelperGenerico.Ejecutar_NonQuery(Mi_SQL.ToString());
            Conexion.HelperGenerico.Cerrar_Conexion();
        }
Ejemplo n.º 4
0
        ///*******************************************************************************
        ///NOMBRE DE LA FUNCIÓN : Consultar_Usuario
        ///DESCRIPCIÓN          : Regresa un DataTable con los registros del usuario encontrados.
        ///PARAMETROS           : P_Usuario: Contiene los criterios para la busqueda.
        ///CREO                 : Miguel Angel Alvarado Enriquez.
        ///FECHA_CREO           : 16/Febrero/2013 11:45:00 a.m.
        ///MODIFICO             :
        ///FECHA_MODIFICO       :
        ///CAUSA_MODIFICACIÓN   :
        ///*******************************************************************************
        public static System.Data.DataTable Consultar_Usuario(Cls_Apl_Usuarios_Negocio P_Usuario)
        {
            StringBuilder Mi_SQL;
            Boolean       Segundo_Filtro = false;

            Conexion.Iniciar_Helper();
            DataTable Dt_Resultado = new DataTable();

            Conexion.HelperGenerico.Conexion_y_Apertura();

            Mi_SQL = new StringBuilder();
            Mi_SQL.Append("SELECT *, ");
            Mi_SQL.Append("(select " + Cat_Cajas.Campo_Caja_ID + " from " + Cat_Cajas.Tabla_Cat_Cajas + " ");
            Mi_SQL.Append("where " + Cat_Cajas.Campo_Nombre_Equipo + " = '" + P_Usuario.P_Equipo_Creo + "') Caja_Equipo ");
            Mi_SQL.Append(", (select " + Cat_Cajas.Campo_Serie + " from " + Cat_Cajas.Tabla_Cat_Cajas + " ");
            Mi_SQL.Append("where " + Cat_Cajas.Campo_Nombre_Equipo + " = '" + P_Usuario.P_Equipo_Creo + "') Serie_Caja ");
            Mi_SQL.Append(",CONCAT ('C', (select " + Cat_Cajas.Campo_Numero_Caja + " from " + Cat_Cajas.Tabla_Cat_Cajas + " ");
            Mi_SQL.Append("where " + Cat_Cajas.Campo_Nombre_Equipo + " = '" + P_Usuario.P_Equipo_Creo + "')) Numero_Caja ");
            Mi_SQL.Append("FROM " + Apl_Usuarios.Tabla_Apl_Usuarios);


            if (!String.IsNullOrEmpty(P_Usuario.P_Usuario_Id))
            {
                Mi_SQL.Append(Segundo_Filtro ? " AND " : " WHERE ");
                Mi_SQL.Append(Apl_Usuarios.Campo_Usuario_Id + " = '" + P_Usuario.P_Usuario_Id + "'");
                Segundo_Filtro = true;
            }
            if (!String.IsNullOrEmpty(P_Usuario.P_Usuario))
            {
                Mi_SQL.Append(Segundo_Filtro ? " AND " : " WHERE ");
                Mi_SQL.Append(Apl_Usuarios.Campo_Usuario + " = '" + P_Usuario.P_Usuario + "'");
                Segundo_Filtro = true;
            }
            if (!String.IsNullOrEmpty(P_Usuario.P_Nombre_Usuario))
            {
                Mi_SQL.Append(Segundo_Filtro ? " AND " : " WHERE ");
                Mi_SQL.Append(Apl_Usuarios.Campo_Nombre_Usuario + " LIKE '%" + P_Usuario.P_Nombre_Usuario + "%'");
                Segundo_Filtro = true;
            }
            if (!String.IsNullOrEmpty(P_Usuario.P_Estatus))
            {
                Mi_SQL.Append(Segundo_Filtro ? " AND " : " WHERE ");
                Mi_SQL.Append(Apl_Usuarios.Campo_Estatus + " = '" + P_Usuario.P_Estatus + "'");
                Segundo_Filtro = true;
            }
            else
            {
                Mi_SQL.Append(Segundo_Filtro ? " AND " : " WHERE ");
                Mi_SQL.Append(Apl_Usuarios.Campo_Estatus + " <> 'ELIMINADO'");
                Segundo_Filtro = true;
            }
            if (!String.IsNullOrEmpty(P_Usuario.P_Email))
            {
                Mi_SQL.Append(Segundo_Filtro ? " AND " : " WHERE ");
                Mi_SQL.Append(Apl_Usuarios.Campo_Email + " = '" + P_Usuario.P_Email + "'");
                Segundo_Filtro = true;
            }
            if (!String.IsNullOrEmpty(P_Usuario.P_Contrasenia))
            {
                Mi_SQL.Append(Segundo_Filtro ? " AND " : " WHERE ");
                Mi_SQL.Append(Apl_Usuarios.Campo_Contrasenia + " = '" + P_Usuario.P_Contrasenia + "'");
                Segundo_Filtro = true;
            }
            if (!String.IsNullOrEmpty(P_Usuario.P_Rol_ID))
            {
                Mi_SQL.Append(Segundo_Filtro ? " AND " : " WHERE ");
                Mi_SQL.Append(Apl_Usuarios.Campo_Rol_Id + " = '" + P_Usuario.P_Rol_ID + "'");
                Segundo_Filtro = true;
            }

            Dt_Resultado = Conexion.HelperGenerico.Obtener_Data_Table(Mi_SQL.ToString());
            Conexion.HelperGenerico.Cerrar_Conexion();

            return(Dt_Resultado);
        }
Ejemplo n.º 5
0
        //*************************************************************************************
        //NOMBRE DE LA FUNCIÓN: Btn_Busqueda_Click
        //DESCRIPCIÓN:Al seleccionar un regristro se llenaran los campos con la informacion adecuada
        //PARÁMETROS :
        //CREO       : Miguel Angel Bedolla Moreno
        //FECHA_CREO : 26-Febrero-2013
        //MODIFICO:
        //FECHA_MODIFICO
        //CAUSA_MODIFICACIÓN
        //*************************************************************************************
        private void Btn_Busqueda_Click(object sender, EventArgs e)
        {
            Cls_Apl_Usuarios_Negocio Rs_Usuarios_Actuales = new Cls_Apl_Usuarios_Negocio();
            Cls_Apl_Roles_Negocio    Rs_Rol = new Cls_Apl_Roles_Negocio();
            DataTable Dt_Usuarios           = new DataTable();
            DataTable Dt_Temporal           = new DataTable();
            DataTable Dt_Rol         = new DataTable();
            Int16     Contador_Filas = 0;

            try
            {
                if (Cmb_Busqueda_Tipo.SelectedIndex > 0)
                {
                    if (Txt_Descripcion_Busqueda.Text != "")
                    {
                        if (Cmb_Busqueda_Tipo.Text == "USUARIO_ID")
                        {
                            if (Txt_Descripcion_Busqueda.Text.Length < 10)
                            {
                                Rs_Usuarios_Actuales.P_Usuario_Id = String.Format("{0:0000000000}", Convert.ToInt32(Txt_Descripcion_Busqueda.Text));
                            }
                            else
                            {
                                Rs_Usuarios_Actuales.P_Usuario_Id = Txt_Descripcion_Busqueda.Text.Trim();
                            }
                        }
                        else
                        {
                            if (Cmb_Busqueda_Tipo.Text == "NOMBRE")
                            {
                                Rs_Usuarios_Actuales.P_Nombre_Usuario = Txt_Descripcion_Busqueda.Text.Trim();
                            }
                            else
                            {
                                if (Cmb_Busqueda_Tipo.Text == "LOGIN")
                                {
                                    Rs_Usuarios_Actuales.P_Usuario = Txt_Descripcion_Busqueda.Text.Trim();
                                }
                            }
                        }
                        Dt_Usuarios = Rs_Usuarios_Actuales.Consultar_Usuario();
                        Grid_Usuarios.Rows.Clear();
                        if (Dt_Usuarios.Rows.Count > 0)
                        {
                            if (Dt_Temporal.Rows.Count <= 0 && Dt_Temporal.Rows.Count <= 0)
                            {
                                Dt_Temporal.Columns.Add("USUARIO_ID", typeof(System.String));
                                Dt_Temporal.Columns.Add("NOMBRE", typeof(System.String));
                                Dt_Temporal.Columns.Add("ROL", typeof(System.String));
                                Dt_Temporal.Columns.Add("ROL_ID", typeof(System.String));
                                Dt_Temporal.Columns.Add("ESTATUS", typeof(System.String));
                                Dt_Temporal.Columns.Add("FECHA_TERMINO", typeof(System.DateTime));
                            }
                            foreach (DataRow Fila in Dt_Usuarios.Rows)
                            {
                                Grid_Usuarios.Rows.Add();
                                Grid_Usuarios.Rows[Contador_Filas].Cells[0].Value = Fila[Apl_Usuarios.Campo_Usuario_Id];
                                Grid_Usuarios.Rows[Contador_Filas].Cells[1].Value = Fila[Apl_Usuarios.Campo_Usuario];
                                Rs_Rol.P_Rol_Id = Fila[Apl_Usuarios.Campo_Rol_Id].ToString();
                                Dt_Rol          = Rs_Rol.Consultar_Roles();
                                Grid_Usuarios.Rows[Contador_Filas].Cells[2].Value = Dt_Rol.Rows[0][Apl_Roles.Campo_Nombre];
                                Grid_Usuarios.Rows[Contador_Filas].Cells[3].Value = Fila[Apl_Usuarios.Campo_Estatus];
                                Contador_Filas++;
                            }
                        }
                        else
                        {
                            Grid_Usuarios.DataSource = null;
                            MessageBox.Show(this, "No se encontró coincidencia en la búsqueda.", "Búsqueda Usuario", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }
                    else
                    {
                        MessageBox.Show(this, "Debes ingresar una descripción.", "Búsqueda Usuario", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
                else
                {
                    MessageBox.Show(this, "Debes seleccionar un tipo de búsqueda.", "Búsqueda Usuario", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
            catch (Exception E)
            {
                MessageBox.Show(this, E.ToString(), "Error - Usuarios", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Ejemplo n.º 6
0
        //*************************************************************************************
        //NOMBRE DE LA FUNCIÓN: Validar_Alta
        //DESCRIPCIÓN:valida que todos los datos que son requeridos esten proporcionados por el usuario
        //PARÁMETROS :
        //CREO       : Miguel Angel Bedolla Moreno
        //FECHA_CREO : 22-Febrero-2013
        //MODIFICO:
        //FECHA_MODIFICO
        //CAUSA_MODIFICACIÓN
        //*************************************************************************************
        private Boolean Validar_Alta()
        {
            Cls_Apl_Usuarios_Negocio Rs_Consulta_Usuario = new Cls_Apl_Usuarios_Negocio();
            DataTable      Dt_Usuario      = new DataTable();
            Boolean        Datos_Validados = true;
            String         Faltan          = "Es necesario:\n";
            DateTimePicker Fecha_Usuario   = new DateTimePicker();
            DateTimePicker Fecha_Actual    = new DateTimePicker();

            try
            {
                if (Txt_Nombre_Usuario.Text.Length <= 0)
                {
                    Datos_Validados = false;
                    Faltan          = Faltan + " Introducir el nombre del usuario \n";
                }
                else
                {
                    Rs_Consulta_Usuario.P_Usuario = Txt_Login.Text.Trim();
                    Rs_Consulta_Usuario.P_Estatus = "ACTIVO";
                    Dt_Usuario = Rs_Consulta_Usuario.Consultar_Usuario();
                    if (Btn_Nuevo.Text == "Nuevo")
                    {
                        if (Dt_Usuario.Rows.Count > 1)
                        {
                            Datos_Validados = false;
                            Faltan          = Faltan + " Introducir otro login debido a que ya existe el que coloco \n";
                        }
                    }
                    else
                    {
                        if (Dt_Usuario.Rows.Count > 0)
                        {
                            Datos_Validados = false;
                            Faltan          = Faltan + " Introducir otro login debido a que ya existe el que coloco \n";
                        }
                    }
                }
                if (Txt_Password.Text.Length > 7 && Txt_Confirmar.Text.Length > 7)
                {
                    if (Txt_Password.Text != Txt_Confirmar.Text)
                    {
                        Datos_Validados = false;
                        Faltan          = Faltan + "El password y la confirmación no son iguales \n";
                    }
                }
                Fecha_Usuario.Value = Convert.ToDateTime((Dtp_Fecha_Baja.Value.ToString()));
                Fecha_Actual.Value  = DateTime.Now;
                if (Fecha_Actual.Value.CompareTo(Fecha_Usuario.Value) == 1)
                {
                    Datos_Validados = false;
                    Faltan          = Faltan + "La fecha Caduca no puede ser menor o igual a la actual \n";
                }
                if (Datos_Validados == false)
                {
                    MessageBox.Show(this, Faltan, "Usuarios", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
            catch (Exception E)
            {
                MessageBox.Show(this, E.ToString(), "Error - Usuarios", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            return(Datos_Validados);
        }
        //*************************************************************************************
        //NOMBRE DE LA FUNCIÓN: Registrar_Intentos
        //DESCRIPCIÓN:
        //PARÁMETROS :
        //CREO       : Sergio Manuel Gallardo Andrade
        //FECHA_CREO : 28-Febrero-2013 04:33 p.m.
        //MODIFICO:
        //FECHA_MODIFICO
        //CAUSA_MODIFICACIÓN
        //*************************************************************************************
        public String Registrar_Intentos(String Usuario)
        {
            Cls_Apl_Usuarios_Negocio Rs_Consulta_Usuaio = new Cls_Apl_Usuarios_Negocio();
            DataTable Dt_Fecha_Ultimo_Intento           = new DataTable();
            DateTime  Fecha_Actual = DateTime.Today;
            DateTime  Fecha_Ultimo_Intento;
            TimeSpan  Dia_Intento;
            String    Respuesta = "NINGUNO";
            Int16     Intentos  = 0;
            Int16     Dias      = 0;

            try
            {
                Rs_Consulta_Usuaio.P_Usuario = Usuario;
                Dt_Fecha_Ultimo_Intento      = Rs_Consulta_Usuaio.Consultar_Usuario();
                if (Dt_Fecha_Ultimo_Intento.Rows.Count > 0)
                {
                    if (Dt_Fecha_Ultimo_Intento.Rows[0][Apl_Usuarios.Campo_Estatus].ToString() == "BLOQUEADO")
                    {
                        if (!String.IsNullOrEmpty(Dt_Fecha_Ultimo_Intento.Rows[0][Apl_Usuarios.Campo_Fecha_Intento_Acceso].ToString()))
                        {
                            Fecha_Ultimo_Intento = Convert.ToDateTime(String.Format("{0:MMM/dd/yyyy}", Dt_Fecha_Ultimo_Intento.Rows[0][Apl_Usuarios.Campo_Fecha_Intento_Acceso].ToString()));
                        }
                        else
                        {
                            Fecha_Ultimo_Intento = DateTime.Today;
                        }
                        Dia_Intento = (Fecha_Actual - Fecha_Ultimo_Intento);
                        Dias        = Convert.ToInt16(Dia_Intento.Days);
                        if (Dias == 0)
                        {
                            if (!String.IsNullOrEmpty(Dt_Fecha_Ultimo_Intento.Rows[0][Apl_Usuarios.Campo_No_Intentos_Recuperar].ToString()))
                            {
                                Intentos = Convert.ToInt16(Dt_Fecha_Ultimo_Intento.Rows[0][Apl_Usuarios.Campo_No_Intentos_Recuperar].ToString());
                            }
                        }
                        Intentos++;
                        if (Intentos > 3)
                        {
                            Rs_Consulta_Usuaio.P_Usuario               = "";
                            Rs_Consulta_Usuaio.P_Usuario_Id            = Dt_Fecha_Ultimo_Intento.Rows[0][Apl_Usuarios.Campo_Usuario_Id].ToString();
                            Rs_Consulta_Usuaio.P_No_Intentos_Recuperar = "0";
                            Rs_Consulta_Usuaio.P_Fecha_Ultimo_Intento  = DateTime.Today;
                            Rs_Consulta_Usuaio.P_Estatus               = "INACTIVO";
                            Rs_Consulta_Usuaio.Modificar_Usuario();
                            Respuesta = "INACTIVO";
                        }
                        else
                        {
                            Rs_Consulta_Usuaio.P_Usuario               = "";
                            Rs_Consulta_Usuaio.P_Usuario_Id            = Dt_Fecha_Ultimo_Intento.Rows[0][Apl_Usuarios.Campo_Usuario_Id].ToString();
                            Rs_Consulta_Usuaio.P_No_Intentos_Recuperar = Convert.ToString(Intentos);
                            Rs_Consulta_Usuaio.P_Fecha_Ultimo_Intento  = DateTime.Today;
                            Rs_Consulta_Usuaio.Modificar_Usuario();
                        }
                        if (Intentos == 3)
                        {
                            Respuesta = "ULTIMA";
                        }
                    }
                    else
                    {
                        if (Dt_Fecha_Ultimo_Intento.Rows[0][Apl_Usuarios.Campo_Estatus].ToString() == "ACTIVO")
                        {
                            Respuesta = "ACTIVO";
                        }
                        else
                        {
                            Respuesta = "INACTIVO";
                        }
                    }
                }
            }
            catch (Exception E)
            {
                MessageBox.Show(E.ToString());
            }
            return(Respuesta);
        }
        //*************************************************************************************
        //NOMBRE DE LA FUNCIÓN: Btn_Enviar_Click
        //DESCRIPCIÓN:Evento de Enviar correo
        //PARÁMETROS :
        //CREO       : Sergio Manuel Gallardo Andrade
        //FECHA_CREO : 26-Febrero-2013
        //MODIFICO:
        //FECHA_MODIFICO
        //CAUSA_MODIFICACIÓN
        //*************************************************************************************
        private void Btn_Enviar_Click(object sender, EventArgs e)
        {
            Cls_Apl_Usuarios_Negocio Rs_Usuario_Nuevo = new Cls_Apl_Usuarios_Negocio();
            DataTable Dt_Usuario = new DataTable();
            String    Correo     = "";
            String    Password   = "";
            String    Mensaje    = "";
            String    Respuesta  = "";

            if (Txt_Usuario.Text != "")
            {
                Rs_Usuario_Nuevo.P_Usuario = Txt_Usuario.Text;
                Dt_Usuario = Rs_Usuario_Nuevo.Consultar_Usuario();
                if (Dt_Usuario.Rows.Count > 0)
                {
                    if (Dt_Usuario.Rows[0][Apl_Usuarios.Campo_Estatus].ToString() != "INACTIVO")
                    {
                        Correo = Dt_Usuario.Rows[0][Apl_Usuarios.Campo_Email].ToString().Trim();
                        if (Correo == Txt_Correo.Text.Trim())
                        {
                            Password = Cls_Seguridad.Desencriptar(Dt_Usuario.Rows[0][Apl_Usuarios.Campo_Contrasenia].ToString().Trim());
                            Mensaje  = "La contraseña del usuario es la siguiente para poder tener acceso al sistema:'" + Password + "'";
                            Cls_Enviar_Correo.Envia_Correo(Mensaje, Correo);
                            MessageBox.Show(this, "Se envió la contraseña a tu correo.", "Recuperar Contraseña", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            Actualizar_Usuario(Dt_Usuario.Rows[0][Apl_Usuarios.Campo_Usuario_Id].ToString());
                            Txt_Correo.Text  = "";
                            Txt_Usuario.Text = "";
                            this.Dispose();
                            this.Close();
                        }
                        else
                        {
                            Respuesta = Registrar_Intentos(Txt_Usuario.Text.ToString());
                            if (Respuesta == "ULTIMA")
                            {
                                MessageBox.Show(this, "Si fallas una vez más se deshabilitara el usuario.", "Recuperar Contraseña", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            }
                            else
                            {
                                if (Respuesta == "INACTIVO")
                                {
                                    MessageBox.Show(this, "El Usuario se ha deshabilitado por intentos fallidos.", "Login", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                }
                                else
                                {
                                    MessageBox.Show(this, "No coincide el correo con el del usuario por favor verifícalo.", "Recuperar Contraseña", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                }
                            }
                            Txt_Usuario.Focus();
                        }
                    }
                    else
                    {
                        MessageBox.Show(this, "El usuario está inactivo por favor comuníquese con el Administrador.", "Recuperar Contraseña", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                else
                {
                    MessageBox.Show(this, "El usuario que proporciono no existe favor de verificarlo.", "Recuperar Contraseña", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
        }
        ///*******************************************************************************
        ///NOMBRE DE LA FUNCIÓN : Btn_Aceptar_Click
        ///DESCRIPCIÓN          : Evento Click del boton Btn_Aceptar para enviar los datos
        ///                       de esta pantalla ala pantalla Frm_Ope_Pagos
        ///PARAMETROS           :
        ///CREO                 : Miguel Angel Bedolla Moreno
        ///FECHA_CREO           : 13/Octubre/2013
        ///MODIFICO             :
        ///FECHA_MODIFICO       :
        ///CAUSA_MODIFICACIÓN   :
        ///*******************************************************************************
        private void Btn_Aceptar_Click(object sender, EventArgs e)
        {
            DataTable Dt_Usuario;
            Cls_Apl_Usuarios_Negocio P_Usuario = new Cls_Apl_Usuarios_Negocio();
            Double Porcentaje = 0;

            if (!String.IsNullOrEmpty(Txt_Porcentaje_Descuento.Text))
            {
                Double.TryParse(string.Format("{0:n}", Txt_Porcentaje_Descuento.Text), out Porcentaje);

                if (Porcentaje <= 100)
                {
                    if (!String.IsNullOrEmpty(Txt_Documento_Oficial.Text))
                    {
                        // validar que se haya ingresado el nombre de usuario y contraseña
                        if (Txt_Usuario.Text.Trim().Length > 0 && Txt_Contrasenia.Text.Trim().Length > 0)
                        {
                            P_Usuario.P_Usuario     = Txt_Usuario.Text.Trim();
                            P_Usuario.P_Contrasenia = Cls_Seguridad.Encriptar(Txt_Contrasenia.Text.ToString());
                            P_Usuario.P_Estatus     = "ACTIVO";
                            Dt_Usuario = P_Usuario.Consultar_Usuario();
                            if (Dt_Usuario.Rows.Count > 0)
                            {
                                Usuario_Id = Dt_Usuario.Rows[0][Apl_Usuarios.Campo_Usuario_Id].ToString();
                            }
                            else
                            {
                                Usuario_Id = "";
                            }
                            //Str_Motivo_Descuento_Id = Grid_Motivos_Descuento.CurrentRow.Cells[Cat_Motivos_Descuento.Campo_Motivo_Descuento_ID].Value.ToString();
                            if (!String.IsNullOrEmpty(Usuario_Id))
                            {
                                Frm_Pago.Enabled = true;

                                //Frm_Pago.Set_Motivo_Descuento_Id(Str_Motivo_Descuento_Id);
                                Frm_Pago.Set_Documento_Oficial(Txt_Documento_Oficial.Text);
                                Frm_Pago.Set_Descuento(Txt_Descuento.Text);
                                Frm_Pago.Set_Usuario_Autoriza_Id(Usuario_Id);
                                this.Close();
                            }
                            else
                            {
                                MessageBox.Show(this, "No se encontro el usuario.", "Descuentos", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                        }
                        else
                        {
                            MessageBox.Show(this, "Debe ingresar el nombre de usuario y contraseña.", "Descuentos", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                    else
                    {
                        MessageBox.Show(this, "Debe ingresar el documento oficial que avale el descuento.", "Descuentos", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    MessageBox.Show(this, "El porcentaje debe ser menor o igual a 100%.", "Descuentos", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                MessageBox.Show(this, "Debe el porcentaje del descuento a realizar.", "Descuentos", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Ejemplo n.º 10
0
        //*************************************************************************************
        //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);
            }
        }
        //*************************************************************************************
        //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();
            DataTable Dt_Resultado = new DataTable();
            String    Respuesta    = "";
            int       Dias         = 0;
            String    contrasena   = "";

            try
            {
                Rs_Usuario_logueado.P_Usuario = Txt_Login.Text.ToString();
                // Rs_Usuario_logueado.P_Contrasenia = Cls_Seguridad.Desencriptar(Txt_Password.Text.ToString());
                Rs_Usuario_logueado.P_Contrasenia = Cls_Seguridad.Encriptar(Txt_Password.Text.ToString());
                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);
                            Registrar_Acceso();
                            //  Establece el estatus de Aceptar para el usuario logueado correcto
                            Estatus_Login = Estatus_Dialogo.Aceptar;

                            //  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);
            }
        }