package com.basket.activities;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
import com.basket.general.CarJsonSpringAndroidSpiceService;
import com.basket.general.Report;
import com.basket.restrequest.ProductReportRequest;
import com.basket.restrequest.SalesReportRequest;
import com.example.basket.R;
import com.octo.android.robospice.SpiceManager;
import com.octo.android.robospice.exception.RequestCancelledException;
import com.octo.android.robospice.persistence.DurationInMillis;
import com.octo.android.robospice.persistence.exception.SpiceException;
import com.octo.android.robospice.request.listener.RequestListener;
import com.octo.android.robospice.request.listener.RequestProgress;
import com.octo.android.robospice.request.listener.RequestProgressListener;
public class DateSaleActivity extends Activity
{
private RadioGroup sortradiogroup;
private SpiceManager spiceManager = new SpiceManager(CarJsonSpringAndroidSpiceService.class);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.product_date_sales);
sortradiogroup = (RadioGroup) findViewById(R.id.sortradiogroup);
sortradiogroup.check(R.id.radioYear);
type = "Year";
Button update = (Button) this.findViewById(R.id.update);
update.setOnClickListener(new OnClickListener(){
public void onClick(View arg0)
{
if(!spiceManager.isStarted())
{
spiceManager.start(DateSaleActivity.this);
}
DatePicker date = (DatePicker) findViewById(R.id.datePicker1);
//Modificar segun radio button
sortradiogroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId){
case R.id.radioYear:
type = "Year";
break;
case R.id.radioMonth:
type="Month";
break;
case R.id.radioWeek:
type="Week";
break;
case R.id.radioDay:
type = "Day";
break;
}
}
});
SalesReportRequest JsonSpringAndroidRequest = new SalesReportRequest(date.getDayOfMonth(),date.getMonth(),date.getYear(),type);
spiceManager.execute(JsonSpringAndroidRequest, "product_search", DurationInMillis.ALWAYS_EXPIRED, new ProductReportListener());
}
});
}
public String type = "";
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.date_sale, menu);
return true;
}
private class ProductReportListener implements RequestListener<Report>, RequestProgressListener {
@Override
public void onRequestFailure(SpiceException arg0)
{
Log.d("error",arg0.getMessage());
if (!(arg0 instanceof RequestCancelledException)) {
Toast.makeText(DateSaleActivity.this, "Search could not be processed", Toast.LENGTH_SHORT).show();
}
if(spiceManager.isStarted())
spiceManager.shouldStop();
}
@Override
public void onRequestSuccess(Report report) {
if(spiceManager.isStarted())
spiceManager.shouldStop();
TextView sales =(TextView) findViewById(R.id.total_sale_text);
sales.setText(Double.toString(report.getTotalSales()));
sales.setVisibility(View.VISIBLE);
TextView gross =(TextView) findViewById(R.id.total_gross_view);
gross.setText(Double.toString(report.getTotalGross()));
gross.setVisibility(View.VISIBLE);
}
@Override
public void onRequestProgressUpdate(RequestProgress arg0)
{
}
}
}