Advertisement
rickyc81

DettagliStudio

Oct 8th, 2013
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 16.64 KB | None | 0 0
  1. package it.naftaism.gestionalestudiodentistico;
  2.  
  3. import java.text.SimpleDateFormat;
  4. import java.util.ArrayList;
  5. import java.util.Calendar;
  6. import java.util.Locale;
  7.  
  8. import android.app.Activity;
  9. import android.app.AlertDialog;
  10. import android.app.Dialog;
  11. import android.content.DialogInterface;
  12. import android.content.Intent;
  13. import android.database.Cursor;
  14. import android.os.Bundle;
  15. import android.text.Editable;
  16. import android.view.Menu;
  17. import android.view.MenuInflater;
  18. import android.view.MenuItem;
  19. import android.view.View;
  20. import android.view.View.OnClickListener;
  21. import android.view.WindowManager;
  22. import android.view.inputmethod.InputMethodManager;
  23. import android.widget.AdapterView;
  24. import android.widget.ArrayAdapter;
  25. import android.widget.Button;
  26. import android.widget.DatePicker;
  27. import android.widget.EditText;
  28. import android.widget.ImageView;
  29. import android.widget.LinearLayout;
  30. import android.widget.ListView;
  31. import android.widget.TextView;
  32.  
  33. public class DettagliStudio extends Activity {
  34.     public boolean onCreateOptionsMenu(Menu menu) {
  35.         MenuInflater inflater = getMenuInflater();
  36.         inflater.inflate(R.menu.menu_2, menu);
  37.  
  38.         return true;
  39.     }
  40.  
  41.     @Override
  42.     public boolean onPrepareOptionsMenu(Menu menu) {
  43.         return super.onPrepareOptionsMenu(menu);
  44.     }
  45.  
  46.     @Override
  47.     public boolean onOptionsItemSelected(MenuItem item) {
  48.         switch (item.getItemId()) {
  49.  
  50.         case R.id.calendar:
  51.             Intent intent = new Intent(Intent.ACTION_VIEW);
  52.             startActivity(intent);
  53.             // intent.putExtra("allDay", true);
  54.             // intent.putExtra("rrule", "FREQ=YEARLY");
  55.             // intent.putExtra("endTime",
  56.             // cal.getTimeInMillis() + 60 * 60 * 1000);
  57.             break;
  58.  
  59.         case R.id.calendarAdd:
  60.             Calendar cal = Calendar.getInstance();
  61.             Intent intent2 = new Intent(Intent.ACTION_EDIT);
  62.             intent2.setType("vnd.android.cursor.item/event");
  63.             intent2.putExtra("beginTime", cal.getTimeInMillis());
  64.             intent2.putExtra("title", "(Gest. St. Dentistico) Appuntamento");
  65.             startActivity(intent2);
  66.             break;
  67.  
  68.         case R.id.principale:
  69.             Intent backmainMenu = new Intent(getApplicationContext(),
  70.                     GestionaleStudioDentistico.class);
  71.             startActivity(backmainMenu);
  72.             break;
  73.         case R.id.exit:
  74.             Intent intent22 = new Intent(getApplicationContext(),
  75.                     GestionaleStudioDentistico.class);
  76.             intent22.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  77.             intent22.putExtra("EXIT", true);
  78.             startActivity(intent22);
  79.             break;
  80.  
  81.         case R.id.credits:
  82.             creditsDialog();
  83.             break;
  84.  
  85.         case R.id.contacts:
  86.             creditsDialog();
  87.             break;
  88.  
  89.         }
  90.         return true;
  91.     }
  92.  
  93.     public void creditsDialog() {
  94.  
  95.         AlertDialog.Builder builder = new AlertDialog.Builder(
  96.                 DettagliStudio.this);
  97.         View mView = View.inflate(this, R.layout.credits_alert_dialog, null);
  98.         ImageView mImage = (ImageView) mView.findViewById(R.id.mImage);
  99.         mImage.setImageResource(R.drawable.cchiuppilu);
  100.         builder.setView(mView);
  101.         builder.setNeutralButton("Ok", new DialogInterface.OnClickListener() {
  102.             public void onClick(DialogInterface dialog, int id) {
  103.                 dialog.cancel();
  104.             }
  105.         });
  106.         builder.show();
  107.     }
  108.  
  109.     @Override
  110.     protected void onCreate(Bundle savedInstanceState) {
  111.  
  112.         super.onCreate(savedInstanceState);
  113.         setContentView(R.layout.dettaglistudio);
  114.         this.getWindow().setSoftInputMode(
  115.                 WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
  116.         final DatabaseHelper database = new DatabaseHelper(
  117.                 getApplicationContext());
  118.         database.open();
  119.  
  120.         final ListView listViewStudio = (ListView) findViewById(R.id.studioList);
  121.  
  122.         Intent intent = getIntent();
  123.         final String idStudio = intent.getStringExtra("idStudio");
  124.  
  125.         final String nomeStudio = database.risolviNomeStudio(idStudio);
  126.  
  127.         final EditText valoreRicerca = (EditText) findViewById(R.id.valoreRicerca);
  128.  
  129.         convertiIdInStudio(database, idStudio);
  130.         listaNomiCognomi(database, nomeStudio, listViewStudio);
  131.  
  132.         // TODO BUTTONS BEGINS
  133.         // ---------------------------------------------------------------------------------------BUTTON----------------------
  134.  
  135.         final Button aggiungiClienteBtn = (Button) findViewById(R.id.aggiungiClienteBtn);
  136.         aggiungiClienteBtn.setBackgroundResource(R.layout.button);
  137.         aggiungiClienteBtn.setOnClickListener(new OnClickListener() {
  138.             public void onClick(View v) {
  139.  
  140.                 Intent aggiungiCliente = new Intent(getApplicationContext(),
  141.                         AggiungiCliente.class);
  142.                 // String nomeStudio = database.risolviNomeStudio(idStudio);
  143.                 aggiungiCliente.putExtra("idStudio", idStudio);
  144.  
  145.                 startActivity(aggiungiCliente);
  146.             }
  147.         });
  148.         final Button annullaCliente = (Button) findViewById(R.id.annullaCliente);
  149.         annullaCliente.setBackgroundResource(R.layout.button);
  150.         annullaCliente.setOnClickListener(new OnClickListener() {
  151.             public void onClick(View v) {
  152.  
  153.                 Intent annullaCli = new Intent(getApplicationContext(),
  154.                         ApriStudio.class);
  155.  
  156.                 startActivity(annullaCli);
  157.             }
  158.         });
  159.         final Button clearBtn = (Button) findViewById(R.id.clearBtn);
  160.         clearBtn.setBackgroundResource(R.layout.button);
  161.         clearBtn.setOnClickListener(new OnClickListener() {
  162.             public void onClick(View v) {
  163.                 valoreRicerca.setText("");
  164.                 finish();
  165.                 startActivity(getIntent());
  166.             }
  167.         });
  168.  
  169.         final Button cercaBtn = (Button) findViewById(R.id.cercaBtn);
  170.  
  171.         cercaBtn.setOnClickListener(new OnClickListener() {
  172.             public void onClick(View v) {
  173.                 hideSoftKeyboard(DettagliStudio.this);
  174.                 database.close();
  175.                 database.open();
  176.                 String stringaRicerca = valoreRicerca.getText().toString();
  177.  
  178.                 Cursor risultatiCur = database.cercaInStudio(stringaRicerca,
  179.                         nomeStudio);
  180.  
  181.                 ArrayList<String> idList = new ArrayList<String>();
  182.                 ArrayList<String> nomiList = new ArrayList<String>();
  183.                 ArrayList<String> cognomiList = new ArrayList<String>();
  184.  
  185.                 if (risultatiCur != null) {
  186.                     if (risultatiCur.moveToFirst()) {
  187.                         do {
  188.                             String _id = risultatiCur.getString(risultatiCur
  189.                                     .getColumnIndex("_id"));
  190.  
  191.                             String nomi = risultatiCur.getString(risultatiCur
  192.                                     .getColumnIndex("nomeCliente"));
  193.  
  194.                             String cognomi = risultatiCur
  195.                                     .getString(risultatiCur
  196.                                             .getColumnIndex("cognomeCliente"));
  197.                             System.out.println("Trovato " + nomi + " "
  198.                                     + cognomi);
  199.  
  200.                             idList.add(_id);
  201.                             nomiList.add(nomi);
  202.                             cognomiList.add(cognomi);
  203.                         } while (risultatiCur.moveToNext());
  204.                     }
  205.                 }
  206.  
  207.                 final String[] arIdCli = new String[nomiList.size()];
  208.                 final String[] arNomiCli = new String[nomiList.size()];
  209.                 final String[] arCognCli = new String[nomiList.size()];
  210.                 final String[] arNomiCognomiCli = new String[nomiList.size()];
  211.  
  212.                 for (int i = 0; i < nomiList.size(); i++) {
  213.                     arIdCli[i] = idList.get(i);
  214.                     arNomiCli[i] = nomiList.get(i);
  215.                     arCognCli[i] = cognomiList.get(i);
  216.                     arNomiCognomiCli[i] = arNomiCli[i] + " " + arCognCli[i];
  217.                 }
  218.  
  219.                 risultatiDialog(database, arNomiCognomiCli, arIdCli,
  220.                         listViewStudio);
  221.                 // Intent cercaInStudio = new
  222.                 // Intent(getApplicationContext(),
  223.                 // ApriStudio.class);
  224.                 // startActivity(cercaInStudio);
  225.             }
  226.         });
  227.  
  228.     }
  229.  
  230.     public void risultatiDialog(final DatabaseHelper database,
  231.             String[] nomiCognomi, final String[] idClienti,
  232.             ListView listViewStudio) {
  233.  
  234.         ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,
  235.                 android.R.layout.simple_list_item_1, nomiCognomi);
  236.         listViewStudio.setAdapter(arrayAdapter);
  237.         listViewStudio.setClickable(true);
  238.         listViewStudio
  239.                 .setOnItemClickListener(new AdapterView.OnItemClickListener() {
  240.                     @Override
  241.                     public void onItemClick(AdapterView<?> arg0, View arg1,
  242.                             int cliente, long var2) {
  243.                         String idCliente = String.valueOf(idClienti[cliente]);
  244.                         Intent dettagliCliente = new Intent(
  245.                                 getApplicationContext(), DettagliCliente.class);
  246.                         dettagliCliente.putExtra("idCliente", idCliente);
  247.                         startActivity(dettagliCliente);
  248.                     }
  249.                 });
  250.         listViewStudio
  251.                 .setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
  252.                     @Override
  253.                     public boolean onItemLongClick(AdapterView<?> arg0,
  254.                             View arg1, int clienteS, long var2) {
  255.                         String idCliente = String.valueOf(idClienti[clienteS]);
  256.  
  257.                         System.out.println("Long click in item");
  258.                         gestisciCliente(database, idCliente);
  259.                         return true;
  260.                     }
  261.                 });
  262.  
  263.     }
  264.  
  265.     public void convertiIdInStudio(final DatabaseHelper database,
  266.             final String idStudio) {
  267.         String nomeStudio = database.risolviNomeStudio(idStudio);
  268.         TextView dettaglioStduioView = (TextView) findViewById(R.id.dettaglioStduioView);
  269.         dettaglioStduioView.setText(nomeStudio);
  270.     }
  271.  
  272.     // ************************ CODICE CHE MI INTERESSA
  273.     // *************************** //
  274.  
  275.     public void listaNomiCognomi(final DatabaseHelper database,
  276.             String nomeStudio, final ListView listViewStudio) {
  277.         final Cursor curNomiCognomi = database.fetchNomiCognomi(nomeStudio);
  278.  
  279.         ArrayList<String> idList = new ArrayList<String>();
  280.         ArrayList<String> nomiList = new ArrayList<String>();
  281.         ArrayList<String> cognomiList = new ArrayList<String>();
  282.  
  283.         if (curNomiCognomi != null) {
  284.             if (curNomiCognomi.moveToFirst()) {
  285.                 do {
  286.                     String _id = curNomiCognomi.getString(curNomiCognomi
  287.                             .getColumnIndex("_id"));
  288.  
  289.                     String nomi = curNomiCognomi.getString(curNomiCognomi
  290.                             .getColumnIndex("nomeCliente"));
  291.  
  292.                     String cognomi = curNomiCognomi.getString(curNomiCognomi
  293.                             .getColumnIndex("cognomeCliente"));
  294.  
  295.                     idList.add(_id);
  296.                     nomiList.add(nomi);
  297.                     cognomiList.add(cognomi);
  298.                 } while (curNomiCognomi.moveToNext());
  299.             }
  300.         }
  301.  
  302.         if (nomiList.size() < 1) {
  303.             TextView elencoClienti = (TextView) findViewById(R.id.elencoClienti);
  304.             elencoClienti.setText("Elenco clienti vuoto!");
  305.         }
  306.         if (nomiList.size() > 0) {
  307.             // TODO CONTROLLARE EDITTEXT
  308.  
  309.             final String[] arIdCli = new String[nomiList.size()];
  310.             final String[] arNomiCli = new String[nomiList.size()];
  311.             final String[] arCognCli = new String[nomiList.size()];
  312.             final String[] arNomiCognomiCli = new String[nomiList.size()];
  313.  
  314.             for (int i = 0; i < nomiList.size(); i++) {
  315.                 arIdCli[i] = idList.get(i);
  316.                 arNomiCli[i] = nomiList.get(i);
  317.                 arCognCli[i] = cognomiList.get(i);
  318.                 arNomiCognomiCli[i] = arNomiCli[i] + " " + arCognCli[i];
  319.             }
  320.  
  321.             ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,
  322.                     android.R.layout.simple_list_item_1, arNomiCognomiCli);
  323.             listViewStudio.setAdapter(arrayAdapter);
  324.             listViewStudio.setClickable(true);
  325.             listViewStudio
  326.                     .setOnItemClickListener(new AdapterView.OnItemClickListener() {
  327.                         @Override
  328.                         public void onItemClick(AdapterView<?> arg0, View arg1,
  329.                                 int cliente, long var2) {
  330.                             String idCliente = String.valueOf(arIdCli[cliente]);
  331.                             Intent dettagliCliente = new Intent(
  332.                                     getApplicationContext(),
  333.                                     DettagliCliente.class);
  334.                             dettagliCliente.putExtra("idCliente", idCliente);
  335.                             startActivity(dettagliCliente);
  336.                         }
  337.  
  338.                     });
  339.             listViewStudio
  340.                     .setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
  341.                         @Override
  342.                         public boolean onItemLongClick(AdapterView<?> arg0,
  343.                                 View arg1, int clienteS, long var2) {
  344.                             String idCliente = String
  345.                                     .valueOf(arIdCli[clienteS]);
  346.  
  347.                             System.out.println("Long click in item");
  348.                             gestisciCliente(database, idCliente);
  349.                             return true;
  350.                         }
  351.                     });
  352.         }
  353.  
  354.     }
  355.  
  356.     // ******************************** FINE
  357.     // ************************************ //
  358.  
  359.     public void gestisciCliente(final DatabaseHelper database,
  360.             final String idCliente) {
  361.  
  362.         AlertDialog.Builder alert = new AlertDialog.Builder(this);
  363.  
  364.         LinearLayout layout = new LinearLayout(this);
  365.         layout.setOrientation(LinearLayout.VERTICAL);
  366.  
  367.         alert.setTitle("Gestione Cliente");
  368.         alert.setMessage("Cosa si desidera fare?");
  369.  
  370.         String data = database.risolviDataDiNascita(idCliente);
  371.  
  372.         final TextView nomeV = new TextView(this);
  373.         nomeV.setText("Nome:");
  374.  
  375.         final EditText input = new EditText(this);
  376.         input.setText(database.risolviNomeCliente(idCliente));
  377.  
  378.         final TextView cognomeV = new TextView(this);
  379.         cognomeV.setText("Cognome:");
  380.  
  381.         final EditText input2 = new EditText(this);
  382.         input2.setText(database.risolviCognomeCliente(idCliente));
  383.  
  384.         final TextView dataV = new TextView(this);
  385.         dataV.setText("Data di nascita:");
  386.  
  387.         final DatePicker dat = new DatePicker(this);
  388.  
  389.         String dataC = controllaData(data);
  390.  
  391.         String[] dataSplit = dataC.split("/");
  392.         String giornoSplitStr = dataSplit[0];
  393.         String meseSplitStr = dataSplit[1];
  394.         String annoSplitStr = dataSplit[2];
  395.  
  396.         Integer giornoSplit = Integer.valueOf(giornoSplitStr);
  397.         Integer meseSplit = Integer.valueOf(meseSplitStr);
  398.         meseSplit = meseSplit - 1;
  399.         Integer annoSplit = Integer.valueOf(annoSplitStr);
  400.  
  401.         dat.init(annoSplit, meseSplit, giornoSplit, null);
  402.  
  403.         layout.addView(input);
  404.         layout.addView(input2);
  405.         layout.addView(dat);
  406.  
  407.         alert.setView(layout);
  408.  
  409.         alert.setNegativeButton("Modifica",
  410.                 new DialogInterface.OnClickListener() {
  411.                     public void onClick(DialogInterface dialog, int whichButton) {
  412.  
  413.                         Editable nuovoNomeInput = input.getText();
  414.                         String nuovoNome = nuovoNomeInput.toString();
  415.  
  416.                         Editable nuovoCognomeInput = input2.getText();
  417.                         String nuovoCognome = nuovoCognomeInput.toString();
  418.  
  419.                         int day = dat.getDayOfMonth();
  420.                         int month = dat.getMonth() + 1;
  421.                         int year = dat.getYear();
  422.                         String nuovaData = (day + "/" + month + "/" + year);
  423.  
  424.                         database.modificaCliente(idCliente, nuovoNome,
  425.                                 nuovoCognome, nuovaData);
  426.                         rinominatoDialog(database);
  427.                         dialog.cancel();
  428.                     }
  429.                 });
  430.  
  431.         alert.setNeutralButton("Elimina",
  432.                 new DialogInterface.OnClickListener() {
  433.                     public void onClick(DialogInterface dialog, int id) {
  434.                         eliminaCliente(database, idCliente);
  435.                         dialog.cancel();
  436.                     }
  437.                 });
  438.         alert.setPositiveButton("Annulla",
  439.                 new DialogInterface.OnClickListener() {
  440.                     public void onClick(DialogInterface dialog, int id) {
  441.                         dialog.cancel();
  442.                     }
  443.                 });
  444.         alert.show();
  445.     }
  446.  
  447.     public void eliminaCliente(final DatabaseHelper database,
  448.             final String idCliente) {
  449.  
  450.         AlertDialog.Builder builder = new AlertDialog.Builder(
  451.                 DettagliStudio.this);
  452.         builder.setTitle("Conferma eliminazione?");
  453.         builder.setIcon(R.drawable.ic_launcher);
  454.         builder.setNegativeButton("Annulla",
  455.                 new DialogInterface.OnClickListener() {
  456.                     public void onClick(DialogInterface dialog, int id) {
  457.                         finish();
  458.                         startActivity(getIntent());
  459.                         dialog.cancel();
  460.                     }
  461.                 });
  462.         builder.setMessage("Verrà eliminato il nominativo e tutti i dati ad esso collegati!");
  463.         builder.setPositiveButton("Conferma",
  464.                 new DialogInterface.OnClickListener() {
  465.                     public void onClick(DialogInterface dialog, int id) {
  466.                         database.eliminaCliente(idCliente);
  467.                         clienteEliminatoDialog(database);
  468.                         dialog.cancel();
  469.                     }
  470.                 });
  471.         builder.show();
  472.     }
  473.  
  474.     public void clienteEliminatoDialog(final DatabaseHelper database) {
  475.  
  476.         AlertDialog.Builder builder = new AlertDialog.Builder(
  477.                 DettagliStudio.this);
  478.         builder.setTitle("Elimina Cliente:");
  479.         builder.setIcon(R.drawable.ic_launcher);
  480.         builder.setMessage("Il cliente è stato eliminato!");
  481.         builder.setNeutralButton("Ok", new DialogInterface.OnClickListener() {
  482.             public void onClick(DialogInterface dialog, int id) {
  483.                 finish();
  484.                 startActivity(getIntent());
  485.                 dialog.cancel();
  486.             }
  487.         });
  488.         builder.show();
  489.     }
  490.  
  491.     public void rinominatoDialog(final DatabaseHelper database) {
  492.  
  493.         AlertDialog.Builder builder = new AlertDialog.Builder(
  494.                 DettagliStudio.this);
  495.         builder.setTitle("Modifica dati Cliente:");
  496.         builder.setIcon(R.drawable.ic_launcher);
  497.         builder.setMessage("I dati del cliente sono stati modificati!");
  498.         builder.setNeutralButton("Ok", new DialogInterface.OnClickListener() {
  499.             public void onClick(DialogInterface dialog, int id) {
  500.                 finish();
  501.                 startActivity(getIntent());
  502.                 dialog.cancel();
  503.             }
  504.         });
  505.         builder.show();
  506.     }
  507.  
  508.     public String controllaData(final String data) {
  509.         if (data.equals("")) {
  510.  
  511.             Calendar calendar = Calendar.getInstance();
  512.             SimpleDateFormat formatta = new SimpleDateFormat("dd/MM/yyyy",
  513.                     Locale.ITALY);
  514.             String data1 = formatta.format(calendar.getTime());
  515.  
  516.             return data1;
  517.         } else {
  518.             String data1 = data;
  519.             return data1;
  520.         }
  521.     }
  522.  
  523.     public static void hideSoftKeyboard(Activity activity) {
  524.         InputMethodManager inputMethodManager = (InputMethodManager) activity
  525.                 .getSystemService(Activity.INPUT_METHOD_SERVICE);
  526.         inputMethodManager.hideSoftInputFromWindow(activity.getCurrentFocus()
  527.                 .getWindowToken(), 0);
  528.     }
  529.  
  530.     @Override
  531.     public void onDestroy() {
  532.         super.onDestroy();
  533.         System.out.println("Distrutto");
  534.     }
  535. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement