Funcionalidad primera parte Eliminar Receta

This commit is contained in:
mosterTeco 2024-05-08 17:58:28 -06:00
parent 25f72e59f0
commit 9c7d539484
7 changed files with 189 additions and 1 deletions

View File

@ -3,7 +3,20 @@
<component name="deploymentTargetDropDown">
<value>
<entry key="app">
<State />
<State>
<runningDeviceTargetSelectedWithDropDown>
<Target>
<type value="RUNNING_DEVICE_TARGET" />
<deviceKey>
<Key>
<type value="SERIAL_NUMBER" />
<value value="ZX1D9224Q7" />
</Key>
</deviceKey>
</Target>
</runningDeviceTargetSelectedWithDropDown>
<timeTargetWasSelectedWithDropDown value="2024-05-08T23:05:47.315686700Z" />
</State>
</entry>
</value>
</component>

View File

@ -15,6 +15,9 @@
android:supportsRtl="true"
android:theme="@style/Theme.MedicalHealth"
tools:targetApi="31">
<activity
android:name=".EliminarRecetaActivity"
android:exported="false" />
<activity
android:name=".PrincipalActivity"
android:exported="false"

View File

@ -0,0 +1,31 @@
package Adapters
import Data.Receta
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.widget.ArrayAdapter
import android.widget.TextView
import android.view.ViewGroup
class RecetaAdapter(context: Context, private val recetas: List<Receta>) : ArrayAdapter<Receta>(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<TextView>(android.R.id.text1)
val text2 = itemView?.findViewById<TextView>(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!!
}
}

View File

@ -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<Receta> {
val recetas = mutableListOf<Receta>()
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()
}
}

View File

@ -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<Receta> {
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
}
}

View File

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".EliminarRecetaActivity">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:textSize="32dp"
android:textStyle="bold"
android:textColor="@color/primaryColor"
android:text="@string/eliminar_receta_tittle"
android:gravity="center"
/>
<ListView
android:id="@+id/lista_recetas"
android:layout_width="match_parent"
android:layout_height="195dp"
android:layout_marginStart="20dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="5dp"
android:listSelector="@drawable/list_item_selected_background"/>
<Button
android:id="@+id/btn_eliminar_receta"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="50dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="50dp"
android:textSize="18sp"
android:textStyle="bold"
android:background="@drawable/radius_btn"
android:text="@string/bt_eliminar" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/bt_cancelar"
android:layout_marginTop="5dp"
android:layout_marginStart="50dp"
android:textSize="18sp"
android:textStyle="bold"
android:background="@drawable/radius_btn"
android:layout_marginEnd="50dp"/>
</LinearLayout>

View File

@ -52,4 +52,8 @@
<string name="title_dashboard">Dashboard</string>
<string name="title_notifications">Notifications</string>
<!--Eliminar Receta Activity-->
<string name="eliminar_receta_tittle">Eliminar Receta Médica</string>
</resources>