From 9c7d53948434c26618d8f255a7665028074dd65b Mon Sep 17 00:00:00 2001 From: mosterTeco Date: Wed, 8 May 2024 17:58:28 -0600 Subject: [PATCH] Funcionalidad primera parte Eliminar Receta --- .idea/deploymentTargetDropDown.xml | 15 ++++- app/src/main/AndroidManifest.xml | 3 + app/src/main/java/Adapters/RecetaAdapter.kt | 31 ++++++++++ .../java/Adapters/RecetaDataBaseHelper.kt | 27 +++++++++ .../medicalhealth/EliminarRecetaActivity.kt | 57 +++++++++++++++++++ .../res/layout/activity_eliminar_receta.xml | 53 +++++++++++++++++ app/src/main/res/values/strings.xml | 4 ++ 7 files changed, 189 insertions(+), 1 deletion(-) create mode 100644 app/src/main/java/Adapters/RecetaAdapter.kt create mode 100644 app/src/main/java/com/terratenientes/medicalhealth/EliminarRecetaActivity.kt create mode 100644 app/src/main/res/layout/activity_eliminar_receta.xml diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index 0c0c338..ab80313 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -3,7 +3,20 @@ - + + + + + + + + + + + + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 01888ea..b61de05 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,6 +15,9 @@ android:supportsRtl="true" android:theme="@style/Theme.MedicalHealth" tools:targetApi="31"> + ) : ArrayAdapter(context, 0, recetas) { + + override fun getView(position: Int, convertView: View?, parent: ViewGroup): View { + var itemView = convertView + if (itemView == null) { + itemView = LayoutInflater.from(context).inflate(android.R.layout.simple_list_item_2, parent, false) + } + + val receta = recetas[position] + + // Buscar los TextView dentro del layout simple_list_item_2 + val text1 = itemView?.findViewById(android.R.id.text1) + val text2 = itemView?.findViewById(android.R.id.text2) + + // Establecer el nombre del paciente y la fecha de la receta en los TextView + text1?.text = "Paciente: ${receta.NombrePaciente}" + text2?.text = "Fecha: ${receta.fecha}" + + return itemView!! + } +} diff --git a/app/src/main/java/Adapters/RecetaDataBaseHelper.kt b/app/src/main/java/Adapters/RecetaDataBaseHelper.kt index 1f7e2b9..592cb2f 100644 --- a/app/src/main/java/Adapters/RecetaDataBaseHelper.kt +++ b/app/src/main/java/Adapters/RecetaDataBaseHelper.kt @@ -1,6 +1,7 @@ package Adapters import Data.Receta +import android.annotation.SuppressLint import android.content.ContentValues import android.content.Context import android.database.sqlite.SQLiteDatabase @@ -46,4 +47,30 @@ class RecetaDataBaseHelper(context: Context) : SQLiteOpenHelper(context, DATABAE db.insert(TABLE_NAME, null, values) db.close() } + + @SuppressLint("Range") + fun obtenerTodasRecetas(): List { + val recetas = mutableListOf() + val db = readableDatabase + val cursor = db.rawQuery("SELECT * FROM $TABLE_NAME", null) + while (cursor.moveToNext()) { + val nombrePaciente = cursor.getString(cursor.getColumnIndex(COLUMN_NOMBRE_PACIENTE)) + val edadPaciente = cursor.getInt(cursor.getColumnIndex(COLUMN_EDAD_PACIENTE)) + val pesoPaciente = cursor.getDouble(cursor.getColumnIndex(COLUMN_PESO_PACIENTE)) + val medicamento = cursor.getString(cursor.getColumnIndex(COLUMN_MEDICAMENTO)) + val fecha = cursor.getString(cursor.getColumnIndex(COLUMN_FECHA)) + val dosis = cursor.getString(cursor.getColumnIndex(COLUMN_DOSIS_PACIENTE)) + val duracion = cursor.getString(cursor.getColumnIndex(DURACION_MEDICAMENTO)) + val receta = Receta(nombrePaciente, edadPaciente, pesoPaciente, medicamento, fecha, dosis, duracion) + recetas.add(receta) + } + cursor.close() + return recetas + } + + fun eliminarReceta(receta: Receta) { + val db = writableDatabase + db.delete(TABLE_NAME, "$COLUMN_NOMBRE_PACIENTE = ? AND $COLUMN_FECHA = ?", arrayOf(receta.NombrePaciente, receta.fecha)) + db.close() + } } diff --git a/app/src/main/java/com/terratenientes/medicalhealth/EliminarRecetaActivity.kt b/app/src/main/java/com/terratenientes/medicalhealth/EliminarRecetaActivity.kt new file mode 100644 index 0000000..628ce07 --- /dev/null +++ b/app/src/main/java/com/terratenientes/medicalhealth/EliminarRecetaActivity.kt @@ -0,0 +1,57 @@ +package com.terratenientes.medicalhealth + +import Adapters.RecetaAdapter +import Adapters.RecetaDataBaseHelper +import Data.Receta +import android.os.Bundle +import android.widget.Toast +import androidx.activity.enableEdgeToEdge +import androidx.appcompat.app.AppCompatActivity +import androidx.core.view.ViewCompat +import androidx.core.view.WindowInsetsCompat +import com.terratenientes.medicalhealth.databinding.ActivityEliminarPacienteBinding +import com.terratenientes.medicalhealth.databinding.ActivityEliminarRecetaBinding +import android.widget.ListView + + +class EliminarRecetaActivity : AppCompatActivity() { + + private lateinit var binding: ActivityEliminarRecetaBinding + private lateinit var dbReceta: RecetaDataBaseHelper + private lateinit var recetaAdapter: RecetaAdapter + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = ActivityEliminarRecetaBinding.inflate(layoutInflater) + val view = binding.root + setContentView(view) + + dbReceta = RecetaDataBaseHelper(this) + + // Configurar el ListView y el adaptador + val recetas = obtenerListaRecetas() + recetaAdapter = RecetaAdapter(this, recetas) + binding.listaRecetas.adapter = recetaAdapter + + // Manejar el evento de clic en el botón para eliminar receta + binding.btnEliminarReceta.setOnClickListener { + val posicionSeleccionada = binding.listaRecetas.selectedItemPosition + if (posicionSeleccionada != ListView.INVALID_POSITION) { + val recetaSeleccionada = recetas[posicionSeleccionada] + eliminarReceta(recetaSeleccionada) + recetaAdapter.remove(recetaSeleccionada) + Toast.makeText(this, "Receta eliminada correctamente", Toast.LENGTH_SHORT).show() + } else { + Toast.makeText(this, "Por favor, seleccione una receta para eliminar", Toast.LENGTH_SHORT).show() + } + } + } + + private fun obtenerListaRecetas(): List { + return dbReceta.obtenerTodasRecetas() // Implementa este método en tu RecetaDataBaseHelper para obtener todas las recetas + } + + private fun eliminarReceta(receta: Receta) { + dbReceta.eliminarReceta(receta) // Implementa este método en tu RecetaDataBaseHelper para eliminar una receta + } +} diff --git a/app/src/main/res/layout/activity_eliminar_receta.xml b/app/src/main/res/layout/activity_eliminar_receta.xml new file mode 100644 index 0000000..b399339 --- /dev/null +++ b/app/src/main/res/layout/activity_eliminar_receta.xml @@ -0,0 +1,53 @@ + + + + + + + +