Funcionalidad primera parte Eliminar Receta
This commit is contained in:
parent
25f72e59f0
commit
9c7d539484
|
@ -3,7 +3,20 @@
|
||||||
<component name="deploymentTargetDropDown">
|
<component name="deploymentTargetDropDown">
|
||||||
<value>
|
<value>
|
||||||
<entry key="app">
|
<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>
|
</entry>
|
||||||
</value>
|
</value>
|
||||||
</component>
|
</component>
|
||||||
|
|
|
@ -15,6 +15,9 @@
|
||||||
android:supportsRtl="true"
|
android:supportsRtl="true"
|
||||||
android:theme="@style/Theme.MedicalHealth"
|
android:theme="@style/Theme.MedicalHealth"
|
||||||
tools:targetApi="31">
|
tools:targetApi="31">
|
||||||
|
<activity
|
||||||
|
android:name=".EliminarRecetaActivity"
|
||||||
|
android:exported="false" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".PrincipalActivity"
|
android:name=".PrincipalActivity"
|
||||||
android:exported="false"
|
android:exported="false"
|
||||||
|
|
|
@ -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!!
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,7 @@
|
||||||
package Adapters
|
package Adapters
|
||||||
|
|
||||||
import Data.Receta
|
import Data.Receta
|
||||||
|
import android.annotation.SuppressLint
|
||||||
import android.content.ContentValues
|
import android.content.ContentValues
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.database.sqlite.SQLiteDatabase
|
import android.database.sqlite.SQLiteDatabase
|
||||||
|
@ -46,4 +47,30 @@ class RecetaDataBaseHelper(context: Context) : SQLiteOpenHelper(context, DATABAE
|
||||||
db.insert(TABLE_NAME, null, values)
|
db.insert(TABLE_NAME, null, values)
|
||||||
db.close()
|
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()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
|
@ -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>
|
|
@ -52,4 +52,8 @@
|
||||||
<string name="title_dashboard">Dashboard</string>
|
<string name="title_dashboard">Dashboard</string>
|
||||||
<string name="title_notifications">Notifications</string>
|
<string name="title_notifications">Notifications</string>
|
||||||
|
|
||||||
|
|
||||||
|
<!--Eliminar Receta Activity-->
|
||||||
|
<string name="eliminar_receta_tittle">Eliminar Receta Médica</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
Loading…
Reference in New Issue