diff --git a/.idea/misc.xml b/.idea/misc.xml
index b15ecee..b8dc4d6 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -41,7 +41,7 @@
-
+
diff --git a/GSKMTOrange/src/main/AndroidManifest.xml b/GSKMTOrange/src/main/AndroidManifest.xml
index 9cc9aed..5543158 100644
--- a/GSKMTOrange/src/main/AndroidManifest.xml
+++ b/GSKMTOrange/src/main/AndroidManifest.xml
@@ -148,6 +148,10 @@
+
diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java
index 6d3415f..4cd7fdb 100644
--- a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java
+++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/Database/GSKOrangeDB.java
@@ -527,12 +527,15 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
public void updateCheckoutStatus(String id, String status) {
ContentValues values = new ContentValues();
+ ContentValues values1 = new ContentValues();
try {
values.put("CHECKOUT_STATUS", status);
+ values1.put(CommonString.KEY_COVERAGE_STATUS, status);
db.update(CommonString.KEY_JOURNEY_PLAN, values, CommonString.KEY_STORE_ID + "='" + id + "'", null);
+ db.update(CommonString.TABLE_COVERAGE_DATA, values1, CommonString.KEY_STORE_ID + "='" + id + "'", null);
} catch (Exception ex) {
@@ -2720,4 +2723,84 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
return false;
}
+
+ public CoverageBean getCoverageSpecificData(String visitdate, String store_id) {
+
+ CoverageBean sb = new CoverageBean();
+ Cursor dbcursor = null;
+
+ try {
+
+ dbcursor = db.rawQuery("SELECT * from " + CommonString.TABLE_COVERAGE_DATA + " where "
+ + CommonString.KEY_VISIT_DATE + "='" + visitdate + "' AND " + CommonString.KEY_STORE_ID +" ='" + store_id +"'",
+ null);
+
+
+ if (dbcursor != null) {
+
+ dbcursor.moveToFirst();
+ while (!dbcursor.isAfterLast()) {
+ // CoverageBean sb = new CoverageBean();
+
+ sb.setStoreId(dbcursor.getString(dbcursor
+ .getColumnIndexOrThrow(CommonString.KEY_STORE_ID)));
+ sb.setUserId((dbcursor.getString(dbcursor
+ .getColumnIndexOrThrow(CommonString.KEY_USER_ID))));
+ sb.setInTime(((dbcursor.getString(dbcursor
+ .getColumnIndexOrThrow(CommonString.KEY_IN_TIME)))));
+ sb.setOutTime(((dbcursor.getString(dbcursor
+ .getColumnIndexOrThrow(CommonString.KEY_OUT_TIME)))));
+ sb.setVisitDate((((dbcursor.getString(dbcursor
+ .getColumnIndexOrThrow(CommonString.KEY_VISIT_DATE))))));
+ sb.setLatitude(((dbcursor.getString(dbcursor
+ .getColumnIndexOrThrow(CommonString.KEY_LATITUDE)))));
+ sb.setLongitude(((dbcursor.getString(dbcursor
+ .getColumnIndexOrThrow(CommonString.KEY_LONGITUDE)))));
+ sb.setStatus((((dbcursor.getString(dbcursor
+ .getColumnIndexOrThrow(CommonString.KEY_COVERAGE_STATUS))))));
+ sb.setImage((((dbcursor.getString(dbcursor
+ .getColumnIndexOrThrow(CommonString.KEY_IMAGE))))));
+ sb.setReason((((dbcursor.getString(dbcursor
+ .getColumnIndexOrThrow(CommonString.KEY_REASON))))));
+ sb.setReasonid((((dbcursor.getString(dbcursor
+ .getColumnIndexOrThrow(CommonString.KEY_REASON_ID))))));
+ sb.setMID(Integer.parseInt(((dbcursor.getString(dbcursor
+ .getColumnIndexOrThrow(CommonString.KEY_ID))))));
+ if (dbcursor.getString(dbcursor
+ .getColumnIndexOrThrow(CommonString.KEY_COVERAGE_REMARK)) == null) {
+ sb.setRemark("");
+ } else {
+ sb.setRemark((((dbcursor.getString(dbcursor
+ .getColumnIndexOrThrow(CommonString.KEY_COVERAGE_REMARK))))));
+ }
+
+ //list.add(sb);
+ dbcursor.moveToNext();
+ }
+ dbcursor.close();
+ return sb;
+ }
+ } catch (Exception e) {
+ Log.d("Exception get JCP!", e.toString());
+ return sb;
+ }
+ return sb;
+ }
+
+ //update out time
+ public void updateCheckoutOuttime(String id, String out_time) {
+
+ ContentValues values = new ContentValues();
+
+ try {
+
+ values.put(CommonString.KEY_OUT_TIME, out_time);
+
+ db.update(CommonString.KEY_JOURNEY_PLAN, values, CommonString.KEY_STORE_ID + "='" + id + "'", null);
+
+ } catch (Exception ex) {
+
+ }
+
+ }
}
diff --git a/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/CheckoutActivity.java b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/CheckoutActivity.java
new file mode 100644
index 0000000..93cf59e
--- /dev/null
+++ b/GSKMTOrange/src/main/java/cpm/com/gskmtorange/dailyentry/CheckoutActivity.java
@@ -0,0 +1,366 @@
+package cpm.com.gskmtorange.dailyentry;
+
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.SharedPreferences;
+import android.content.res.Configuration;
+import android.content.res.Resources;
+import android.os.AsyncTask;
+import android.os.Bundle;
+import android.preference.PreferenceManager;
+import android.support.design.widget.FloatingActionButton;
+import android.support.design.widget.Snackbar;
+import android.support.v7.app.AppCompatActivity;
+import android.support.v7.widget.Toolbar;
+import android.view.View;
+import android.widget.ProgressBar;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import org.ksoap2.SoapEnvelope;
+import org.ksoap2.serialization.SoapObject;
+import org.ksoap2.serialization.SoapSerializationEnvelope;
+import org.ksoap2.transport.HttpTransportSE;
+
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Locale;
+
+import cpm.com.gskmtorange.Database.GSKOrangeDB;
+import cpm.com.gskmtorange.GetterSetter.CoverageBean;
+import cpm.com.gskmtorange.R;
+import cpm.com.gskmtorange.constant.CommonString;
+import cpm.com.gskmtorange.download.DownloadActivity;
+
+public class CheckoutActivity extends AppCompatActivity {
+
+ private Dialog dialog;
+ private ProgressBar pb;
+ private TextView percentage, message;
+ private String username, visit_date, store_id, store_intime;;
+ private Data data;
+ private SharedPreferences preferences = null;
+
+ GSKOrangeDB db;
+ String userId, culture_id;
+
+ CoverageBean coverageBean;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_checkout);
+ Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
+ setSupportActionBar(toolbar);
+
+ db = new GSKOrangeDB(this);
+ db.open();
+
+ preferences = PreferenceManager.getDefaultSharedPreferences(this);
+ visit_date = preferences.getString(CommonString.KEY_DATE, null);
+ username = preferences.getString(CommonString.KEY_USERNAME, null);
+
+ updateResources(getApplicationContext(),preferences.getString(CommonString.KEY_LANGUAGE, ""));
+
+ String store_id = getIntent().getStringExtra(CommonString.KEY_STORE_ID);
+
+ coverageBean = db.getCoverageSpecificData(visit_date,store_id);
+ /* FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
+ fab.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
+ .setAction("Action", null).show();
+ }
+ });*/
+
+ new BackgroundTask(CheckoutActivity.this).execute();
+ }
+
+ private class BackgroundTask extends AsyncTask {
+ private Context context;
+
+ BackgroundTask(Context context) {
+ this.context = context;
+ }
+
+ @Override
+ protected void onPreExecute() {
+ // TODO Auto-generated method stub
+ super.onPreExecute();
+
+ dialog = new Dialog(context);
+ dialog.setContentView(R.layout.custom);
+ dialog.setTitle("Sending Checkout Data");
+ dialog.setCancelable(false);
+ dialog.show();
+ pb = (ProgressBar) dialog.findViewById(R.id.progressBar1);
+ percentage = (TextView) dialog.findViewById(R.id.percentage);
+ message = (TextView) dialog.findViewById(R.id.message);
+
+ }
+
+ @SuppressWarnings("deprecation")
+ @Override
+ protected String doInBackground(Void... params) {
+ // TODO Auto-generated method stub
+
+ try {
+
+ //String result = "";
+ data = new Data();
+
+ data.value = 20;
+ data.name = "Checked out Data Uploading";
+ publishProgress(data);
+
+ String onXML = "[STORE_CHECK_OUT_STATUS][USER_ID]"
+ + username
+ + "[/USER_ID]" + "[STORE_ID]"
+ + store_id
+ + "[/STORE_ID][LATITUDE]"
+ + coverageBean.getLatitude()
+ + "[/LATITUDE][LOGITUDE]"
+ + coverageBean.getLongitude()
+ + "[/LOGITUDE][CHECKOUT_DATE]"
+ + visit_date
+ + "[/CHECKOUT_DATE][CHECK_OUTTIME]"
+ + getCurrentTime()
+ + "[/CHECK_OUTTIME][CHECK_INTIME]"
+ + store_intime
+ + "[/CHECK_INTIME][CREATED_BY]"
+ + username
+ + "[/CREATED_BY][/STORE_CHECK_OUT_STATUS]";
+
+ final String sos_xml = "[DATA]" + onXML
+ + "[/DATA]";
+
+ SoapObject request = new SoapObject(
+ CommonString.NAMESPACE,
+ "Upload_Store_ChecOut_Status");
+ request.addProperty("onXML", sos_xml);
+ /*request.addProperty("KEYS", "CHECKOUT_STATUS");
+ request.addProperty("USERNAME", username);*/
+ //request.addProperty("MID", mid);
+
+ SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
+ SoapEnvelope.VER11);
+ envelope.dotNet = true;
+ envelope.setOutputSoapObject(request);
+
+ HttpTransportSE androidHttpTransport = new HttpTransportSE(
+ CommonString.URL);
+
+ androidHttpTransport.call(
+ CommonString.SOAP_ACTION+"Upload_Store_ChecOut_Status",
+ envelope);
+ Object result = (Object) envelope.getResponse();
+
+ if (!result.toString().equalsIgnoreCase(
+ CommonString.KEY_SUCCESS)) {
+ return "Upload_Store_ChecOut_Status";
+ }
+
+ if (result.toString().equalsIgnoreCase(
+ CommonString.KEY_NO_DATA)) {
+ return "Upload_Store_ChecOut_Status";
+ }
+
+ if (result.toString().equalsIgnoreCase(
+ CommonString.KEY_FAILURE)) {
+ return "Upload_Store_ChecOut_Status";
+ }
+
+
+ data.value = 100;
+ data.name = "Checkout Done";
+ publishProgress(data);
+
+ if (result.toString()
+ .equalsIgnoreCase(CommonString.KEY_SUCCESS)) {
+
+ db.updateCheckoutOuttime(store_id, getCurrentTime());
+
+ SharedPreferences.Editor editor = preferences.edit();
+ editor.putString(CommonString.KEY_STORE_ID, "");
+ editor.putString(CommonString.KEY_STORE_NAME, "");
+ editor.putString(CommonString.KEY_VISIT_DATE, "");
+ editor.putString(CommonString.KEY_CAMERA_ALLOW, "");
+ editor.putString(CommonString.KEY_CHECKOUT_STATUS, "");
+ editor.putString(CommonString.KEY_CLASS_ID, "");
+ editor.putString(CommonString.KEY_EMP_ID, "");
+ editor.putString(CommonString.KEY_GEO_TAG, "");
+ editor.putString(CommonString.KEY_KEYACCOUNT_ID, "");
+ editor.putString(CommonString.KEY_STORETYPE_ID, "");
+ editor.putString(CommonString.KEY_UPLOAD_STATUS, "");
+
+ editor.commit();
+
+ db.updateCheckoutStatus(store_id, CommonString.KEY_C);
+
+ } else {
+ if (result.toString().equalsIgnoreCase(
+ CommonString.KEY_FALSE)) {
+ return "Upload_Store_ChecOut_Status";
+ }
+
+
+ }
+ return CommonString.KEY_SUCCESS;
+
+ } catch (MalformedURLException e) {
+
+ runOnUiThread(new Runnable() {
+
+ @Override
+ public void run() {
+ // TODO Auto-generated method stub
+
+ showAlert(CommonString.MESSAGE_EXCEPTION);
+ }
+ });
+
+ } catch (IOException e) {
+
+ // counter++;
+ runOnUiThread(new Runnable() {
+
+ @Override
+ public void run() {
+
+ showAlert(CommonString.MESSAGE_SOCKETEXCEPTION);
+ // TODO Auto-generated method stub
+ /*
+ * if (counter < 10) { new
+ * BackgroundTask(CheckOutUploadActivity
+ * .this).execute(); } else { message.showMessage();
+ * counter =1; }
+ */
+ }
+ });
+ } catch (Exception e) {
+
+ runOnUiThread(new Runnable() {
+
+ @Override
+ public void run() {
+ // TODO Auto-generated method stub
+ showAlert(CommonString.MESSAGE_EXCEPTION);
+ }
+ });
+ }
+
+ return "";
+ }
+
+ @Override
+ protected void onProgressUpdate(Data... values) {
+ // TODO Auto-generated method stub
+
+ pb.setProgress(values[0].value);
+ percentage.setText(values[0].value + "%");
+ message.setText(values[0].name);
+
+ }
+
+ @Override
+ protected void onPostExecute(String result) {
+ // TODO Auto-generated method stub
+ super.onPostExecute(result);
+
+ dialog.dismiss();
+
+ if (result.equals(CommonString.KEY_SUCCESS)) {
+
+ showAlert(getString(R.string.checkout_successful));
+
+ finish();
+
+ } else if (!result.equals("")) {
+ /*AlertMessage message = new AlertMessage(
+ CheckOutStoreActivity.this, CommonString1.ERROR + result, "success", null);
+ message.showMessage();*/
+
+ Toast.makeText(getApplicationContext(), "Network Error Try Again", Toast.LENGTH_SHORT).show();
+ finish();
+
+ }
+
+ }
+
+ }
+
+ class Data {
+ int value;
+ String name;
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ updateResources(getApplicationContext(),preferences.getString(CommonString.KEY_LANGUAGE, ""));
+ }
+
+
+ private static boolean updateResources(Context context, String language) {
+
+ String lang ;
+
+ if(language.equalsIgnoreCase("English")){
+ lang = "EN";
+ }
+ else if(language.equalsIgnoreCase("UAE")) {
+ lang = "AR";
+ }
+ else {
+ lang = "TR";
+ }
+
+ Locale locale = new Locale(lang);
+ Locale.setDefault(locale);
+
+ Resources resources = context.getResources();
+
+ Configuration configuration = resources.getConfiguration();
+ configuration.locale = locale;
+
+ resources.updateConfiguration(configuration, resources.getDisplayMetrics());
+
+ return true;
+ }
+
+ public String getCurrentTime() {
+ Calendar m_cal = Calendar.getInstance();
+
+ SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss:mmm");
+ String cdate = formatter.format(m_cal.getTime());
+
+ /* String intime = m_cal.get(Calendar.HOUR_OF_DAY) + ":"
+ + m_cal.get(Calendar.MINUTE) + ":" + m_cal.get(Calendar.SECOND);*/
+
+ return cdate;
+ }
+
+ public void showAlert(String str) {
+
+ AlertDialog.Builder builder = new AlertDialog.Builder(CheckoutActivity.this);
+ builder.setTitle("Parinaam");
+ builder.setMessage(str).setCancelable(false)
+ .setPositiveButton("OK", new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+
+ /* Intent i = new Intent(activity, StorelistActivity.class);
+ activity.startActivity(i);
+ activity.finish();*/
+ finish();
+
+ }
+ });
+ AlertDialog alert = builder.create();
+ alert.show();
+ }
+}
diff --git a/GSKMTOrange/src/main/res/layout/activity_checkout.xml b/GSKMTOrange/src/main/res/layout/activity_checkout.xml
new file mode 100644
index 0000000..f4f9108
--- /dev/null
+++ b/GSKMTOrange/src/main/res/layout/activity_checkout.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/GSKMTOrange/src/main/res/layout/content_checkout.xml b/GSKMTOrange/src/main/res/layout/content_checkout.xml
new file mode 100644
index 0000000..2be6ee3
--- /dev/null
+++ b/GSKMTOrange/src/main/res/layout/content_checkout.xml
@@ -0,0 +1,16 @@
+
+
+
+
diff --git a/GSKMTOrange/src/main/res/values/strings.xml b/GSKMTOrange/src/main/res/values/strings.xml
index e8e22e1..bcaaaae 100644
--- a/GSKMTOrange/src/main/res/values/strings.xml
+++ b/GSKMTOrange/src/main/res/values/strings.xml
@@ -167,5 +167,7 @@
Hello blank fragment
+ CheckoutActivity
+ Checkout Success