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