예제 #1
0
        ///*******************************************************************************************************
        /// <summary>
        /// Manejador del evento Load para el formulario: Cargar el listado de usuarios del sistema en el combo
        /// </summary>
        /// <creo>Roberto González Oseguera</creo>
        /// <fecha_creo>22-may-2014</fecha_creo>
        /// <modifico></modifico>
        /// <fecha_modifico></fecha_modifico>
        /// <causa_modificacion></causa_modificacion>
        ///*******************************************************************************************************
        private void Frm_Rep_Log_Load(object sender, EventArgs e)
        {
            try
            {
                // consultar la lista de usuario activos
                Cls_Apl_Usuarios_Negocio Neg_Usuario = new Cls_Apl_Usuarios_Negocio();
                Neg_Usuario.P_Estatus     = "ACTIVO";
                Cmb_Usuario.ValueMember   = Apl_Usuarios.Campo_Nombre_Usuario;
                Cmb_Usuario.DisplayMember = Apl_Usuarios.Campo_Nombre_Usuario;
                DataTable Dt_Usuarios = Neg_Usuario.Consultar_Usuario();
                // si la consulta regresó resultados, agregar una fila vacía
                if (Dt_Usuarios != null && Dt_Usuarios.Rows.Count > 0)
                {
                    DataRow Dr = Dt_Usuarios.NewRow();
                    Dr[Apl_Usuarios.Campo_Nombre_Usuario] = "";
                    Dt_Usuarios.Rows.InsertAt(Dr, 0);
                }
                // asignar la fuente de datos
                Cmb_Usuario.DataSource = Dt_Usuarios;

                // consultar la lista de tablas en la base de datos que tienen log
                Cls_Tablas_Negocio Neg_Tablas = new Cls_Tablas_Negocio();
                DataTable          Dt_Tablas  = Neg_Tablas.Listar_Tablas_Con_Log();
                Cmb_Tabla.DisplayMember = "table_name";
                Cmb_Tabla.DataSource    = Dt_Tablas;
            }
            catch { }
        }
