Esempio n. 1
0
        public static Usuario DatosUsuario(string usuario)
        {
            SqlDataReader rdr = null;

            try
            {
                rdr = SigametSeguridadDataLayer.DatosUsuario(usuario);
                rdr.Read();
                return(new Usuario(rdr["Usuario"].ToString(), rdr["Clave"].ToString(), rdr["Nombre"].ToString(), rdr["NombreCorporativo"].ToString(),
                                   rdr["NombreArea"].ToString(), rdr["NombrePuesto"].ToString(), Convert.ToByte(rdr["Corporativo"]),
                                   Convert.ToByte(rdr["Area"]), Convert.ToInt16(rdr["Puesto"]), Convert.ToInt32(rdr["numeroEmpleado"]),
                                   Convert.ToInt32(rdr["Empleado"]), Encripter.ImplicitUnencript(rdr["Clave"].ToString()),
                                   Convert.ToByte(rdr["Sucursal"]), rdr["SucursalDescripcion"].ToString(), rdr["UsuarioNT"].ToString(),
                                   Convert.ToByte(rdr["AreaEmpleado"]), rdr["AreaEmpleadoDescripcion"].ToString(), rdr["Agente"].ToString()));
            }
            catch (SqlException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (rdr != null)
                {
                    rdr.Close();
                }
                SigametSeguridadDataLayer.TerminaConsulta(true, true);
            }
        }
Esempio n. 2
0
        public static Operaciones Operaciones(short modulo, string usuario)
        {
            DataTable dt = SigametSeguridadDataLayer.OperacionesUsuarioModulo(modulo, usuario);

            return(new Operaciones(dt));
        }
Esempio n. 3
0
        public static Parametros Parametros(short modulo, byte corporativo, byte sucursal)
        {
            DataTable dt = SigametSeguridadDataLayer.ParametrosModulo(modulo, corporativo, sucursal);

            return(new Parametros(dt));
        }
Esempio n. 4
0
 public static bool ExisteUsuarioActivo(string usuario)
 {
     return(SigametSeguridadDataLayer.ExisteUsuarioActivo(usuario));
 }
Esempio n. 5
0
        private void CargaParametros()
        {
            DataTable dt = SigametSeguridadDataLayer.ParametrosModulo(this.modulo, usuario.Corporativo, usuario.Sucursal);

            this.parametros = new Parametros(dt);
        }
Esempio n. 6
0
        private void CargaOperaciones()
        {
            DataTable dt = SigametSeguridadDataLayer.OperacionesUsuarioModulo(this.modulo, txtUsuario.Text.Trim());

            this.operaciones = new Operaciones(dt);
        }
