/**============================================================
* 版权: 久其软件 版权所有 (c)
* 包: com.jiuqi.njt.ui
* 修改记录:
* 日期 作者 内容
* =============================================================
* 2013-6-28 liyue
* ============================================================*/
package com.jiuqi.njt.ui;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewStub;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import com.jiuqi.mobile.nigo.comeclose.bean.app.news.NoticeNewsBean;
import com.jiuqi.mobile.nigo.comeclose.bean.app.news.SupplyAndDemandTaskNewsBean;
import com.jiuqi.mobile.nigo.comeclose.bean.base.UserBean;
import com.jiuqi.mobile.nigo.comeclose.exception.NiGoException;
import com.jiuqi.mobile.nigo.comeclose.manager.app.INewsManager;
import com.jiuqi.mobile.nigo.comeclose.ws.client.ClientContext;
import com.jiuqi.njt.R;
import com.jiuqi.njt.util.Constants;
import com.jiuqi.njt.util.DateUtil;
import com.jiuqi.njt.util.ReturnObject;
import com.jiuqi.njt.util.TitleBarUtil;
import com.jiuqi.njt.util.UIUtil;
import com.jiuqi.njt.util.ValidateRule;
import com.jiuqi.njt.util.Validator;
/**
* <p>公告通知发布</p>
*
* <p>Copyright: 版权所有 (c)<br>
* Company: 久其</p>
* @author liyue
* @version 2013-6-28
*/
/// 注: 废弃 malingya 2013/10/16
public class PostInfoNoticeActivity extends AbstractNjtActivity01 implements OnClickListener{
//mark值见 com.jiuqi.mobile.nigo.comeclose.bean.app.news.SupplyAndDemandTaskNewsBean
private EditText etCont;
private EditText etTitle;
private Button btnSubmit;
@Override
protected void onCreate(Bundle savedInstanceState){
isPostinfo = true;
super.onCreate(savedInstanceState);
}
protected void doinit(){
initParam();
initWidgets();
initListeners();
initUI();
}
@Override
protected void initParam(){
if(!application.getIsLogin()){
UIUtil.alert(PostInfoNoticeActivity.this, "要使用该功能,请您先登录", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which){
Intent intent = new Intent(PostInfoNoticeActivity.this, LoginActivityNew.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
PostInfoNoticeActivity.this.finish();
}
});
}
}
protected void initWidgets(){
setContentView(R.layout.post_info_notice_activity);
ViewStub rlTitleBar = (ViewStub)findViewById(R.id.titleBarStub);
TitleBarUtil.createTitleBar(this, rlTitleBar, "公告通知发布", new OnClickListener(){
@Override
public void onClick(View v){
PostInfoNoticeActivity.this.finish();
}
});
etTitle = (EditText)findViewById(R.id.etTitle);
etCont = (EditText)findViewById(R.id.etCont);
btnSubmit = (Button)findViewById(R.id.btnSubmit);
}
protected void initListeners(){
btnSubmit.setOnClickListener(this);
}
@Override
public void onClick(View v){
switch(v.getId()){
case R.id.btnSubmit:
if(doValidate()){
new SubmitInfoAsyncTask().execute();
}
break;
default:
break;
}
}
/**
* 验证界面上的录入项
* @return boolean
*/
private boolean doValidate(){
Validator validator = null;
ReturnObject ro = null;
//验证这些控件是不是都有内容了
TextView[] widgets = new TextView[] {etTitle, etCont,};
validator = new Validator();
validator.addRules(ValidateRule.IS_NOT_EMPTY, ValidateRule.IS_REACH_MAX_LENGTH);
for(TextView w : widgets){
ro = validator.val(w.getText());
if(!ro.isSuccess){
UIUtil.showMsg(this, ro.getErrorMessage());
w.requestFocus();
return false;
}
}
return true;
}
/**
* 提交信息,访问网络时必须变成异步任务才可以提交,2.3规则。
*/
private class SubmitInfoAsyncTask extends AsyncTask<Void, Void, Void>{
@Override
protected Void doInBackground(Void... params){
try{
ClientContext context = application.getClientContext();
UserBean user = context.getUser();
INewsManager inewsmanager = context.getManager(INewsManager.class);
CharSequence etTitleText = etTitle.getText();
CharSequence etContText = etCont.getText();
NoticeNewsBean job = new NoticeNewsBean();
job.setAddPersonGuid(user.getGuid());
job.setAddPersonName(user.getUserName());
job.setAddPersonMobileNumber(user.getMobileNumber());
//补充其他的信息
job.setTitle(etTitleText.toString());
job.setContent(etContText.toString());
if(null != inewsmanager){
inewsmanager.publish(job);
}
}
catch(NiGoException e){
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void result){
UIUtil.showMsg(PostInfoNoticeActivity.this, "信息已发布");
PostInfoNoticeActivity.this.finish();
}
}
}