Sub Class_Globals
Private Root As B4XView 'ignore
Private xui As XUI 'ignore
Private const R As Double = 6371.0 ' Radio de la Tierra en kilómetros
Public WobbleMenu1 As WobbleMenu
Private CLV1 As CustomListView
'Private ImageView1 As B4XView
Private ImageView1 As ImageView
Private lblTitle As B4XView
Private lblContent As B4XView
Private lblAction1 As Label
Private lblAction2 As Label
Private Label1 As B4XView
Private UM_AddToCart1 As UM_AddToCart
Private precio As Double = 60
Dim importeTotal As Double = 0
Private Label2 As Label
' Declaración de una lista global para almacenar los paneles
Private PanelList As List
PanelList.Initialize
Dim tableApi As String = "api_jaanal_gloriafood.php"
Dim getInfoComercios As HttpJob
Dim getInfoEstados As HttpJob
Dim getInfoMunicipios As HttpJob
' Declarar una variable para la librería Base64
Dim su As StringUtils ' Declarar el objeto StringUtils
Dim listaComercios As List
listaComercios.Initialize
Dim listaEstados As List
listaEstados.Initialize
Dim listaMunicipios As List
listaMunicipios.Initialize
Private btnTienda As Button
Private LabelUrl As Label
Private LabelPhone As Label
Private LabelWhatsapp As Label
Private LabelEstatus As Label
Private timerActualizarEstatus As Timer
Dim n As Notification
'Private btnEstado As Button
Private xDialog As B4XDialog
Private xListTemplate As B4XListTemplate
Private xDialogMunicipio As B4XDialog
Private xListTemplateMunicipio As B4XListTemplate
Private btnIconEstado As IconButton
Private btnIconMunicipio As IconButton
Private LabelMaps As Label
Dim Awake As PhoneWakeState
' Declaración de variables locales
Private lat1 As Double = 20.1897702 ' Latitud del primer punto
Private lon1 As Double = -89.267435 ' Longitud del primer punto
Private lat2 As Double = 20.2193758 ' Latitud del segundo punto
Private lon2 As Double = -89.309799 ' Longitud del segundo punto
Private rp As RuntimePermissions
Public KVS As KeyValueStore
End Sub
'You can add more parameters here.
Public Sub Initialize As Object
Return Me
End Sub
'This event will be called once, before the page becomes visible.
Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1
'load the layout to Root
Root.LoadLayout("formPrincipal_layout")
B4XPages.AddMenuItem(Me, "Item 1")
B4XPages.AddMenuItem(Me, "Item 2")
B4XPages.SetTitle(Me, "Bienvenid@: " & globales.nombreUserOnline)
' Private mi As
' ' Crear un menú con icono
' mi = Activity.AddMenuItem("Otro item", "MenuItem3")
' mi.AddToBar = True
' mi.Bitmap = LoadBitmapResize(File.DirAssets, "profile.png", 64dip, 64dip, True)
'Activity.AddMenuItem3("Notify", "Notify",LoadBitmap(File.DirAssets, "profile64.png"),True)
'Menu
'WobbleMenu1.Initialize("WobbleMenu1","WobbleMenu1")
WobbleMenu1.SetTabTextIcon(1,"Home",Chr(0xF2DA),Typeface.FONTAWESOME)
'WobbleMenu1.SetTabTextIcon(1,"Main Page",Chr(0xF009),Typeface.FONTAWESOME)
WobbleMenu1.SetTabTextIcon(2,"Perfil",Chr(0xF2BD),Typeface.FONTAWESOME)
'WobbleMenu1.SetTabTextIcon(3,"Dir.",Chr(0xF015),Typeface.FONTAWESOME)
WobbleMenu1.SetTabTextIcon(3,"Pedidos",Chr(0xF179),Typeface.FONTAWESOME)
'WobbleMenu1.SetTabTextIcon(5,"New Page2",Chr(0xF009),Typeface.FONTAWESOME)
WobbleMenu1.SetCurrentTab2(1, False)
If B4XPages.MainPage.KVS.ContainsKey("user") Then 'si ya se ha iniciado sesion entonces leemos el valor del estado id
'leer un valor de kms KVS.Get("user")
If Not(CLV1.IsInitialized) Then
CLV1.Initialize("CLV1","CLV1")
Else
Log("ya esta inicializado")
End If
ProgressDialogShow("Preparando Comercios...")
wait for (getInfoComerciosActivos(B4XPages.MainPage.KVS.Get("estado_id"),B4XPages.MainPage.KVS.Get("municipio_id"))) Complete (Answer As Boolean)
Else
'entonces lo hacemos con los valores de primera vez porque globales ya tiene un valor
ProgressDialogShow("Preparando Comercios...")
wait for (getInfoComerciosActivos(globales.idEstadoUserOnline,globales.idMunicipioUserOnline)) Complete (Answer As Boolean)
End If
' ProgressDialogShow("Preparando Comercios...")
' wait for (getInfoComerciosActivos(globales.idEstadoUserOnline,globales.idMunicipioUserOnline)) Complete (Answer As Boolean)
'
Dim bitmaps As List = Array("ham.jpg", "ham2.jpg", _
"ham3.jpg", "ham4.jpg")
For i = 0 To listaComercios.Size - 1 'era 4
Dim comercioInfo As Map = listaComercios.Get(i)
Dim idComercio As String = comercioInfo.Get("IDCOMERCIO")
Dim nombreComercio As String = comercioInfo.Get("NOMBRE_COMERCIO")
Dim direccion As String = comercioInfo.Get("DIRECCION")
Dim correo As String = comercioInfo.Get("CORREO")
Dim telefono As String = comercioInfo.Get("TELEFONO")
Dim sitioWeb As String = comercioInfo.Get("SITIOWEB")
Dim hrApertura As String = comercioInfo.Get("HRAPERTURA")
Dim hrCierre As String = comercioInfo.Get("HRCIERRE")
Dim lunes As String = comercioInfo.Get("LUNES")
Dim martes As String = comercioInfo.Get("MARTES")
Dim miercoles As String = comercioInfo.Get("MIERCOLES")
Dim jueves As String = comercioInfo.Get("JUEVES")
Dim viernes As String = comercioInfo.Get("VIERNES")
Dim sabado As String = comercioInfo.Get("SABADO")
Dim domingo As String = comercioInfo.Get("DOMINGO")
Dim estado As String = comercioInfo.Get("ESTADO")
Dim municipio As String = comercioInfo.Get("MUNICIPIO")
'comercioInfo.Put("URL_STORE", coljRoot.Get("url_store"))
Dim logo As Bitmap = comercioInfo.Get("LOGO")
Dim url_store As String =comercioInfo.Get("URL_STORE")
Dim url_ubicacion As String = comercioInfo.Get("URL_UBICACION")
Dim sb As StringBuilder
sb.Initialize
If lunes = "SI" Then sb.Append("Lunes, ")
If martes = "SI" Then sb.Append("Martes, ")
If miercoles = "SI" Then sb.Append("Miércoles, ")
If jueves = "SI" Then sb.Append("Jueves, ")
If viernes = "SI" Then sb.Append("Viernes, ")
If sabado = "SI" Then sb.Append("Sábado, ")
If domingo = "SI" Then sb.Append("Domingo, ")
Dim result As String = sb.ToString
' Quita la última coma y el espacio si la cadena no está vacía
If result.Length > 0 Then
result = result.SubString2(0, result.Length - 2)
End If
'codigo para saber si abre hoy o no:
'####
' Obtiene el día de la semana actual
Dim today As Int = DateTime.GetDayOfWeek(DateTime.Now)
Dim isOpenToday As Boolean = False
Select today
Case 1
If domingo = "SI" Then isOpenToday = True
Case 2
If lunes = "SI" Then isOpenToday = True
Case 3
If martes = "SI" Then isOpenToday = True
Case 4
If miercoles = "SI" Then isOpenToday = True
Case 5
If jueves = "SI" Then isOpenToday = True
Case 6
If viernes = "SI" Then isOpenToday = True
Case 7
If sabado = "SI" Then isOpenToday = True
End Select
If isOpenToday Then
Log("El comercio está abierto hoy.")
Else
Log("NO ABRE EL DÍA DE HOY")
End If
'####
Dim estatusActual As String = CheckComercioStatus(comercioInfo)
Dim content As String = direccion & "." & CRLF & municipio & ", " & estado & CRLF & "Abre: " & hrApertura & CRLF & "Cierra: " & hrCierre & CRLF & result & CRLF & "Tel. " & telefono & CRLF & "Email: " & correo '& CRLF & url_store
‘AQUÍ ES DONDE GENERA UN ERROR AL ENTRAR CUANDO YA SE HA INICIADO SESION
CLV1.Add(CreateItem(CLV1.AsView.Width, nombreComercio, bitmaps.Get(1), content,i,logo,url_store,telefono,estatusActual,isOpenToday,url_ubicacion), "")
Next
wait for (getAllEstados) Complete (AnswerEstados As Boolean)
If AnswerEstados = True Then
Else
MsgboxAsync("No existen Estados o se generó un error al leerlos","Mensaje")
End If
timerActualizarEstatus.Initialize("timerActualizarEstatus",30000)
timerActualizarEstatus.Enabled=True
ProgressDialogHide
'##Finaliza aqui
' Notificación
n.Initialize
n.Icon = "icon"
n.AutoCancel= False
n.SetInfo("Teclado", "Ejemplo de notificación", "")
n.Notify(1)
xDialog.Initialize(Root)
xDialogMunicipio.Initialize(Root)
Dim bm As BitmapDrawable
bm.Initialize(LoadBitmap(File.DirAssets,"map.png"))
btnIconEstado.Text = "SELECCIONE EL ESTADO "
btnIconEstado.IconPadding = 50
btnIconEstado.setIcon(False,bm)
Dim bm2 As BitmapDrawable
bm2.Initialize(LoadBitmap(File.DirAssets,"map.png"))
btnIconMunicipio.Text = "SELECCIONE EL MUNICIPIO"
btnIconMunicipio.IconPadding = 50
btnIconMunicipio.setIcon(False,bm2)
End Sub