package org.openlmis.core.view.holder;
import android.view.View;
import android.widget.TextView;
import org.openlmis.core.R;
import org.openlmis.core.view.viewmodel.StockHistoryMovementItemViewModel;
import roboguice.inject.InjectView;
public class StockHistoryMovementItemViewHolder extends BaseViewHolder {
@InjectView(R.id.tv_movement_date)
TextView tvMovementDate;
@InjectView(R.id.tv_movement_reason)
TextView tvMovementReason;
@InjectView(R.id.tv_document_number)
TextView tvDocumentNumber;
@InjectView(R.id.tv_entry_amount)
TextView tvEntryAmount;
@InjectView(R.id.tv_negative_adjustment_amount)
TextView tvNegativeAdjustmentAmount;
@InjectView(R.id.tv_positive_adjustment_amount)
TextView tvPositiveAdjustmentAmount;
@InjectView(R.id.tv_issue_amount)
TextView tvIssueAmount;
@InjectView(R.id.tv_stock_existence)
TextView tvStockExistence;
private final int blackColor;
private final int redColor;
public StockHistoryMovementItemViewHolder(View itemView) {
super(itemView);
blackColor = context.getResources().getColor(R.color.color_black);
redColor = context.getResources().getColor(R.color.color_red);
}
public void populate(StockHistoryMovementItemViewModel viewModel) {
tvMovementDate.setText(viewModel.getMovementDate());
tvMovementReason.setText(viewModel.getMovementReason());
tvDocumentNumber.setText(viewModel.getDocumentNumber());
tvEntryAmount.setText(viewModel.getEntryAmount());
tvNegativeAdjustmentAmount.setText(viewModel.getNegativeAdjustmentAmount());
tvPositiveAdjustmentAmount.setText(viewModel.getPositiveAdjustmentAmount());
tvIssueAmount.setText(viewModel.getIssueAmount());
tvStockExistence.setText(viewModel.getStockExistence());
setTextColor(viewModel.isIssueAdjustment() ? blackColor : redColor);
}
private void setTextColor(int color) {
tvMovementDate.setTextColor(color);
tvMovementReason.setTextColor(color);
tvDocumentNumber.setTextColor(color);
tvEntryAmount.setTextColor(color);
tvNegativeAdjustmentAmount.setTextColor(color);
tvPositiveAdjustmentAmount.setTextColor(color);
tvIssueAmount.setTextColor(color);
tvStockExistence.setTextColor(color);
}
}