package com.desfate.chart.ui.old.OTC.adapters;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import com.desfate.chart.R;
import com.desfate.chart.ui.old.OTC.datas.PurcaseOrSellData;

import java.util.ArrayList;
import java.util.List;


public class PurcaseOrSellAdapter extends BaseAdapter {

    private List<PurcaseOrSellData> datas = new ArrayList<PurcaseOrSellData>();
    private ViewHolder holder;
    Context context;

    public PurcaseOrSellAdapter(ArrayList<PurcaseOrSellData> datas, Context context) {
        this.datas = (List<PurcaseOrSellData>) datas.clone();
        this.context = context;
    }

    public void setDatas(ArrayList<PurcaseOrSellData> datas, Context context) {
        this.datas = (List<PurcaseOrSellData>) datas.clone();
        this.context = context;
        notifyDataSetChanged();
    }


    @Override
    public int getCount() {
        return datas.size();
    }

    @Override
    public Object getItem(int arg0) {
        return datas.get(arg0);
    }

    @Override
    public long getItemId(int arg0) {
        return arg0;
    }

    @Override
    public View getView(int position, View container, ViewGroup arg2) {
        if (container == null) {
            container = LayoutInflater.from(context).inflate(R.layout.purcase_sell_hall_item, null);
            holder = new ViewHolder();
            holder.hallid = container.findViewById(R.id.hallid);
            holder.hallprice = container.findViewById(R.id.hallprice);
            holder.hallcount = container.findViewById(R.id.hallcount);
            holder.hallperson = container.findViewById(R.id.hallperson);
            holder.hallope = container.findViewById(R.id.hallope);
            container.setTag(holder);
        } else {
            holder = (ViewHolder) container.getTag();
        }


        final PurcaseOrSellData purcaseOrSellData = datas.get(position);
        if (purcaseOrSellData != null) {
//            GoodsInfoAndQuotes goodsInfoAndQuotes = purcaseOrSellData.getGoodsInfoAndQuotes();
//            if (goodsInfoAndQuotes.getTradeMode() == MTPEnums.TRADEMODE_MARKETMAKE) {
//                //做市商品
//                //价格：行情源价格，需实时刷新；----交易服务、交易端
//                //申报方：显示该账户的对手会员的企业名称，且第一个字显示，其他以3个*表示，其中，若是有多个对手会员，则默认显示第一个；---由交易端根据实时的对手关系来显示对手会员（对手关系修改、新增已有接口，需要前置服务将对手关系的更新信息推送给交易端）；
//                holder.hallprice.setVisibility(View.VISIBLE);
//                holder.hallperson.setVisibility(View.VISIBLE);
//                //订单买方向
//                if (purcaseOrSellData.getType() == MTPEnums.DIRECTION_BUY) {
//                    if (goodsInfoAndQuotes.getBidMSP().equals("0")) {
//                        holder.hallprice.setText("--");
//                    } else {
//                        holder.hallprice.setText(goodsInfoAndQuotes.getBidMSP());
//                    }
//                } else {
//                    if (goodsInfoAndQuotes.getAskMSP().equals("0")) {
//                        holder.hallprice.setText("--");
//                    } else {
//                        holder.hallprice.setText(goodsInfoAndQuotes.getAskMSP());
//                    }
//                }
//                if (goodsInfoAndQuotes.getQuoteDay() != null) {
//                    if (goodsInfoAndQuotes.getQuoteDay().getUpDown() == 1) {
//                        // 红涨
//                        holder.hallprice.setTextColor(context.getResources().getColor(R.color.p_up_color));
//                    } else if (goodsInfoAndQuotes.getQuoteDay().getUpDown() == 2) {
//                        // 绿跌
//                        holder.hallprice.setTextColor(context.getResources().getColor(R.color.p_down_color));
//                    }
//                }
//
//                if (purcaseOrSellData.getHalldr().equals("--")) {
//                    holder.hallperson.setText(purcaseOrSellData.getHalldr());
//                } else {
//                    holder.hallperson.setText(purcaseOrSellData.getHalldr().substring(0, 1) + context.getString(R.string.chart_aterisk));
//                }
//
//            } else if (goodsInfoAndQuotes.getTradeMode() == MTPEnums.TRADEMODE_BIDDING) {
//                holder.hallprice.setVisibility(View.VISIBLE);
//                holder.hallperson.setVisibility(View.VISIBLE);
//                holder.hallcount.setVisibility(View.VISIBLE);
//
//                //怎么判断是不是行情源价格
//                if (isTradeSource(goodsInfoAndQuotes.getGoodsInfo().getGoodsId())) {
//                    //有行情源
//                    if (purcaseOrSellData.getPrice() != null && isEmpty(purcaseOrSellData.getPrice())) {
//                        holder.hallprice.setText(purcaseOrSellData.getPrice());
//                    } else {
//                        holder.hallprice.setText("--");
//                    }
//
//                    holder.hallcount.setText(purcaseOrSellData.getNum());
//                } else {
//                    holder.hallcount.setText("--");
//                    holder.hallprice.setText("--");
//                }
//                if (goodsInfoAndQuotes.getQuoteDay() != null) {
//                    if (goodsInfoAndQuotes.getQuoteDay().getUpDown() == 1) {
//                        // 红涨
//                        holder.hallprice.setTextColor(context.getResources().getColor(R.color.p_up_color));
//                    } else if (goodsInfoAndQuotes.getQuoteDay().getUpDown() == 2) {
//                        // 绿跌
//                        holder.hallprice.setTextColor(context.getResources().getColor(R.color.p_down_color));
//                    }
//                }
//                if (purcaseOrSellData.getHalldr().equals("--")) {
//                    holder.hallperson.setText(purcaseOrSellData.getHalldr());
//                } else {
//                    holder.hallperson.setText(purcaseOrSellData.getHalldr().substring(0, 1) + context.getString(R.string.chart_aterisk));
//                }
//
//                //混合商品
//                //价格、数量：若是行情源价格，则数量字段显示（按照已有的规则由系统给出），
//                // 且申报方字段显示该账户的对手会员的企业名称，且第一个字显示，其他以3个*表示，---若是有多个对手会员，则默认显示第一个；
//                //若不是行情源价格，则数量字段显示该申报委托的未成交的挂牌数量，且申报方字段显示该账户的投资者名称，且仅显示第一个字显示，其他以3个*表示；
//            }
//            else if (goodsInfoAndQuotes.getTradeMode() == MTPEnums.BIDDING) {
//                //申报编号：显示该字段；
//                //数量：显示该申报委托的未成交的挂牌数量；
//                //申报方：若该账户是投资者账户，则显示投资者名称，且仅显示第一个字显示，其他以3个*表示；
//                //       若是会员账户，显示该账户的企业名称，且第一个字显示，其他以3个*表示；
//                //操作：点价成交时，显示该字段，且当为买挂牌时，按钮为“出售”，为卖挂牌时，按钮为“购买”；
//                //     撮合成交时，不显示该字段。
//                //>>买、卖挂牌信息默认显示5条。
//                holder.hallprice.setVisibility(View.VISIBLE);
//                holder.hallperson.setVisibility(View.VISIBLE);
//                holder.hallcount.setVisibility(View.VISIBLE);
//                holder.hallid.setVisibility(View.VISIBLE);
//                holder.hallprice.setVisibility(View.VISIBLE);
//
//                if (purcaseOrSellData.getPrice() != null && Utils.isEmpty(purcaseOrSellData.getPrice())) {
//                    holder.hallprice.setText(purcaseOrSellData.getPrice());
//                } else {
//                    holder.hallprice.setText("--");
//                }
//                if (purcaseOrSellData.getHalldr().equals("--")) {
//                    holder.hallperson.setText(purcaseOrSellData.getHalldr());
//                } else {
//                    holder.hallperson.setText(purcaseOrSellData.getHalldr().substring(0, 1) + context.getString(R.string.aterisk));
//                }
//                holder.hallcount.setText(purcaseOrSellData.getNum());
//                holder.hallid.setText(purcaseOrSellData.getHallId());
//
////                if (MTPApplication.getInstance().isBidAttornMode(goodsInfoAndQuotes.getGoodsInfo().getGoodsId())) {
////                    //点价成交
////                    holder.hallope.setVisibility(View.VISIBLE);
////                    if (purcaseOrSellData.getType() == MTPEnums.OrderDirection_ORDERDIRECTION_BUY) {
////                        holder.hallope.setText(context.getString(R.string.want_sell));
////                    } else {
////                        holder.hallope.setText(context.getString(R.string.want_purchase));
////                    }
////                }
//            }

        }

//        holder.hallope.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                if(purcaseOrSellData.getType() == MTPEnums.OrderDirection_ORDERDIRECTION_BUY){
//                    //我要出售
//                }else{
//                    //我要购买
//                }
//            }
//        });

        return container;
    }

    /**
     * 5:是否含有行情源（只针对混合模式）
     *
     * @return booelan true:有行情源 false:无行情源
     */
    public boolean isTradeSource(long goodsid) {
//        AccountGoodsParamsData params = GlobalDataCollention.getInstance().getAccountGoodsParamsData();
        // 5:行情是否有效
//        QueryaAccountGoodsParamsData quoteSourceValues = params.getQuoteSourceValues(String.valueOf(goodsid));
        String state = "1";
//        if (quoteSourceValues != null) {
//            state = quoteSourceValues.getAmount();
//        }
        // 1:有行情源 0：是没有行情源
        return state.equals("1");
    }

    public static boolean isEmpty(String str) {
        return !(str == null || str.equals("") || str.equals("null"));
    }

    private class ViewHolder {
        public TextView hallid;//申报编号
        public TextView hallcount;//数量
        public TextView hallprice;//价格
        public TextView hallope;//操作
        public TextView hallperson;//申报人
    }
}
