package com.jiuqi.njt.ui;
import java.util.HashMap;
import java.util.Map;
import com.jiuqi.mobile.nigo.comeclose.bean.base.UserBean;
import com.jiuqi.mobile.nigo.comeclose.exception.LoginException;
import com.jiuqi.mobile.nigo.comeclose.manager.app.INewsManager;
import com.jiuqi.mobile.nigo.comeclose.ws.client.ClientContext;
import com.jiuqi.njt.data.MyApp;
import com.jiuqi.njt.data.WorkTaskBeanLocal;
import com.jiuqi.njt.db.WorkTaskNewsBeanDBHelper;
import com.jiuqi.njt.ui.PostInfoJobsActivityNew.TaskFinished;
import com.jiuqi.njt.util.Constants;
import android.R.bool;
import android.annotation.TargetApi;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
@TargetApi(Build.VERSION_CODES.FROYO)
public class SubmitWorkTaskNewAsyncTaskNew extends
AsyncTask<String, Integer, Boolean> {
private Context context;
private ProgressDialog pd;
private long totalSize;
private Bundle bundle;
private WorkTaskBeanLocal bean;
private Map<String, String> postParams = new HashMap<String, String>();
private TaskFinished taskFinished;
private boolean showDialog;
private MyApp app;
private WorkTaskNewsBeanDBHelper dbHelper;
public static final boolean SUCCESS = true;
public static final int TIMEOUT = 21;
public static final boolean ERROR = false;
private INewsManager inewsmanager;
private UserBean user;
public SubmitWorkTaskNewAsyncTaskNew(Context context,
WorkTaskBeanLocal bean,
TaskFinished taskFinished) {
super();
this.context = context;
this.bean = bean;
this.taskFinished = taskFinished;
app = (MyApp) context.getApplicationContext();
dbHelper = new WorkTaskNewsBeanDBHelper(context);
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
// if (showDialog) {
// pd = new ProgressDialog(context);
// pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
// pd.setMessage("正在上传数据请稍后。。。");
// pd.setCancelable(false);
// pd.show();
// }
}
@Override
protected Boolean doInBackground(String... params) {
// TODO Auto-generated method stub
boolean result;
try {
ClientContext context = app.getClientContext();
if (null == context) {
context = ClientContext.getClientContext(Constants.SERVER_URL,
Constants.ANONYMOUS, Constants.ANONYMOUS);
app.setClientContext(context);
}
user = context.getUser();
if (user.getAccount().equals(Constants.ANONYMOUS)) {
throw new LoginException("您的登录信息已过期,请重新登录!");
}
inewsmanager = context.getManager(INewsManager.class);
Log.wtf("service 提交", bean.getPublishType()+"");
switch (bean.getPublishType()) {
case 1:
inewsmanager.publish(dbHelper.getLocalToBean(bean), user);
break;
case 2:
inewsmanager.publish(dbHelper.getLocalToBeanForSupply(bean), user);
break;
case 3:
inewsmanager.publish(dbHelper.getLocalToBeanForCar(bean), user);
break;
default:
break;
}
result = SUCCESS;
} catch (Exception e) {
e.printStackTrace();
result = ERROR;
}
return result;
}
@Override
protected void onPostExecute(Boolean result) {
if (result) {
taskFinished.whenTaskFinish();
}
}
}