TangShiItemViewModel.java 4.85 KB
package com.naji.xiaotao.tangshi.vm;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.databinding.ObservableBoolean;
import android.databinding.ObservableField;
import android.os.Bundle;
import android.os.Parcelable;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;

import com.naji.xiaotao.App;
import com.naji.xiaotao.cart.ui.CartActivity;
import com.naji.xiaotao.cookbook.ui.CookBookMainActivity;
import com.naji.xiaotao.order.ui.OrderActivity;
import com.naji.xiaotao.tangshi.entity.TableItem;
import com.naji.xiaotao.tangshi.ui.MessageOperationDialog;
import com.naji.xiaotao.tangshi.ui.MessageOperationDialogSimple;
import com.naji.xiaotao.tangshi.ui.NumDialog;
import com.naji.xiaotao.tangshi.ui.TangShiActivity;

import java.util.ArrayList;

import me.goldze.mvvmhabit.base.BaseViewModel;
import me.goldze.mvvmhabit.binding.command.BindingAction;
import me.goldze.mvvmhabit.binding.command.BindingCommand;
import me.goldze.mvvmhabit.utils.KLog;
import me.goldze.mvvmhabit.utils.SPUtils;

public class TangShiItemViewModel extends BaseViewModel{

    public TableItem entity;

    public ObservableField<String> time=new ObservableField<>();
    public ObservableBoolean enable=new ObservableBoolean();

    public TangShiItemViewModel(Context context, TableItem entity){
        super(context);
        this.entity=entity;
        if(TextUtils.isEmpty(entity.getOrder_cdate())){
            time.set("");
        }else{
            long second=(System.currentTimeMillis()-Long.parseLong(entity.getOrder_cdate())*1000)/60000;//分钟数
            time.set(second+"");
        }
        if(entity.getEnable().equals("0")){
            enable.set(false);
        }else{
            enable.set(true);
        }
    }


    public BindingCommand itemClick=new BindingCommand(new BindingAction() {
        @Override
        public void call() {
            //零售单跳到订单详情
            if(entity.isFastOrder()){
                Intent intent=new Intent(context,OrderActivity.class);
                intent.putExtra("orderid",entity.getOrderid());
                context.startActivity(intent);
                return;
            }
            if(!enable.get()){return;}
            switch (entity.getStatus()){
                case "点餐中"://直接跳到购物车页面
                    MessageOperationDialogSimple dialog=new MessageOperationDialogSimple();
                    Bundle bundle=new Bundle();
                    bundle.putString("orderid",entity.getOrderid());
                    bundle.putString("tablename",entity.getName());
                    bundle.putString("tableid",entity.getId());
                    bundle.putParcelableArrayList("message", (ArrayList<? extends Parcelable>) entity.getMessageList());
                    dialog.setArguments(bundle);
                    dialog.show(((AppCompatActivity)context).getSupportFragmentManager(),"messageOperationDialogSimple");
                    break;
                case "待结账":
                    MessageOperationDialog dialog2=new MessageOperationDialog();
                    Bundle bundle2=new Bundle();
                    bundle2.putString("orderid",entity.getOrderid());
                    bundle2.putString("tablename",entity.getName());
                    bundle2.putString("tableid",entity.getId());
                    bundle2.putParcelableArrayList("message", (ArrayList<? extends Parcelable>) entity.getMessageList());
                    dialog2.setArguments(bundle2);
                    dialog2.show(((AppCompatActivity)context).getSupportFragmentManager(),"messageOperationDialog");
                    break;
                    case ""://空桌
                        NumDialog tangShiFragment=new NumDialog();
                        Bundle bundle3=new Bundle();
                        bundle3.putParcelable("table",entity);
                        tangShiFragment.setArguments(bundle3);
                        tangShiFragment.show(((AppCompatActivity)context).getSupportFragmentManager(),"tangshiFragment");
                        break;
                case "待确认":
                    MessageOperationDialogSimple dialog3=new MessageOperationDialogSimple();
                    Bundle bundle4=new Bundle();
                    bundle4.putString("orderid",entity.getOrderid());
                    bundle4.putString("tablename",entity.getName());
                    bundle4.putString("tableid",entity.getId());
                    bundle4.putBoolean("isWaitingSure",true);
                    bundle4.putParcelableArrayList("message", (ArrayList<? extends Parcelable>) entity.getMessageList());
                    dialog3.setArguments(bundle4);
                    dialog3.show(((AppCompatActivity)context).getSupportFragmentManager(),"messageOperationDialogSimple");
                    break;
            }
        }
    });
}