Пример #1
0
        /*Método Eliminar - Obtiene resultados del procedimiento almacenado Usuarios.Eliminar para eliminar un usuario
         *  previamente registrado en el sistema.*/
        public string Eliminar(DUsuarios Usuario)
        {
            //Crea variable resultado y crea instancia de la conexión con SQL Server.
            string        Respuesta   = "";
            SqlConnection ConexionSql = new SqlConnection();

            try
            {
                //Establece la conexión con la base de datos.
                ConexionSql.ConnectionString = DConexion.CnFacturacion;
                ConexionSql.Open();

                //Crea el comando SQL.
                SqlCommand ComandoSql = new SqlCommand();
                ComandoSql.Connection  = ConexionSql;
                ComandoSql.CommandText = "Usuarios.Eliminar";
                ComandoSql.CommandType = CommandType.StoredProcedure;

                //Parámetro que indica el código del usuario a eliminar.
                SqlParameter parIdUsuario = new SqlParameter();
                parIdUsuario.ParameterName = "@IdUsuario";
                parIdUsuario.SqlDbType     = SqlDbType.Int;
                parIdUsuario.Value         = Usuario.IdUsuario;
                ComandoSql.Parameters.Add(parIdUsuario);

                //Parámetro que indica el password actual(Confirmación) para validar la eliminación.
                SqlParameter parConfirmacion = new SqlParameter();
                parConfirmacion.ParameterName = "@Confirmacion";
                parConfirmacion.SqlDbType     = SqlDbType.VarChar;
                parConfirmacion.Size          = 8;
                parConfirmacion.Value         = Usuario.Confirmacion;
                ComandoSql.Parameters.Add(parConfirmacion);

                //Ejecuta el comando.
                ComandoSql.ExecuteNonQuery();
                Respuesta = "OK";
            }
            catch (SqlException ex)
            {
                //En caso de error devuelve mensaje de notificación en la variable resultado.
                if (ex.Number == 50000)//Password actual(Confirmación) incorrecto.
                {
                    Respuesta = "Contraseña de confirmación incorrecta.";
                }
                else
                {
                    Respuesta = "Error al intentar ejecutar el procedimiento almacenado \"Usuarios.Eliminar\". \n" + ex.Message;
                }
            }
            finally
            {
                //Cierra la conexión si se encuentra abierta.
                if (ConexionSql.State == ConnectionState.Open)
                {
                    ConexionSql.Close();
                }
            }

            return(Respuesta);
        }
Пример #2
0
        public static List <DUsuarios> Usuarios()
        {
            List <DUsuarios> LUsuarios = new List <DUsuarios>();

            SqlConnection conexion = DConexion.ObtnerConexion();

            SqlCommand command = new SqlCommand("SelectUsuarios", conexion);

            command.CommandType = System.Data.CommandType.StoredProcedure;
            SqlDataReader reader = command.ExecuteReader();

            while (reader.Read())
            {
                DUsuarios Usuario = new DUsuarios();
                Usuario.Id       = Convert.ToInt32(reader["Id"].ToString());
                Usuario.Nombre   = reader["Nombre"].ToString();
                Usuario.Password = reader["Password"].ToString();
                Usuario.Perfil   = reader["Perfil"].ToString();
                LUsuarios.Add(Usuario);
            }
            conexion.Close();
            return(LUsuarios);
        }