Esempio n. 7
0
        private void btnAceptar_Click(object sender, System.EventArgs e)
        {
            SqlDataReader rdr;
            string        clave;

            if (ValidaDatos())
            {
                ConfiguraConexion();
                SigametSeguridadDataLayer.InicializaInterfase(cn);
                try
                {
                    if (SigametSeguridadDataLayer.ExisteUsuarioActivo(txtUsuario.Text.Trim()))
                    {
                        rdr = SigametSeguridadDataLayer.DatosUsuario(txtUsuario.Text.Trim());
                        rdr.Read();
                        clave = rdr["Clave"].ToString();
                        if (Encripter.ImplicitUnencript(clave).Trim().ToUpper() == txtClave.Text.Trim().ToUpper())
                        {
                            usuario = new Usuario(rdr["Usuario"].ToString(), rdr["Clave"].ToString(), rdr["Nombre"].ToString(), rdr["NombreCorporativo"].ToString(),
                                                  rdr["NombreArea"].ToString(), rdr["NombrePuesto"].ToString(), Convert.ToByte(rdr["Corporativo"]),
                                                  Convert.ToByte(rdr["Area"]), Convert.ToInt16(rdr["Puesto"]), Convert.ToInt32(rdr["numeroEmpleado"]),
                                                  Convert.ToInt32(rdr["Empleado"]), txtClave.Text.Trim().ToUpper(), Convert.ToByte(rdr["Sucursal"]),
                                                  rdr["SucursalDescripcion"].ToString(), rdr["UsuarioNT"].ToString().Trim(), Convert.ToByte(rdr["AreaEmpleado"]),
                                                  rdr["AreaEmpleadoDescripcion"].ToString(), rdr["Agente"].ToString());
                            rdr.Close();
                            if (seguridad == TipoSeguridad.NT)
                            {
                                if (usuario.IdUsuarioNT.ToUpper() == SystemInformation.UserName.ToUpper())
                                {
                                    if (this.modulo > 0)
                                    {
                                        CargaOperaciones();
                                        if (this.operaciones.TieneAcceso)
                                        {
                                            CargaParametros();
                                            this.DialogResult = DialogResult.OK;
                                            this.Close();
                                        }
                                        else
                                        {
                                            MessageBox.Show("Usted no tiene acceso al módulo.", Application.ProductName + " v." + Application.ProductVersion,
                                                            MessageBoxButtons.OK, MessageBoxIcon.Information);
                                            txtUsuario.Focus();
                                        }
                                    }
                                    else
                                    {
                                        this.DialogResult = DialogResult.OK;
                                        this.Close();
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("No puede iniciar el módulo con el inicio de sesión actual. " + (char)13 + "Inicie la sesión con el usuario correspondiente e intente de nuevo.", Application.ProductName + " v." + Application.ProductVersion,
                                                    MessageBoxButtons.OK, MessageBoxIcon.Information);
                                    txtClave.Focus();
                                }
                            }
                            else
                            {
                                if (this.modulo > 0)
                                {
                                    CargaOperaciones();
                                    if (this.operaciones.TieneAcceso)
                                    {
                                        CargaParametros();
                                        this.DialogResult = DialogResult.OK;
                                        this.Close();
                                    }
                                    else
                                    {
                                        MessageBox.Show("Usted no tiene acceso al módulo.", Application.ProductName + " v." + Application.ProductVersion,
                                                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                                        txtUsuario.Focus();
                                    }
                                }
                                else
                                {
                                    this.DialogResult = DialogResult.OK;
                                    this.Close();
                                }
                            }
                        }
                        else
                        {
                            MessageBox.Show("La clave es incorrecta, verifique.", Application.ProductName + " v." + Application.ProductVersion,
                                            MessageBoxButtons.OK, MessageBoxIcon.Information);
                            txtClave.Focus();
                        }
                        rdr.Close();
                    }
                    else
                    {
                        MessageBox.Show("El usuario no existe o se encuentra inactivo.", Application.ProductName + " v." + Application.ProductVersion,
                                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    SigametSeguridadDataLayer.TerminaConsulta(true, true);
                }
                catch (SqlException ex)
                {
                    switch (ex.Number)
                    {
                    case 18452:
                    case 18456:
                        MessageBox.Show("No se ha logrado abrir la conexión, revise el nombre de usuario y la contraseña.", Application.ProductName + " v." + Application.ProductVersion,
                                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                        break;

                    case 4060:
                        MessageBox.Show("La base de datos no está disponible, comuníquelo al área de sistemas.", Application.ProductName + " v." + Application.ProductVersion,
                                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                        break;

                    case 17:
                        MessageBox.Show("El servidor no está disponible, comuníquelo al área de sistemas.", Application.ProductName + " v." + Application.ProductVersion,
                                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                        break;

                    default:
                        MessageBox.Show("Ha ocurrido el siguiente error:" + (char)13 + ex.Message, Application.ProductName + " v." + Application.ProductVersion,
                                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                        break;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Ha ocurrido el siguiente error:" + (char)13 + ex.Message, Application.ProductName + " v." + Application.ProductVersion,
                                    MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }