/** * Funcion que muestra mensaje de alerta ante el intento de eliminacion * * @param v * @param nombre Nombre de la tarea * @param idTarea Id de la tarea */ public void mensajeAlertaEliminar(String nombre, final String id, final String tipoCliente) { AlertDialog.Builder alert = new AlertDialog.Builder(getActivity()); String[] mensArray = null; Mensaje mensajeDialog = null; if (tipoCliente.equals("empresa")) { mensajeDialog = new Mensaje("eliminar_empresa"); } else if (tipoCliente.equals("empleado")) { mensajeDialog = new Mensaje("eliminar_empleado"); } else { Log.e( "ListaClientesCursorAdapter", "tipoCliente no soportado en funcion onClick de boton eliminar: " + tipoCliente); } try { mensArray = mensajeDialog.controlMensajesDialog(nombre); } catch (Exception e) { e.printStackTrace(); } alert.setMessage(mensArray[0]); alert.setTitle(mensArray[1]); alert.setNegativeButton( "CANCEL", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { dialog.cancel(); } }); alert.setPositiveButton( "OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { borrarCliente(id, tipoCliente); } }); AlertDialog alertDialog = alert.create(); alertDialog.show(); }
/** * Funcion que elimina de la BD y del list view empleados o empresas. * * @param id Id del empleado o empresa * @param tipoCliente Posibles valores: empresa o empleado */ private void borrarCliente(String id, String tipoCliente) { final LayoutInflater inflater = LayoutInflater.from(getActivity()); Boolean eliminado = false; Mensaje mToast = null; String mensajeError = null; String mensajeOk = null; if (tipoCliente.equals("empresa")) { EmpresaSqliteDao empresaDao = new EmpresaSqliteDao(); eliminado = empresaDao.eliminarEmpresa(getActivity(), id); mensajeOk = "ok_eliminado_empresa"; mensajeError = "error_eliminado_empresa"; } else if (tipoCliente.equals("empleado")) { EmpleadoSqliteDao empleadoDao = new EmpleadoSqliteDao(); eliminado = empleadoDao.eliminarEmpleado(getActivity(), id); mensajeOk = "ok_eliminado_empleado"; mensajeError = "error_eliminado_empleado"; } else { Log.e( "ListaClientesCursorAdapter", "tipoCliente no soportado en funcion borrarCliente: " + tipoCliente); } if (eliminado) { mToast = new Mensaje(inflater, (AplicacionActivity) getActivity(), mensajeOk); if (tipoCliente.equals("empresa")) { // Actualizamos los valores del cursor de la lista de empresas EmpresaSqliteDao empresaDao = new EmpresaSqliteDao(); listCursorAdapterEmpresas.changeCursor(empresaDao.buscarEmpresaFilter(getActivity(), null)); // Notificamos que la lista cambio listCursorAdapterEmpresas.notifyDataSetChanged(); // Cuando eliminamos a una empresa, eliminamos tambien a sus empleados // Actualizamos los valores del cursor de la lista de empleados if (listCursorAdapterEmpleados != null) { EmpleadoSqliteDao empleadoDao = new EmpleadoSqliteDao(); listCursorAdapterEmpleados.changeCursor( empleadoDao.buscarEmpleadoFilter(getActivity(), null)); // Notificamos que la lista cambio listCursorAdapterEmpleados.notifyDataSetChanged(); } } else if (tipoCliente.equals("empleado")) { // Actualizamos los valores del cursor de la lista de empleados EmpleadoSqliteDao empleadoDao = new EmpleadoSqliteDao(); listCursorAdapterEmpleados.changeCursor( empleadoDao.buscarEmpleadoFilter(getActivity(), null)); // Notificamos que la lista cambio listCursorAdapterEmpleados.notifyDataSetChanged(); } } else { mToast = new Mensaje(inflater, getActivity(), mensajeError); } try { mToast.controlMensajesToast(); } catch (Exception e) { e.printStackTrace(); } }