Пример #3
0
        /*Método Login - Obtiene resultados del procedimiento almacenado "Usuarios.Login" para buscar el usuario indicado
         * y  la coincidencia con la contraseña para devolver el permiso que tiene el usuario o negar el acceso.*/
        public string Login(DUsuarios Usuario)
        {
            //Crea variable resultado y crea instancia de la conexión con SQL Server.
            string        Cargo       = "";
            SqlConnection ConexionSql = new SqlConnection();

            try
            {
                //Establece la conexión con la base de datos.
                ConexionSql.ConnectionString = DConexion.CnFacturacion;
                ConexionSql.Open();

                //Crea el comando SQL.
                SqlCommand ComandoSql = new SqlCommand();
                ComandoSql.Connection  = ConexionSql;
                ComandoSql.CommandText = "Usuarios.Login";
                ComandoSql.CommandType = CommandType.StoredProcedure;

                //Parámetro que indica el usuario a ingresar.
                SqlParameter parUsuario = new SqlParameter();
                parUsuario.ParameterName = "@Usuario";
                parUsuario.SqlDbType     = SqlDbType.VarChar;
                parUsuario.Size          = 20;
                parUsuario.Value         = Usuario.Usuario;
                ComandoSql.Parameters.Add(parUsuario);

                //Parámetro que indica el password.
                SqlParameter parPassword = new SqlParameter();
                parPassword.ParameterName = "@Password";
                parPassword.SqlDbType     = SqlDbType.VarChar;
                parPassword.Size          = 8;
                parPassword.Value         = Usuario.Password;
                ComandoSql.Parameters.Add(parPassword);

                //Parámetro que indica el cargo.
                SqlParameter parCargo = new SqlParameter();
                parCargo.ParameterName = "@Cargo";
                parCargo.SqlDbType     = SqlDbType.VarChar;
                parCargo.Size          = 42;
                parCargo.Direction     = ParameterDirection.Output;
                ComandoSql.Parameters.Add(parCargo);

                //Ejecuta el comando.
                ComandoSql.ExecuteNonQuery();

                Cargo = Convert.ToString(ComandoSql.Parameters["@Cargo"].Value);
            }
            catch (SqlException ex)
            {
                //En caso de error devuelve mensaje de notificación en la variable resultado.
                Cargo = "Error al intentar ejecutar el procedimiento almacenado \"Control.UsuariosLogin\". \n" + ex.Message;
            }
            finally
            {
                //Cierra la conexión si se encuentra abierta.
                if (ConexionSql.State == ConnectionState.Open)
                {
                    ConexionSql.Close();
                }
            }

            return(Cargo);
        }
