refs #5764 modify dayOfSale

This commit is contained in:
Sergio De la torre 2023-09-15 11:10:10 +02:00
parent cfe7a23ccd
commit eed96ea4eb
2 changed files with 82 additions and 64 deletions

View File

@ -10,50 +10,65 @@ import es.verdnatura.presentation.common.OnPasillerosItemClickListener
import es.verdnatura.presentation.view.feature.diadeventa.model.ItemShelvingSaleDate import es.verdnatura.presentation.view.feature.diadeventa.model.ItemShelvingSaleDate
import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO import es.verdnatura.presentation.view.feature.pasillero.model.PasillerosItemVO
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.* import java.util.Date
class DayOfSaleAdapter ( class DayOfSaleAdapter(
private val items: List<ItemShelvingSaleDate>, private val items: List<ItemShelvingSaleDate>,
private val onPasillerosItemClickListener: OnPasillerosItemClickListener private val onPasillerosItemClickListener: OnPasillerosItemClickListener?
): RecyclerView.Adapter<DayOfSaleAdapter.ItemHolder>() { ) : RecyclerView.Adapter<DayOfSaleAdapter.ItemHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemHolder { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemHolder {
return ItemHolder( return ItemHolder(
ItemShelvingdayofsaleRowBinding.inflate(LayoutInflater.from(parent.context),parent,false) ItemShelvingdayofsaleRowBinding.inflate(
) LayoutInflater.from(parent.context),
} parent,
false
)
)
}
override fun getItemCount() =items.size override fun getItemCount() = items.size
override fun onBindViewHolder(holder: ItemHolder, position: Int) { override fun onBindViewHolder(holder: ItemHolder, position: Int) {
holder.bind(items[position]) holder.bind(items[position])
} }
inner class ItemHolder( inner class ItemHolder(
val binding: ItemShelvingdayofsaleRowBinding val binding: ItemShelvingdayofsaleRowBinding
) : RecyclerView.ViewHolder(binding.root){ ) : RecyclerView.ViewHolder(binding.root) {
private val res = binding.root.context.resources private val res = binding.root.context.resources
fun bind(item: ItemShelvingSaleDate) { fun bind(item: ItemShelvingSaleDate) {
binding.apply { binding.apply {
this.item = item this.item = item
val sdf = SimpleDateFormat(res.getString(R.string.dateFormat)) val sdf = SimpleDateFormat(res.getString(R.string.dateFormat))
val currentDate = sdf.format(Date()) val currentDate = sdf.format(Date())
if (currentDate == item.dated){ if (currentDate == item.dated) {
saledate.setBackgroundColor( saledate.setBackgroundColor(
ContextCompat.getColor(historicoDate.context, ContextCompat.getColor(
R.color.verdnatura_pumpkin_orange)) historicoDate.context,
}else{ R.color.verdnatura_pumpkin_orange
saledate.setBackgroundColor( )
ContextCompat.getColor(historicoDate.context, )
R.color.verdnatura_black_5)) } else {
} saledate.setBackgroundColor(
historicoDate.setOnClickListener { ContextCompat.getColor(
onPasillerosItemClickListener.onPasillerosItemClickListener( historicoDate.context,
PasillerosItemVO(title = res.getString( R.color.verdnatura_black_5
R.string.titleItemSearch)),item.itemFk.toString()) )
} )
} }
historicoDate.setOnClickListener {
onPasillerosItemClickListener!!.onPasillerosItemClickListener(
PasillerosItemVO(
title = res.getString(
R.string.titleItemConsult
)
), item.itemFk
)
}
} }
} }
} }
}

View File

@ -1,5 +1,6 @@
package es.verdnatura.presentation.view.feature.diadeventa.fragment package es.verdnatura.presentation.view.feature.diadeventa.fragment
import android.content.Context
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
import android.os.Build import android.os.Build
import android.view.View import android.view.View
@ -9,7 +10,6 @@ import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import es.verdnatura.R import es.verdnatura.R
import es.verdnatura.databinding.FragmentItemdayofsaleCardBinding import es.verdnatura.databinding.FragmentItemdayofsaleCardBinding
import es.verdnatura.domain.notNull
import es.verdnatura.presentation.base.BaseFragment import es.verdnatura.presentation.base.BaseFragment
import es.verdnatura.presentation.common.OnOptionsSelectedListener import es.verdnatura.presentation.common.OnOptionsSelectedListener
import es.verdnatura.presentation.common.OnPasillerosItemClickListener import es.verdnatura.presentation.common.OnPasillerosItemClickListener
@ -34,6 +34,10 @@ class DayOfSaleFragment(
fun newInstance(entryPoint: String) = DayOfSaleFragment(entryPoint) fun newInstance(entryPoint: String) = DayOfSaleFragment(entryPoint)
} }
override fun onAttach(context: Context) {
if (context is OnPasillerosItemClickListener) pasillerosItemClickListener = context
super.onAttach(context)
}
override fun getLayoutId(): Int = R.layout.fragment_itemdayofsale_card override fun getLayoutId(): Int = R.layout.fragment_itemdayofsale_card
@ -110,37 +114,36 @@ class DayOfSaleFragment(
override fun observeViewModel() { override fun observeViewModel() {
with(viewModel) { with(viewModel) {
loadItemShelvingSaleDateList.observe(viewLifecycleOwner, Observer { event -> itemShelvingSaleDateList.observe(viewLifecycleOwner, Observer {
event.getContentIfNotHandled().notNull { binding.splashProgress.visibility = View.GONE
binding.splashProgress.visibility = View.GONE adapter = DayOfSaleAdapter(
adapter = DayOfSaleAdapter( it.list,
it.list, onPasillerosItemClickListener = pasillerosItemClickListener!!
onPasillerosItemClickListener = pasillerosItemClickListener!! )
) binding.itemexpeditionstateRecyclerview.adapter = adapter
binding.itemexpeditionstateRecyclerview.layoutManager =
LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false)
binding.itemexpeditionstateRecyclerview.adapter = adapter if (it.list.isEmpty()) {
binding.itemexpeditionstateRecyclerview.layoutManager = customDialog.setTitle(getString(R.string.noResults))
LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false) .setDescription(getString(R.string.wagoonNoSaleToday))
.setOkButton(getString(R.string.close)) {
customDialog.dismiss()
}.show()
} else {
if (it.list.isEmpty()) { if (it.list.get(0).isError) {
customDialog.setTitle(getString(R.string.noResults)) ma.messageWithSound(
.setDescription(getString(R.string.wagoonNoSaleToday)) it.list.get(0).errorMessage,
.setOkButton(getString(R.string.close)) { it.list.get(0).isError,
customDialog.dismiss() isPlayed = false
}.show() )
} else {
if (it.list.get(0).isError) {
ma.messageWithSound(
it.list.get(0).errorMessage,
it.list.get(0).isError,
isPlayed = false
)
}
} }
} }
}) })
response.observe(viewLifecycleOwner, Observer { response.observe(viewLifecycleOwner, Observer {
if (it.isError) { if (it.isError) {