package com.biznow.ordernow.adapter;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.TextView;
import com.data.menu.Dish;
import com.data.restaurant.OrderedDish;
import com.data.restaurant.RestaurantOrder;
import com.biznow.ordernow.ApplicationState;
import com.biznow.ordernow.MyOrderActivity;
import com.biznow.ordernow.R;
import com.biznow.ordernow.model.FoodMenuItem;
import com.biznow.ordernow.model.MyOrderItem;
import com.util.Utilities;
public class MyOrderHistoryAdapter extends ArrayAdapter<RestaurantOrder> {
private ArrayList<RestaurantOrder> myOrderHistoryList;
public MyOrderHistoryAdapter(Context context, ArrayList<RestaurantOrder> myOrderHistoryList) {
super(context, R.layout.my_order_history_item, myOrderHistoryList);
this.myOrderHistoryList = myOrderHistoryList;
}
@Override
public View getView(final int position, View convertView, final ViewGroup parent) {
if (convertView == null) {
LayoutInflater vi = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = vi.inflate(R.layout.my_order_history_item, null);
}
final ApplicationState applicationContext = (ApplicationState) getContext().getApplicationContext();
TextView orderIdView = (TextView) convertView.findViewById(R.id.orderId);
String orderId = myOrderHistoryList.get(position).getOrderId();
orderIdView.setText("OrderId " + orderId);
TextView orderDateView = (TextView) convertView.findViewById(R.id.orderDate);
String orderDate = Utilities.defaultDateFormat(new Date(myOrderHistoryList.get(position).getCreatedAt()));
orderDateView.setText(orderDate);
Button reorderNowBtn = (Button) convertView.findViewById(R.id.reorderNowBtn);
reorderNowBtn.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
HashMap<String, MyOrderItem> foodItemQtyMap = new HashMap<String, MyOrderItem>();
List<OrderedDish> orderedDish = myOrderHistoryList.get(position).getDishes();
String dishName,dishId;
float dishPrice;
Float dishQty;
for(int i = 0; i < orderedDish.size(); i++) {
dishName = orderedDish.get(i).getName();
dishId = orderedDish.get(i).getDishId();
dishPrice = (float) orderedDish.get(i).getPrice();
dishQty = orderedDish.get(i).getDishQty();
foodItemQtyMap.put(dishName, new MyOrderItem(new FoodMenuItem(new Dish(dishId, dishName, null, null, dishPrice, true)), dishQty));
}
ApplicationState.setFoodMenuItemQuantityMap(applicationContext, foodItemQtyMap);
Intent intent = new Intent(getContext(), MyOrderActivity.class);
getContext().startActivity(intent);
}
});
return convertView;
}
}