예제 #2
0
        //*************************************************************************************
        //NOMBRE DE LA FUNCIÓN: Cargar_Usuarios_Activos
        //DESCRIPCIÓN: Carga los usuarios activos en el grid
        //PARÁMETROS :
        //CREO       : Miguel Angel Bedolla Moreno
        //FECHA_CREO : 22-Febrero-2013
        //MODIFICO:
        //FECHA_MODIFICO
        //CAUSA_MODIFICACIÓN
        //*************************************************************************************
        private void Cargar_Usuarios_Activos()
        {
            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
            {
                Rs_Usuarios_Actuales.P_Estatus = "ACTIVO";
                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;
                }
            }
            catch (Exception E)
            {
                MessageBox.Show(this, E.ToString(), "Error - Usuarios", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        //*************************************************************************************
        //NOMBRE DE LA FUNCIÓN: Deshabilitar_Usuario
        //DESCRIPCIÓN:
        //PARÁMETROS :
        //CREO       : Sergio Manuel Gallardo Andrade
        //FECHA_CREO : 28-Febrero-2013 04:33 p.m.
        //MODIFICO:
        //FECHA_MODIFICO
        //CAUSA_MODIFICACIÓN
        //*************************************************************************************
        private Boolean Deshabilitar_Usuario(String Usuario_ID)
        {
            Cls_Apl_Usuarios_Negocio Rs_Usuario_Estatus = new Cls_Apl_Usuarios_Negocio();
            DataTable Dt_Resultado_Consulta             = new DataTable();
            Boolean   Activo = true;

            try
            {
                int            Dias;
                DateTimePicker Fecha_Ultimo_Acceso = new DateTimePicker();
                DateTimePicker Fecha_Actual        = new DateTimePicker();
                Rs_Usuario_Estatus.P_Usuario_Id = Usuario_ID;
                Dt_Resultado_Consulta           = Rs_Usuario_Estatus.Consultar_Usuario();
                if (!String.IsNullOrEmpty(Dt_Resultado_Consulta.Rows[0][Apl_Usuarios.Campo_Fecha_Ultimo_Acceso].ToString()))
                {
                    Fecha_Ultimo_Acceso.Value = Convert.ToDateTime(Dt_Resultado_Consulta.Rows[0][Apl_Usuarios.Campo_Fecha_Ultimo_Acceso].ToString());
                }
                else
                {
                    Fecha_Ultimo_Acceso.Value = Convert.ToDateTime(Dt_Resultado_Consulta.Rows[0][Apl_Usuarios.Campo_Fecha_Creo].ToString());
                }
                Fecha_Actual.Value = DateTime.Now;
                Dias = (Fecha_Actual.Value - Fecha_Ultimo_Acceso.Value).Days;
                if (Dias >= 90)
                {
                    Cls_Apl_Usuarios_Negocio Rs_Modifica_apl_Cat_Usuarios = new Cls_Apl_Usuarios_Negocio();
                    Rs_Modifica_apl_Cat_Usuarios.P_Estatus    = "INACTIVO";
                    Rs_Modifica_apl_Cat_Usuarios.P_Usuario_Id = Usuario_ID;
                    Rs_Modifica_apl_Cat_Usuarios.Modificar_Usuario();
                    Activo = false;
                }
                else
                {
                    Activo = true;
                }
            }
            catch (Exception E)
            {
                MessageBox.Show(this, E.ToString(), "Erorr - Login", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            return(Activo);
        }
예제 #4
0
        //*************************************************************************************
        //NOMBRE DE LA FUNCIÓN: Grid_Usuarios_SelectionChanged
        //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 Grid_Usuarios_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            Cls_Apl_Usuarios_Negocio Rs_Usuario_Informacion = new Cls_Apl_Usuarios_Negocio();
            DataTable Dt_Usuario = new DataTable();

            try
            {
                if (Grid_Usuarios.CurrentRow != null && !Cargado_Grid)
                {
                    Rs_Usuario_Informacion.P_Usuario_Id = Grid_Usuarios.CurrentRow.Cells["USUARIO_ID"].FormattedValue.ToString();
                    Dt_Usuario = Rs_Usuario_Informacion.Consultar_Usuario();
                    if (Dt_Usuario.Rows.Count > 0)
                    {
                        Txt_Usuario_ID.Text      = Dt_Usuario.Rows[0][Apl_Usuarios.Campo_Usuario_Id].ToString();
                        Cmb_Estatus.SelectedItem = Dt_Usuario.Rows[0][Apl_Usuarios.Campo_Estatus].ToString();
                        Txt_Nombre_Usuario.Text  = Dt_Usuario.Rows[0][Apl_Usuarios.Campo_Nombre_Usuario].ToString();
                        Txt_Login.Text           = Dt_Usuario.Rows[0][Apl_Usuarios.Campo_Usuario].ToString();
                        Txt_Correo.Text          = Dt_Usuario.Rows[0][Apl_Usuarios.Campo_Email].ToString();
                        Txt_Password.Text        = Cls_Seguridad.Desencriptar(Dt_Usuario.Rows[0][Apl_Usuarios.Campo_Contrasenia].ToString());
                        Cmb_Rol.SelectedValue    = Dt_Usuario.Rows[0][Apl_Usuarios.Campo_Rol_Id].ToString();
                        Dtp_Fecha_Baja.Value     = Convert.ToDateTime(Dt_Usuario.Rows[0][Apl_Usuarios.Campo_Fecha_Expira_Contrasenia].ToString());
                        Txt_Comentarios.Text     = Dt_Usuario.Rows[0][Apl_Usuarios.Campo_Comentario].ToString();
                    }
                    else
                    {
                        Txt_Usuario_ID.Text       = "";
                        Cmb_Estatus.SelectedValue = "";
                        Txt_Nombre_Usuario.Text   = "";
                        Txt_Login.Text            = "";
                        Txt_Password.Text         = "";
                        Txt_Correo.Text           = "";
                        Cmb_Rol.SelectedValue     = "";
                        Dtp_Fecha_Baja.Value      = DateTime.Now;
                    }
                }
            }
            catch (Exception E)
            {
                MessageBox.Show(this, E.ToString(), "Error - Usuarios", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #5
0
        //*************************************************************************************
        //NOMBRE DE LA FUNCIÓN: Iniciar_Sesion_Usuario
        //DESCRIPCIÓN: inicia Session el usuario que se logueo
        //PARÁMETROS :
        //CREO       : Miguel Angel Bedolla Moreno
        //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;

            try
            {
                Rs_Usuario_logueado.P_Usuario     = Txt_Usuario.Text.ToString();
                Rs_Usuario_logueado.P_Contrasenia = Cls_Seguridad.Encriptar(Txt_Contrasenia.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")
                    {
                        Frm_Principal Frm_Ventana_Principal = new Frm_Principal();
                        Frm_Ventana_Principal.Set_Nombre_Usuario(Dt_Resultado.Rows[0][Apl_Usuarios.Campo_Nombre_Usuario].ToString());
                        Frm_Ventana_Principal.Set_Usuario_Id(Dt_Resultado.Rows[0][Apl_Usuarios.Campo_Usuario_Id].ToString());
                        Frm_Ventana_Principal.Set_Rol_Id(Dt_Resultado.Rows[0][Apl_Usuarios.Campo_Rol_Id].ToString());
                        Txt_Contrasenia.Text = "";
                        Txt_Usuario.Text     = "";
                        Txt_Usuario.Focus();
                        Frm_Ventana_Principal.Set_Frm_Login(this);
                        this.Hide();
                        Frm_Ventana_Principal.Show();
                    }
                    else
                    {
                        MessageBox.Show("El usuario esta inactivo, favor de comunicarse con su administrador del sistema para poder acceder.", "Información", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
                    }
                }
            }
            catch (Exception Ex)
            {
                throw new Exception("Iniciar_Sesion_Usuario: " + Ex.Message);
            }
        }
예제 #6
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);
            }
        }
예제 #7
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);
            }
        }
예제 #11
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);
            }
        }