package com.example.ferreteriarodamientosfierros;
import androidx.appcompat.app.AppCompatActivity;
import android.content.ContentValues;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import com.example.ferreteriarodamientosfierros.utilidades.Utilidades;
public class AdministrarProductos extends AppCompatActivity {
//se intancia el objeto de la clase ConexionSQLiteHelper
ConexionSQLiteHelper conexion;
//se instancia el objeto de la clase Validaciones
Validaciones validar;
//se crean las variables para almacenar los datos de los editText
EditText idProducto, etProducNombre, etProductPrecio, etProductFabricante;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_administrar_productos);
//Se le asigna el valor al objeto de la clase ConexionSQLiteHelper
conexion = new ConexionSQLiteHelper(this,"bdFerreteria",null,1);
//Se instancia el objeto de la clase validar
validar = new Validaciones();
//se le asignan los valores a las variables de tipo editText
idProducto = (EditText) findViewById(R.id.etIdProducto);
etProducNombre = (EditText) findViewById(R.id.etProductoNombre);
etProductPrecio = (EditText) findViewById(R.id.etProductoPrecio);
etProductFabricante = (EditText) findViewById(R.id.etProductoFabricante);
}
//se crea el método para controlar las acciones de los botones
public void onClick(View view){
switch (view.getId()){
case R.id.btnBuscarProducto: BuscarProducto();
break;
case R.id.btnvol:
Intent VistaPrincipal = new Intent(AdministrarProductos.this, MainActivity.class);
//Se cambia el intent a un Activity
startActivity(VistaPrincipal);
break;
case R.id.btnRegistrarFc: EditarProducto();
break;
case R.id.btnEliminarProducto: BorrarProducto();
break;
}
}
//se crea el método para borrar el producto
private void BorrarProducto() {
//se crea la variable para almacenar lo que retorna la acción update
int retorno=0;
SQLiteDatabase db = conexion.getWritableDatabase();
if(!validar.TextoVacio(idProducto) && validar.IsNumeric(idProducto)){
//Se crea el objeto para mandar el id
String [] parametro = new String[1];
parametro[0] = idProducto.getText().toString();
retorno = db.delete(Utilidades.tablaProductos, Utilidades.campoIdProducto+"=?",parametro);
db.close();
if (retorno > 0) {
//se pone un mensaje de éxito
Toast.makeText(AdministrarProductos.this, "Se borró el Producto", Toast.LENGTH_LONG).show();
LimpiarCampos();
} else{Toast.makeText(AdministrarProductos.this, "No se borró el Producto", Toast.LENGTH_LONG).show();}
}
}
//se crea el método para editar el producto
private void EditarProducto() {
//Se crea el condicional para verificar que el campo idProducto si tenga algo
if(!validar.TextoVacio(idProducto) && !validar.TextoVacio(etProducNombre) &&
!validar.TextoVacio(etProductPrecio) && !validar.TextoVacio(etProductFabricante) &&
validar.IsNumeric(idProducto) && validar.IsNumeric(etProductPrecio)){
//se crea la variable para almacenar lo que retorna la acción update
int retorno=0;
//se abre la conexión con la bd
SQLiteDatabase db = conexion.getWritableDatabase();
//Se crea el objeto para mandar el id
String [] parametro = new String[1];
parametro[0] = idProducto.getText().toString();
//Se crea el contentValues
ContentValues values = new ContentValues();
//Se asignan los campos que se van a actualizar
values.put(Utilidades.campoProducto, etProducNombre.getText().toString());
values.put(Utilidades.campoPrecioProducto, Double.parseDouble(etProductPrecio.getText().toString()));
values.put(Utilidades.campoFabricante, etProductFabricante.getText().toString());
retorno = db.update(Utilidades.tablaProductos, values,Utilidades.campoIdProducto+"=?",parametro);
db.close();
if (retorno > 0) {
//se pone un mensaje de éxito
Toast.makeText(AdministrarProductos.this, "Se actualizó el Cliente", Toast.LENGTH_LONG).show();
LimpiarCampos();
} else{Toast.makeText(AdministrarProductos.this, "No se actualizó el Cliente", Toast.LENGTH_LONG).show();}
}
}
//Se crea el método para buscar el producto
private void BuscarProducto() {
LimpiarCampos();
//se abre la conexión con la bd
SQLiteDatabase db = conexion.getWritableDatabase();
//Se valida que intIdProducto si contenga algo
if(!validar.TextoVacio(idProducto) && validar.IsNumeric(idProducto)){
//se crea una variable para almacenar lo que trae el idProducto
Integer intIdProducto = Integer.parseInt(idProducto.getText().toString());
//Se llama el cursor para realizar la consulta en SQLite
Cursor fila = db.rawQuery("SELECT " + Utilidades.campoProducto + ", " +
Utilidades.campoPrecioProducto + ", " + Utilidades.campoFabricante + " FROM "
+ Utilidades.tablaProductos + " WHERE " + Utilidades.campoIdProducto +"=" +
intIdProducto, null);
//se crea el condicional para mostrar los resultados
if (fila.moveToFirst()){
//se asigna lo que trae el objeto fila a los TextView correspondientes
etProducNombre.setText(fila.getString(0));
etProductPrecio.setText(fila.getString(1));
etProductFabricante.setText(fila.getString(2));
//se cierra la base de datos
db.close();
}
else{
Toast.makeText(AdministrarProductos.this,"No se encontró el Producto", Toast.LENGTH_LONG).show();
}
}
else{
Toast.makeText(AdministrarProductos.this,"Debe Ingresar un ID", Toast.LENGTH_LONG).show();
}
}
//se crea el método para limpiar los campos
public void LimpiarCampos(){
etProducNombre.setText("");
etProductPrecio.setText("");
etProductFabricante.setText("");
}
public void salir(View view) {
finishAffinity();
}
Comentarios
Publicar un comentario