package com.mozu.mozuandroidinstoreassistant.app.order;
import android.app.DialogFragment;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import com.mozu.api.contracts.commerceruntime.fulfillment.Pickup;
import com.mozu.api.contracts.commerceruntime.fulfillment.PickupItem;
import com.mozu.mozuandroidinstoreassistant.app.ProductDetailActivity;
import com.mozu.mozuandroidinstoreassistant.app.R;
import com.mozu.mozuandroidinstoreassistant.app.models.authentication.UserAuthenticationStateMachine;
import com.mozu.mozuandroidinstoreassistant.app.models.authentication.UserAuthenticationStateMachineProducer;
import com.mozu.mozuandroidinstoreassistant.app.order.adapters.OrderDetailPickupItemAdapter;
import com.mozu.mozuandroidinstoreassistant.app.utils.ProductUtils;
import butterknife.ButterKnife;
import butterknife.InjectView;
public class PickupInfoDialogFragment extends DialogFragment {
@InjectView(R.id.pickup_items_list) ListView mList;
private Pickup mPickup;
private Integer mTenantId;
private Integer mSiteId;
private TextView mStatus;
private TextView mLocation;
private ImageView mCloseView;
private TextView mPickupName;
public PickupInfoDialogFragment() {
// Required empty public constructor
setStyle(STYLE_NO_TITLE, 0);
setRetainInstance(true);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.pickup_dialog_fragment, null);
mStatus = (TextView) view.findViewById(R.id.pickup_status_value);
mLocation = (TextView)view.findViewById(R.id.pickup_location_value);
mPickupName = (TextView) view.findViewById(R.id.pickup_name);
mCloseView = (ImageView)view.findViewById(R.id.pickup_close);
mCloseView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
getDialog().dismiss();
}
});
ButterKnife.inject(this, view);
mList.setDivider(null);
if (mPickup != null) {
setPickupViews();
}
return view;
}
private void setPickupViews() {
setPickupItems();
}
private void setPickupItems() {
if (mPickup.getCode() != null && !mPickup.getCode().isEmpty()) {
mPickupName.setText(mPickup.getCode());
}
if (mPickup.getStatus() != null) {
mStatus.setText(mPickup.getStatus());
} else {
mStatus.setText("N/A");
}
if (mPickup.getFulfillmentLocationCode() != null) {
mLocation.setText(mPickup.getFulfillmentLocationCode());
} else {
mLocation.setText("N/A");
}
if (mPickup.getItems() == null|| mPickup.getItems().size() < 1) {
return;
}
OrderDetailPickupItemAdapter adapter = new OrderDetailPickupItemAdapter(getActivity(), mPickup.getItems(), mTenantId, mSiteId);
mList.setAdapter(adapter);
mList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
PickupItem item = (PickupItem) adapterView.getItemAtPosition(position);
String productCode = ProductUtils.getPackageorPickupProductCode(item.getProductCode());
Intent intent = new Intent(getActivity(), ProductDetailActivity.class);
UserAuthenticationStateMachine userAuthenticationStateMachine = UserAuthenticationStateMachineProducer.getInstance(getActivity());
intent.putExtra(ProductDetailActivity.PRODUCT_CODE_EXTRA_KEY, productCode);
intent.putExtra(ProductDetailActivity.CURRENT_TENANT_ID, userAuthenticationStateMachine.getTenantId());
intent.putExtra(ProductDetailActivity.CURRENT_SITE_ID, userAuthenticationStateMachine.getSiteId());
startActivity(intent);
}
});
}
public void setPickup(Pickup pickup) {
mPickup = pickup;
}
public void setTenantAndSiteId(Integer tenantId, Integer siteId) {
mTenantId = tenantId;
mSiteId = siteId;
}
}