public override void OnBindViewHolder(RecyclerView.ViewHolder viewHolder, int position)
        {
            int viewType = GetItemViewType(position);

            if (viewType == TYPE_HEADER)
            {
                HeaderViewHolder headerViewHolder = viewHolder as HeaderViewHolder;
                SetSpannableString(headerViewHolder.mTransactionNumber, "Transaction #: ", mItems[position].Id.ToString());
                SetSpannableString(headerViewHolder.mTransactionDate, "Date: ", GetFormattedDateTimeString(mItems[position].TransactionDateTime));
                SetSpannableString(headerViewHolder.mCashier, "Cashier: ", mItems[position].CashierName);
                SetSpannableString(headerViewHolder.mRunner, "Runner: ", GetRunnerName(mItems[position].RunnerId));
            }
            else if (viewType == TYPE_ITEM)
            {
                DetailsViewHolder detailsHolder = viewHolder as DetailsViewHolder;
                detailsHolder.mProductSizeAndName.Text = mItems[position].ProductName;
                string pieces = mItems[position].ProductCountOnCart > 1 ? " pcs * " : " pc * ";
                detailsHolder.mQuantityAndPrice.Text = mItems[position].ProductCountOnCart + pieces
                                                       + string.Format("{0:n}", mItems[position].ProductPrice);
                detailsHolder.mOrigAmount.Visibility = mItems[position].ProductDiscountAmount > 0 ? ViewStates.Visible : ViewStates.Invisible;
                detailsHolder.mOrigAmount.Text       = mPesoSign + string.Format("{0:n}", mItems[position].ProductOrigPrice);
                detailsHolder.mDiscountedAmount.Text = mPesoSign + string.Format("{0:n}", mItems[position].ProductSubTotalPrice);
            }
            else //footer
            {
                FooterViewHolder footerViewHolder = viewHolder as FooterViewHolder;
                footerViewHolder.mTotalAmount.Text = mPesoSign + string.Format("{0:n}", mItems[position].FooterTotalAmount);
            }
        }
        public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType)
        {
            View itemView;

            if (viewType == TYPE_HEADER)
            {
                itemView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.transactions_fragment_receipt_preview_header, parent, false);
                TextView         txtTransactionNumber = itemView.FindViewById <TextView>(Resource.Id.txtTransactionNumber);
                TextView         txtTransactionDate   = itemView.FindViewById <TextView>(Resource.Id.txtDate);
                TextView         txtCashier           = itemView.FindViewById <TextView>(Resource.Id.txtCashier);
                TextView         txtRunner            = itemView.FindViewById <TextView>(Resource.Id.txtRunnerName);
                HeaderViewHolder view = new HeaderViewHolder(itemView)
                {
                    mTransactionNumber = txtTransactionNumber,
                    mTransactionDate   = txtTransactionDate,
                    mCashier           = txtCashier,
                    mRunner            = txtRunner
                };
                return(view);
            }
            else if (viewType == TYPE_ITEM)
            {
                itemView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.transactions_fragment_receipt_preview_child, parent, false);
                TextView          txtItemName         = itemView.FindViewById <TextView>(Resource.Id.txtItemName);
                TextView          txtQtyAndPrice      = itemView.FindViewById <TextView>(Resource.Id.txtQtyAndPrice);
                TextView          txtOrigAmount       = itemView.FindViewById <TextView>(Resource.Id.txtOrigAmount);
                TextView          txtDiscountedAmount = itemView.FindViewById <TextView>(Resource.Id.txtDiscountedAmount);
                DetailsViewHolder view = new DetailsViewHolder(itemView)
                {
                    mProductSizeAndName = txtItemName,
                    mQuantityAndPrice   = txtQtyAndPrice,
                    mOrigAmount         = txtOrigAmount,
                    mDiscountedAmount   = txtDiscountedAmount
                };
                return(view);
            }
            else //footer
            {
                itemView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.transactions_fragment_receipt_preview_childfooter, parent, false);
                TextView         txtTotalAmount = itemView.FindViewById <TextView>(Resource.Id.txtTotal);
                FooterViewHolder view           = new FooterViewHolder(itemView)
                {
                    mTotalAmount = txtTotalAmount
                };
                return(view);
            }
        }
Example #3
0
        public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType)
        {
            int resID = viewType == TypeFooter ? this.FooterLayouteID : this.resourceID;

            View view = LayoutInflater.From(parent.Context).Inflate(resID, parent, false);

            if (viewType != TypeFooter)
            {
                Holder holder = this.createHolder(view);
                holder.OnHolderClick += Holder_OnHolderClick;
                return(holder);
            }
            else
            {
                this.FooterHolder = new FooterViewHolder(view);
                return(this.FooterHolder);
            }
        }