package com.ihateflyingbugs.kidsm.menu; import java.io.PrintWriter; import java.io.StringWriter; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import android.app.Activity; import android.app.AlertDialog; import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.EditText; import android.widget.Spinner; import android.widget.Toast; import com.ihateflyingbugs.kidsm.MainActivity; import com.ihateflyingbugs.kidsm.NetworkActivity; import com.ihateflyingbugs.kidsm.NetworkFragment; import com.ihateflyingbugs.kidsm.R; import com.ihateflyingbugs.kidsm.login.RegisterChildItem; import com.ihateflyingbugs.kidsm.login.RegisterClassItem; import com.ihateflyingbugs.kidsm.login.RegisterClassMakeAdapter; import com.ihateflyingbugs.kidsm.login.RegisterOrgItem; import com.localytics.android.LocalyticsSession; public class AddComponentActivity extends NetworkActivity { LayoutInflater inflater; View layout; String org_srl = ""; String student_srl = ""; String member_srl = ""; String class_srl = ""; String parent_srl = ""; String teacher_srl = ""; String shuttle_srl = ""; private LocalyticsSession localyticsSession; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); switch(SlidingMenuMaker.getProfile().member_type.charAt(0)) { case 'P': setContentView(R.layout.activity_addchild); break; case 'M': setContentView(R.layout.activity_addclass); ArrayList<String> classLevelList = new ArrayList<String>(); Collections.addAll(classLevelList, getResources().getStringArray(R.array.register_teacher_classlevel)); RegisterClassMakeAdapter classLevelAdapter = new RegisterClassMakeAdapter(this, classLevelList); Spinner spinner = (Spinner)findViewById(R.id.addclass_classlevel); spinner.setAdapter(classLevelAdapter); setTitle(R.string.profile_addclass); break; } getActionBar().setHomeButtonEnabled(true); getActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.general_actionbar_function_bg)); getActionBar().setIcon(R.drawable.general_actionbar_back_btnset); this.localyticsSession = new LocalyticsSession(this.getApplicationContext()); // Context used to access device resources this.localyticsSession.open(); // open the session this.localyticsSession.upload(); // upload any data } public void onResume() { super.onResume(); this.localyticsSession.open(); } public void onPause() { this.localyticsSession.close(); this.localyticsSession.upload(); super.onPause(); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()) { case android.R.id.home: finish(); return true; case R.id.register_onebutton: String formResult = checkForm(); if(formResult.equals("OK") == false) { showDialogMessage(formResult); return true; } switch(SlidingMenuMaker.getProfile().member_type.charAt(0)) { case 'P': String orgName = ((EditText)findViewById(R.id.addchild_org)).getText().toString(); String className = ((EditText)findViewById(R.id.addchild_class)).getText().toString(); String childName = ((EditText)findViewById(R.id.addchild_childname)).getText().toString(); String birthday = ((EditText)findViewById(R.id.addchild_birthday)).getText().toString(); this.request_Member_modStudent(student_srl, member_srl, class_srl, parent_srl, teacher_srl, shuttle_srl, "20"+birthday); break; case 'M': String classname = ((EditText)findViewById(R.id.addclass_newclass)).getText().toString(); Spinner spinner = (Spinner)findViewById(R.id.addclass_classlevel); switch(spinner.getSelectedItemPosition()) { case 0: this.request_Class_setClass(SlidingMenuMaker.getProfile().member_org_srl, classname, "7"); break; case 1: this.request_Class_setClass(SlidingMenuMaker.getProfile().member_org_srl, classname, "6"); break; case 2: this.request_Class_setClass(SlidingMenuMaker.getProfile().member_org_srl, classname, "5"); break; case 3: this.request_Class_setClass(SlidingMenuMaker.getProfile().member_org_srl, classname, "4"); break; } break; } return true; } return false; } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.register_onebutton, menu); return true; } private void showDialogMessage(String formResult) { new AlertDialog.Builder(this) .setMessage(formResult) .setPositiveButton("Ȯ��", null) .show(); } private boolean checkIsDate(String date) { if(date.length() != 6) return false; try { SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd"); dateFormat.setLenient(false); dateFormat.parse(date); } catch (ParseException e) { e.printStackTrace(); return false; } return true; } private String checkForm() { switch(SlidingMenuMaker.getProfile().member_type.charAt(0)) { case 'P': if( ((EditText)findViewById(R.id.addchild_org)).getText().toString().isEmpty() ) return "��ġ���� �������ּ���."; else if( ((EditText)findViewById(R.id.addchild_birthday)).getText().toString().isEmpty() ) return "�ڳ��� ������ �Է����ּ���."; else if( checkIsDate(((EditText)findViewById(R.id.addchild_birthday)).getText().toString()) == false ) return "�ڳ��� ������ �ùٸ��� �ʽ��ϴ�.\n2008�� 12�� 24�� ���� ��� 081224"; break; case 'M': if( ((EditText)findViewById(R.id.addclass_newclass)).getText().toString().isEmpty() ) return "�� �̸��� �Է����ּ���."; break; } return "OK"; } public void OnClickForAddInfo(View v) { Intent intent = new Intent(this, AddChildInfoTakerActivity.class); startActivityForResult(intent, 0); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if( resultCode == RESULT_OK ) { switch(requestCode) { case 0: ((EditText)findViewById(R.id.addchild_org)).setText(data.getStringExtra("org")); ((EditText)findViewById(R.id.addchild_class)).setText(data.getStringExtra("class")); ((EditText)findViewById(R.id.addchild_childname)).setText(data.getStringExtra("childname")); org_srl = data.getStringExtra("org_srl"); student_srl = data.getStringExtra("student_srl"); member_srl = data.getStringExtra("member_srl"); class_srl = data.getStringExtra("class_srl"); parent_srl = SlidingMenuMaker.getProfile().parent_srl; teacher_srl = data.getStringExtra("teacher_srl"); shuttle_srl = data.getStringExtra("shuttle_srl"); break; } } } @Override public void response(String uri, String response) { try { if( response.isEmpty() ) return; JSONObject jsonObj = new JSONObject(response); String result = jsonObj.getString("result"); if( result.equals("OK") ) { if(uri.equals("Member/modStudent")) { String nativeData = jsonObj.getString("data"); jsonObj = new JSONObject(nativeData); String member_srl = jsonObj.getString("student_member_srl"); this.request_Member_getMember(member_srl); } else if(uri.equals("Member/getMember")) { String nativeData = jsonObj.getString("data"); jsonObj = new JSONObject(nativeData); String member_srl = jsonObj.getString("member_srl"); String member_name = jsonObj.getString("member_name"); String member_type = jsonObj.getString("member_type"); String member_org_srl = jsonObj.getString("member_org_srl"); String member_picture = jsonObj.getString("member_picture"); JSONObject studentObj = jsonObj.getJSONObject("student"); String student_srl = studentObj.getString("student_srl"); String student_member_srl = studentObj.getString("student_member_srl"); String student_class_srl = studentObj.getString("student_class_srl"); String student_parent_srl = studentObj.getString("student_parent_srl"); String student_teacher_srl = studentObj.getString("student_teacher_srl"); String student_shuttle_srl = studentObj.getString("student_shuttle_srl"); String student_birthday = studentObj.getString("student_birthday"); String student_parent_key = studentObj.getString("student_parent_key"); Children children = new Children(student_srl, member_srl, member_name, member_picture, SlidingMenuMaker.getProfile().member_name, member_org_srl, student_class_srl, student_parent_srl, student_teacher_srl, student_shuttle_srl, student_birthday, student_parent_key); children.organizationName = ((EditText)findViewById(R.id.addchild_org)).getText().toString(); children.className = ((EditText)findViewById(R.id.addchild_class)).getText().toString(); SlidingMenuMaker.getProfile().addChildrenByRequest(member_srl, children); new Thread(new Runnable() { @Override public void run() { runOnUiThread(new Runnable(){ @Override public void run() { Toast.makeText(AddComponentActivity.this, "�ڳడ �߰��Ǿ����ϴ�!", Toast.LENGTH_SHORT).show(); finish(); } }); } }).start(); } else if(uri.equals("Class/setClass")) { String nativeData = jsonObj.getString("data"); jsonObj = new JSONObject(nativeData); String class_srl = jsonObj.getString("class_srl"); String class_org_srl = jsonObj.getString("class_org_srl"); final String class_name = jsonObj.getString("class_name"); String class_status = jsonObj.getString("class_status"); SlidingMenuMaker.getProfile().addClassByRequest(class_srl, new OrgClass(class_srl, class_org_srl, class_name)); new Thread(new Runnable() { @Override public void run() { runOnUiThread(new Runnable(){ @Override public void run() { Toast.makeText(AddComponentActivity.this, "���ο� ���� �����Ǿ����ϴ�.\n"+class_name, Toast.LENGTH_SHORT).show(); finish(); } }); } }).start(); } } else { } } catch(JSONException e) { StringWriter errors = new StringWriter(); e.printStackTrace(new PrintWriter(errors)); String s = errors.toString(); System.out.println(s); } } }