Пример #4
0
        /*Método Editar - Obtiene resultados del procedimiento almacenado Usuarios.Editar para editar un usuario
         *  previamente registrado en el sistema.*/
        public string Editar(DUsuarios Usuario)
        {
            //Crea variable resultado y crea instancia de la conexión con SQL Server.
            string        Respuesta   = "";
            SqlConnection ConexionSql = new SqlConnection();

            try
            {
                //Establece la conexión con la base de datos.
                ConexionSql.ConnectionString = DConexion.CnFacturacion;
                ConexionSql.Open();

                //Crea el comando SQL.
                SqlCommand ComandoSql = new SqlCommand();
                ComandoSql.Connection  = ConexionSql;
                ComandoSql.CommandText = "Usuarios.Editar";
                ComandoSql.CommandType = CommandType.StoredProcedure;

                //Parámetro que indica el código del nuevo usuario.
                SqlParameter parIdUsuario = new SqlParameter();
                parIdUsuario.ParameterName = "@IdUsuario";
                parIdUsuario.SqlDbType     = SqlDbType.Int;
                parIdUsuario.Value         = Usuario.IdUsuario;
                ComandoSql.Parameters.Add(parIdUsuario);

                //Parámetro que indica el nombre del nuevo usuario.
                SqlParameter parNombre = new SqlParameter();
                parNombre.ParameterName = "@Nombre";
                parNombre.SqlDbType     = SqlDbType.VarChar;
                parNombre.Size          = 50;
                parNombre.Value         = Usuario.Nombre;
                ComandoSql.Parameters.Add(parNombre);

                //Parámetro que indica los apellidos del nuevo usuario.
                SqlParameter parApellidos = new SqlParameter();
                parApellidos.ParameterName = "@Apellidos";
                parApellidos.SqlDbType     = SqlDbType.VarChar;
                parApellidos.Size          = 50;
                parApellidos.Value         = Usuario.Apellidos;
                ComandoSql.Parameters.Add(parApellidos);

                //Parámetro que indica el número de documento del nuevo usuario.
                SqlParameter parDocumento = new SqlParameter();
                parDocumento.ParameterName = "@Documento";
                parDocumento.SqlDbType     = SqlDbType.VarChar;
                parDocumento.Size          = 29;
                parDocumento.Value         = Usuario.Documento;
                ComandoSql.Parameters.Add(parDocumento);

                //Parámetro que indica la dirección del nuevo usuario.
                SqlParameter parDireccion = new SqlParameter();
                parDireccion.ParameterName = "@Direccion";
                parDireccion.SqlDbType     = SqlDbType.VarChar;
                parDireccion.Size          = 500;
                parDireccion.Value         = Usuario.Direccion;
                ComandoSql.Parameters.Add(parDireccion);

                //Parámetro que indica el teléfono del nuevo usuario.
                SqlParameter parTelefono = new SqlParameter();
                parTelefono.ParameterName = "@Telefono";
                parTelefono.SqlDbType     = SqlDbType.Float;
                parTelefono.Value         = Usuario.Telefono;
                ComandoSql.Parameters.Add(parTelefono);

                //Parámetro que indica el cargo del nuevo usuario.
                SqlParameter parCargo = new SqlParameter();
                parCargo.ParameterName = "@Cargo";
                parCargo.Size          = 13;
                parCargo.SqlDbType     = SqlDbType.VarChar;
                parCargo.Value         = Usuario.Cargo;
                ComandoSql.Parameters.Add(parCargo);

                //Parámetro que indica el correo eléctronico del nuevo usuario.
                SqlParameter parCorreo = new SqlParameter();
                parCorreo.ParameterName = "@Correo";
                parCorreo.SqlDbType     = SqlDbType.VarChar;
                parCorreo.Size          = 50;
                parCorreo.Value         = Usuario.Correo;
                ComandoSql.Parameters.Add(parCorreo);

                //Parámetro que indica el usuario del nuevo usuario.
                SqlParameter parUsuario = new SqlParameter();
                parUsuario.ParameterName = "@Usuario";
                parUsuario.SqlDbType     = SqlDbType.VarChar;
                parUsuario.Size          = 20;
                parUsuario.Value         = Usuario.Usuario;
                ComandoSql.Parameters.Add(parUsuario);

                //Parámetro que indica el password del nuevo usuario.
                SqlParameter parPassword = new SqlParameter();
                parPassword.ParameterName = "@Password";
                parPassword.SqlDbType     = SqlDbType.VarChar;
                parPassword.Size          = 8;
                parPassword.Value         = Usuario.Password;
                ComandoSql.Parameters.Add(parPassword);

                //Parámetro que indica el password actual(Confirmación) para validar la modificación.
                SqlParameter parConfirmacion = new SqlParameter();
                parConfirmacion.ParameterName = "@Confirmacion";
                parConfirmacion.SqlDbType     = SqlDbType.VarChar;
                parConfirmacion.Value         = Usuario.Confirmacion;
                ComandoSql.Parameters.Add(parConfirmacion);

                //Parámetro que indica el Id de usuario actual para generar el registro de la modificación.
                SqlParameter parIdUsuarioActivo = new SqlParameter();
                parIdUsuarioActivo.ParameterName = "@IdUsuarioActivo";
                parIdUsuarioActivo.SqlDbType     = SqlDbType.VarChar;
                parIdUsuarioActivo.Value         = Usuario.IdUsuarioActivo;
                ComandoSql.Parameters.Add(parIdUsuarioActivo);

                //Ejecuta el comando.
                ComandoSql.ExecuteNonQuery();
                Respuesta = "OK";
            }
            catch (SqlException ex)
            {
                //En caso de error devuelve mensaje de notificación en la variable resultado.
                if (ex.Number == 2627) //Clave unica infirgida.
                {
                    Respuesta = "Ya existe un usuario registrado con el número de documento o el nombre de usuario indicado.";
                }
                else if (ex.Number == 50000)//Password actual(Confirmación) incorrecto.
                {
                    Respuesta = "Contraseña de confirmación incorrecta.";
                }
                else
                {
                    Respuesta = "Error al intentar ejecutar el procedimiento almacenado \"Usuarios.Editar\". \n" + ex.Message;
                }
            }
            finally
            {
                //Cierra la conexión si se encuentra abierta.
                if (ConexionSql.State == ConnectionState.Open)
                {
                    ConexionSql.Close();
                }
            }

            return(Respuesta);
        }