"src/views/sections/src/views/sections/ProFeatures.vue" did not exist on "ccda68dc8c6a383ff8f9a4a041d2f2f4ee63baa5"
Commit e12534fc authored by iptriana's avatar iptriana
Browse files

Issuses correct

parent 3805ca52
package cu.iptriana.pesquisavirtual.data
class PersonRepository {
import androidx.lifecycle.LiveData
class PersonRepository(private val personDao: PersonDao) {
fun getAll():LiveData<List<Person>> = personDao.getAll()
fun getById(id:Int):LiveData<Person> = personDao.getById(id)
suspend fun update(person:Person) = personDao.update(person)
suspend fun insert(person: Person): Long { return personDao.insert(person) }
suspend fun delete(person:Person) = personDao.delete(person)
}
\ No newline at end of file
package cu.iptriana.pesquisavirtual.data
class TestRepository {
import androidx.lifecycle.LiveData
class TestRepository(private val testDao: TestDao) {
fun getAll(id_person: Int):LiveData<List<Test>> = testDao.getAll(id_person)
suspend fun getById(id:Int):Test = testDao.getById(id)
suspend fun update(test: Test) = testDao.update(test)
suspend fun insert(test: Test) = testDao.insert(test)
suspend fun delete(test: Test) = testDao.delete(test)
}
\ No newline at end of file
package cu.iptriana.pesquisavirtual.di
import android.content.Context
import cu.iptriana.pesquisavirtual.data.AplicationDB
import cu.iptriana.pesquisavirtual.data.PersonRepository
import cu.iptriana.pesquisavirtual.data.TestRepository
import cu.iptriana.pesquisavirtual.preferences.AppPreferences
object Injector {
private fun getPersonDao(context: Context) = AplicationDB.getAplicationDB(context).personDao()
private fun getTestDao(context: Context) = AplicationDB.getAplicationDB(context).testDao()
fun getPreferences(context: Context):AppPreferences = AppPreferences.create(context)
fun getPersonRepository(context: Context) = PersonRepository(getPersonDao(context))
fun getTestRepository(context: Context) = TestRepository(getTestDao(context))
}
\ No newline at end of file
package cu.iptriana.pesquisavirtual.preferences
class AppPreferences {
import android.content.Context
import android.content.SharedPreferences
import cu.iptriana.pesquisavirtual.data.Person
class AppPreferences(private val sharedPreferences: SharedPreferences) {
fun getAll():Map<String, *> = sharedPreferences.all
fun isEmpty():Boolean = sharedPreferences.all.isEmpty()
fun changePerson(model:Person){
val edit: SharedPreferences.Editor = sharedPreferences.edit()
edit.clear()
edit.putInt("id", model.id)
edit.apply()
}
fun getPersonId() : Int{
var id = 0
for (entry in sharedPreferences.all){
if (entry.key == "id") {
id = entry.value as Int
}
break
}
return id
}
companion object {
fun create(context: Context): AppPreferences =
AppPreferences(context.getSharedPreferences("MyPrefer", Context.MODE_PRIVATE))
}
}
\ No newline at end of file
......@@ -7,7 +7,7 @@ import androidx.appcompat.widget.Toolbar
import cu.iptriana.pesquisavirtual.R
class AddUserActivity : AppCompatActivity() {
class AddPersonActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_add_user)
......
package cu.iptriana.pesquisavirtual.ui.add_person
class AddPersonViewModelFactory {
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import cu.iptriana.pesquisavirtual.data.PersonRepository
import cu.iptriana.pesquisavirtual.preferences.AppPreferences
@Suppress("UNCHECKED_CAST")
class AddPersonViewModelFactory(
private val personRepository: PersonRepository,
private val preferences: AppPreferences
) :
ViewModelProvider.NewInstanceFactory() {
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
return AddPersonViewModel(personRepository, preferences) as T
}
}
\ No newline at end of file
package cu.iptriana.pesquisavirtual.ui.change_person
class ChangePersonViewModelFactory {
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import cu.iptriana.pesquisavirtual.data.PersonRepository
import cu.iptriana.pesquisavirtual.preferences.AppPreferences
@Suppress("UNCHECKED_CAST")
class ChangePersonViewModelFactory (
private val personRepository: PersonRepository,
private val preferences: AppPreferences
) :
ViewModelProvider.NewInstanceFactory() {
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
return ChangePersonViewModel(personRepository, preferences) as T
}
}
\ No newline at end of file
package cu.iptriana.pesquisavirtual.ui.change_person
import android.content.Intent
import android.os.Bundle
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.Toolbar
import com.google.android.material.floatingactionbutton.FloatingActionButton
import cu.iptriana.pesquisavirtual.R
import cu.iptriana.pesquisavirtual.ui.add_person.AddPersonActivity
class ListPersonActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_list_person)
val myToolbar: Toolbar = findViewById<View>(R.id.toolbar) as Toolbar
setSupportActionBar(myToolbar)
val fab = findViewById<FloatingActionButton>(R.id.fab)
fab.setOnClickListener {
startActivity(
Intent(this@ListPersonActivity, AddPersonActivity::class.java)
)
}
}
}
\ No newline at end of file
package cu.iptriana.pesquisavirtual.ui.diagnose
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import cu.iptriana.pesquisavirtual.R
class AddTestActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_add_test)
}
}
package cu.iptriana.pesquisavirtual.ui.diagnose
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Toast
import androidx.fragment.app.Fragment
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope
import cu.iptriana.pesquisavirtual.MainActivity
import cu.iptriana.pesquisavirtual.databinding.FragmentDiagnosticarBinding
import kotlinx.coroutines.launch
import cu.iptriana.pesquisavirtual.di.Injector
class DiagnosticarFragment : Fragment() {
private lateinit var viewModel: DiagnosticarViewModel
private lateinit var allEntrys: Map<String, *>
class DiagnoseFragment : Fragment() {
private lateinit var viewModel: DiagnoseViewModel
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
viewModel = ViewModelProvider(this)
.get(DiagnosticarViewModel::class.java)
viewModel = ViewModelProvider(
this,
DiagnoseViewModelFactory(
Injector.getTestRepository(requireContext()),
Injector.getPreferences(requireContext())
)
).get(DiagnoseViewModel::class.java)
val binding = FragmentDiagnosticarBinding.inflate(
LayoutInflater.from(context), container, false)
val pref = context?.getSharedPreferences("MyPrefer", Context.MODE_PRIVATE)
if (pref != null) {
allEntrys = pref.all
}
LayoutInflater.from(context), container, false
)
with(binding) {
buttonEvaluarDiagnostico.setOnClickListener {
lifecycleScope.launch {
context?.let { it1 ->
viewModel.evaluar(
it1,
viewModel.evalTest(
radioButtonViajeSi.isChecked,
radioButtonContactoViajeSi.isChecked,
radioButton2ContContagioSi.isChecked,
......@@ -43,14 +44,18 @@ class DiagnosticarFragment : Fragment() {
radioButtonTosSi.isChecked,
radioButtonFatigaSi.isChecked,
radioButtonDisneaSi.isChecked,
radioButtonDolorAbdominalSi.isChecked,
allEntrys
radioButtonDolorAbdominalSi.isChecked
)
viewModel.resultText.observe(requireActivity(), Observer {
Toast.makeText(requireContext(), it, Toast.LENGTH_SHORT).show()
})
startActivity(
Intent(requireContext(), MainActivity::class.java)
)
}
requireActivity().finish()
}
}
}
return binding.root
}
}
\ No newline at end of file
package cu.iptriana.pesquisavirtual.ui.diagnose
import android.content.Context
import android.content.Intent
import android.widget.Toast
import androidx.core.content.ContextCompat
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import cu.iptriana.pesquisavirtual.MainActivity
import cu.iptriana.pesquisavirtual.data.AplicationDB
import androidx.lifecycle.viewModelScope
import cu.iptriana.pesquisavirtual.data.Test
import cu.iptriana.pesquisavirtual.databinding.FragmentDiagnosticarBinding
import cu.iptriana.pesquisavirtual.data.TestRepository
import cu.iptriana.pesquisavirtual.preferences.AppPreferences
import kotlinx.coroutines.launch
import java.util.*
class DiagnosticarViewModel : ViewModel() {
class DiagnoseViewModel(
private val testRepository: TestRepository
, private val preferences: AppPreferences
) : ViewModel() {
suspend fun evaluar(context:Context,
val resultText = MutableLiveData<String>()
fun evalTest(
diasRegreso: Boolean,
cantPersonasContacto: Boolean,
cantPersonasCOVID: Boolean,
......@@ -23,23 +26,23 @@ class DiagnosticarViewModel : ViewModel() {
tosSeca: Boolean,
fatiga: Boolean,
disnea: Boolean,
dolorAbdominal: Boolean,
allEntrys: Map<String, *>
dolorAbdominal: Boolean
) {
var flat = false
if (diasRegreso || cantPersonasContacto || cantPersonasCOVID || relacionSospechoso)
flat = true
else if (fiebre && problemasRespiratorios) flat = true
else if (fiebre && tosSeca) flat = true
else if (fiebre && fatiga && disnea) flat = true
else if (fiebre && fatiga && dolorAbdominal) flat = true
else if (tosSeca && fatiga && disnea && dolorAbdominal) flat = true
val flat = eval(diasRegreso,
cantPersonasContacto,
cantPersonasCOVID,
relacionSospechoso,
fiebre,
problemasRespiratorios,
tosSeca,
fatiga,
disnea,
dolorAbdominal)
val date = Date()
val str = android.text.format.DateFormat.format("dd-MMM-yyyy",date.time)
val str = currentDate()
val test = Test(
viewModelScope.launch {
insertTest(Test(
0
, diasRegreso,
cantPersonasContacto,
......@@ -52,34 +55,46 @@ class DiagnosticarViewModel : ViewModel() {
disnea,
dolorAbdominal,
flat,
getPersonId(allEntrys),
preferences.getPersonId(),
str.toString()
)
))
}
result(flat)
}
val db = AplicationDB.getAplicationDB(context)
db?.testDao()?.insert(test)
private fun eval(diasRegreso: Boolean,
cantPersonasContacto: Boolean,
cantPersonasCOVID: Boolean,
relacionSospechoso: Boolean,
fiebre: Boolean,
problemasRespiratorios: Boolean,
tosSeca: Boolean,
fatiga: Boolean,
disnea: Boolean,
dolorAbdominal: Boolean): Boolean{
if (diasRegreso || cantPersonasContacto || cantPersonasCOVID || relacionSospechoso)
return true
else if (fiebre && problemasRespiratorios) return true
else if (fiebre && tosSeca) return true
else if (fiebre && fatiga && disnea) return true
else if (fiebre && fatiga && dolorAbdominal) return true
else if (tosSeca && fatiga && disnea && dolorAbdominal) return true
return false
}
private suspend fun insertTest(test: Test){
testRepository.insert(test)
}
private fun result(flat:Boolean){
if (flat)
Toast.makeText(
context,
"Usted es sospechoso/a, debe acudir al centro hospitalario más cerca",
Toast.LENGTH_SHORT
).show()
resultText.value = "Usted es sospechoso/a, debe acudir al centro hospitalario más cerca"
else
Toast.makeText(
context,
"Usted no es sospechoso/a",
Toast.LENGTH_SHORT
).show()
ContextCompat.startActivity(context, Intent(context, MainActivity::class.java), null)
resultText.value = "Usted no es sospechoso/a"
}
private fun getPersonId(allEntrys: Map<String, *>) : Int{
var id: Int = 0
for (entry in allEntrys){
if (entry.key == "id") id = entry.value as Int
break
}
return id
private fun currentDate():CharSequence{
val date = Date()
return android.text.format.DateFormat.format("dd-MMM-yyyy", date.time)
}
}
\ No newline at end of file
package cu.iptriana.pesquisavirtual.ui.diagnose
class DiagnoseViewModelFactory {
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import cu.iptriana.pesquisavirtual.data.TestRepository
import cu.iptriana.pesquisavirtual.preferences.AppPreferences
@Suppress("UNCHECKED_CAST")
class DiagnoseViewModelFactory(
private val testRepository: TestRepository,
private val preferences: AppPreferences
) :
ViewModelProvider.NewInstanceFactory() {
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
return DiagnoseViewModel(testRepository, preferences) as T
}
}
\ No newline at end of file
package cu.iptriana.pesquisavirtual
package cu.iptriana.pesquisavirtual.ui.edit
import android.content.Context
import android.os.Bundle
import android.widget.Toast
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.lifecycleScope
import cu.iptriana.pesquisavirtual.data.AplicationDB
import cu.iptriana.pesquisavirtual.data.Person
import cu.iptriana.pesquisavirtual.databinding.ActivityAddUserBinding
import kotlinx.android.synthetic.main.toolbar.*
import kotlinx.coroutines.launch
import androidx.appcompat.widget.Toolbar
import cu.iptriana.pesquisavirtual.R
class Edit : AppCompatActivity() {
private lateinit var binding: ActivityAddUserBinding
private lateinit var person: Person
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityAddUserBinding.inflate(layoutInflater)
with(binding) {
setContentView(root)
setContentView(R.layout.activity_add_user)
val toolbar = findViewById<View>(R.id.toolbar) as Toolbar
setSupportActionBar(toolbar)
supportActionBar?.setDisplayHomeAsUpEnabled(true)
// buttonAgregar.text = "Actualizar"
// buttonAgregar.setOnClickListener {
// val personUpdated = Person(
// person.id
// , txtName.text.toString()
// , txtLastName.text.toString()
// , txtCi.text.toString()
// , txtAge.text.toString().toInt()
// , isMale(radioButtonMasculino.isChecked)
// )
// lifecycleScope.launch {
// val db = AplicationDB.getAplicationDB(this@Edit)
// db?.personDao()?.update(personUpdated)
// Toast.makeText(
// this@Edit,
// "Registro actualizado correctamente",
// Toast.LENGTH_SHORT
// ).show()
// }
// finish()
// }
// buttonCancelar.setOnClickListener { finish() }
// getPersonById(getPersonId())
}
}
private fun getPersonId() : Int{
val pref = getSharedPreferences("MyPrefer", Context.MODE_PRIVATE)
var allEntrys: Map<String, *>? = null
if (pref != null) {
allEntrys = pref.all
}
var id: Int = 0
if (allEntrys != null) {
for (entry in allEntrys){
if (entry.key == "id") id = entry.value as Int
break
}
}
return id
}
private fun getPersonById(id:Int){
lifecycleScope.launch {
// val db = AplicationDB.getAplicationDB(this@Edit)
// person = db?.personDao()?.getById(id)!!
// binding.txtName.setText(person.name)
// binding.txtLastName.setText(person.last_name)
// binding.txtCi.setText(person.ci)
// binding.txtAge.setText(person.age.toString())
// if(person.sex.equals("Masculino")) binding.radioButtonMasculino.isChecked = true
// else binding.radioButtonFemenino.isChecked = true
}
}
private fun isMale(flag: Boolean): String{
if(flag)
return "Masculino"
return "Femenino"
}
}
\ No newline at end of file
......@@ -13,14 +13,14 @@ import cu.iptriana.pesquisavirtual.MainActivity
import cu.iptriana.pesquisavirtual.databinding.FragmentFatalidadBinding
class FatalityFragment: Fragment() {
private lateinit var fatalidadViewModel: FatalidadViewModel
private lateinit var fatalityViewModel: FatalityViewModel
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
fatalidadViewModel =
ViewModelProvider(this).get(FatalidadViewModel::class.java)
fatalityViewModel =
ViewModelProvider(this).get(FatalityViewModel::class.java)
val binding = FragmentFatalidadBinding.inflate(
LayoutInflater.from(context), container, false)
with(binding){
......@@ -35,7 +35,7 @@ class FatalityFragment: Fragment() {
requireActivity().finish()
}
btnCalcularFatalidad.setOnClickListener{
if(fatalidadViewModel.desarrolloFatal(editTextLhd.text.toString().toDouble(),
if(fatalityViewModel.fatalDevelop(editTextLhd.text.toString().toDouble(),
editTextHsCRP.text.toString().toDouble(), editTextL.text.toString().toDouble()))
Toast.makeText(context, "Muestra positiva", Toast.LENGTH_LONG).show()
else Toast.makeText(context, "Muestra negativa", Toast.LENGTH_LONG).show()
......
......@@ -4,17 +4,16 @@ import androidx.lifecycle.ViewModel
class FatalityViewModel: ViewModel() {
fun desarrolloFatal(
fun fatalDevelop(
LDH: Double,
hs_CRP: Double,
L: Double
): Boolean {
var flat = false
if (LDH >= 365) flat = true
else if (LDH < 365 && hs_CRP < 41.2) flat = true
else if (LDH < 365 && hs_CRP >= 41.2 && L > 14.7) flat = true
else if (LDH < 365 && hs_CRP >= 41.2 && L <= 14.7) flat = true
return flat
if (LDH >= 365) return true
else if (LDH < 365 && hs_CRP < 41.2) return true
else if (LDH < 365 && hs_CRP >= 41.2 && L > 14.7) return true
else if (LDH < 365 && hs_CRP >= 41.2 && L <= 14.7) return true
return false
}
}
\ No newline at end of file
package cu.iptriana.pesquisavirtual.ui.splash
import android.content.Intent
import android.os.Bundle
import androidx.activity.viewModels
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProvider
import cu.iptriana.pesquisavirtual.R
import cu.iptriana.pesquisavirtual.di.Injector
class Splash : AppCompatActivity() {
private val viewModel by viewModels<SplashViewModel>()
class SplashActivity : AppCompatActivity() {
private lateinit var viewModel: SplashViewModel
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_splash)
viewModel = ViewModelProvider(
this, SplashViewModelFactory(
Injector.getPreferences(this@SplashActivity)
)
).get(SplashViewModel::class.java)
viewModel.onCreate()
viewModel.activityToStart.observe(this, Observer { value ->
val intent = Intent(this, value.first.java)
startActivity(intent)
finish()
})
}
}
\ No newline at end of file
package cu.iptriana.pesquisavirtual.ui.splash
class SplashViewModel {
import android.os.Bundle
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import cu.iptriana.pesquisavirtual.ui.add_person.AddPersonActivity
import cu.iptriana.pesquisavirtual.MainActivity
import cu.iptriana.pesquisavirtual.preferences.AppPreferences
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import kotlin.reflect.KClass
class SplashViewModel(private val pref: AppPreferences): ViewModel() {
val activityToStart = MutableLiveData<Pair<KClass<*>, Bundle?>>()
fun onCreate(){
viewModelScope.launch{
val allEntry = pref.getAll()
delay(2000)
if (allEntry.isEmpty()) {
activityToStart.value = Pair(AddPersonActivity::class, Bundle())
}else{
activityToStart.value = Pair(MainActivity::class, Bundle())
}
}
}
}
\ No newline at end of file
package cu.iptriana.pesquisavirtual.ui.splash
class SplashViewModelFactory {
import android.content.SharedPreferences
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import cu.iptriana.pesquisavirtual.preferences.AppPreferences
@Suppress("UNCHECKED_CAST")
class SplashViewModelFactory(private val sharedPreferences: AppPreferences)
: ViewModelProvider.Factory {
override fun <T : ViewModel?> create(p0: Class<T>): T {
return SplashViewModel(sharedPreferences) as T
}
}
\ No newline at end of file
package cu.iptriana.pesquisavirtual.ui.user
import android.content.Context
import android.content.Intent
import android.content.SharedPreferences
import android.os.Bundle
import android.view.LayoutInflater
import android.view.Menu
import android.view.MenuItem
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import cu.iptriana.pesquisavirtual.MainActivity
import cu.iptriana.pesquisavirtual.R
import cu.iptriana.pesquisavirtual.adapter.TestAdapter
import cu.iptriana.pesquisavirtual.data.AplicationDB
import cu.iptriana.pesquisavirtual.data.Person
import cu.iptriana.pesquisavirtual.data.Test
import cu.iptriana.pesquisavirtual.databinding.ActivityUserBinding
import cu.iptriana.pesquisavirtual.di.Injector
import cu.iptriana.pesquisavirtual.ui.diagnose.AddTestActivity
import cu.iptriana.pesquisavirtual.ui.edit.Edit
import kotlinx.android.synthetic.main.content_main_activity.*
import kotlinx.android.synthetic.main.toolbar.*
import kotlinx.coroutines.launch
class User : AppCompatActivity() {
private lateinit var items:List<Test>
private lateinit var recycler: RecyclerView
private lateinit var adapter: TestAdapter
private lateinit var person: Person
private lateinit var binding: ActivityUserBinding
class UserActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityUserBinding.inflate(
val viewModel = ViewModelProvider(
this,
UserViewModelFactory(
Injector.getTestRepository(this@UserActivity),
Injector.getPreferences(this@UserActivity),
Injector.getPersonRepository(this@UserActivity)
)
).get(UserViewModel::class.java)
val binding = ActivityUserBinding.inflate(
LayoutInflater.from(this))
with(binding){
setContentView(root)
setSupportActionBar(toolbar)
supportActionBar?.setDisplayHomeAsUpEnabled(true)
fab.setOnClickListener { view ->
fab.setOnClickListener {
startActivity(
Intent(this@User, AddTestActivity::class.java)
Intent(this@UserActivity, AddTestActivity::class.java)
)
}
items = listOf()
recycler = recyclerview
recycler.layoutManager = LinearLayoutManager(this@User)
adapter = TestAdapter(items)
recyclerview.layoutManager = LinearLayoutManager(this@UserActivity)
val adapter = TestAdapter(listOf())
adapter.setOnItemClickListener(object : TestAdapter.OnRecyclerClickListener<Test>{
override fun onClick(model: Test) {
startActivity(Intent(this@User, MainActivity::class.java))
val sharedPreferences = getSharedPreferences("MyPrefer", Context.MODE_PRIVATE)
val edit: SharedPreferences.Editor = sharedPreferences.edit()
edit.putInt("id", model.id)
edit.apply()
startActivity(Intent(this@UserActivity, MainActivity::class.java))
finish()
}
......@@ -66,23 +57,21 @@ class User : AppCompatActivity() {
}
})
}
}
private fun getPersonById(id:Int){
lifecycleScope.launch {
val db = AplicationDB.getAplicationDB(this@User)
person = db?.personDao()?.getById(id)!!
binding.userTxtName.text = person.name
binding.userTxtLastName.text = person.last_name
binding.userTxtCi.text = person.ci
binding.userTxtAge.text = person.age.toString()
viewModel.allTest.observe(this@UserActivity, Observer {
adapter.tests = it
recyclerview.adapter = adapter
})
viewModel.person.observe(this@UserActivity, Observer {
userTxtName.text = it.name
userTxtLastName.text = it.last_name
userTxtCi.text = it.ci
userTxtAge.text = it.age.toString()
})
}
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
// Inflate the menu; this adds items to the action bar if it is present.
menuInflater.inflate(R.menu.user, menu)
return true
}
......@@ -93,36 +82,4 @@ class User : AppCompatActivity() {
}
return false
}
override fun onResume() {
super.onResume()
actualizar()
}
private fun getPersonId() : Int{
val pref = getSharedPreferences("MyPrefer", Context.MODE_PRIVATE)
var allEntrys: Map<String, *>? = null
if (pref != null) {
allEntrys = pref.all
}
var id: Int = 0
if (allEntrys != null) {
for (entry in allEntrys){
if (entry.key == "id") id = entry.value as Int
break
}
}
return id
}
fun actualizar() {
lifecycleScope.launch {
// val db: AplicationDB? = AplicationDB.getAplicationDB(context = this@User)
// adapter.tests = db?.testDao()?.getAll(id_person = getPersonId())!!
// recycler.adapter = adapter
}
getPersonById(getPersonId())
}
}
\ No newline at end of file
package cu.iptriana.pesquisavirtual.ui.user
class UserViewModel {
import androidx.lifecycle.LiveData
import androidx.lifecycle.ViewModel
import cu.iptriana.pesquisavirtual.data.Person
import cu.iptriana.pesquisavirtual.data.PersonRepository
import cu.iptriana.pesquisavirtual.data.Test
import cu.iptriana.pesquisavirtual.data.TestRepository
import cu.iptriana.pesquisavirtual.preferences.AppPreferences
class UserViewModel(
testRepository: TestRepository
, private val preferences: AppPreferences
, personRepository: PersonRepository
): ViewModel() {
val allTest: LiveData<List<Test>> = testRepository.getAll(getPersonId())
var person: LiveData<Person> = personRepository.getById(getPersonId())
private fun getPersonId(): Int = preferences.getPersonId()
}
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment