'#########################################################################################################
'# FILA_ESPERA #
'#########################################################################################################
Sub Retorna_Fila_Espera_WS() As Boolean
Dim reqFila_Espera As HttpRequest
Dim Endereco, Pr As String
Dim Para() As Byte
Dim Connect As Boolean
Dim Inp As InputStream
Dim conv As ByteConverter
'Checagem da versão do ANDROID (Cria objeto Versao e carrega a string da versão do sistema)
Dim Versao As ApplicationWS '
Versao.Initialize
Versao.setVersionString(OS.Release)
Pr = ""
Connect = True
If Versao.getVersionString_Number() < "3" Then ' Versão do ANDROID menor que 3.0 utiliza a lib HTTP ( classes HttpClient e HttpRequest )
' para requisições ao WEB Service
Endereco = parametro.getWeb_Service & "/RetornaFilaFull"
HttpFila_Espera.Initialize("HttpFila_Espera")
reqFila_Espera.initializeget(Endereco)
reqFila_Espera.Timeout = nTimeOut
If HttpFila_Espera.Execute(reqFila_Espera, 0) = False Then
Connect = False
End If
Else ' Versão do ANDROID maior ou igual que 3.0 utiliza a classe HttpJob
' para requisições ao WEB Service
Endereco = parametro.getWeb_Service & "/RetornaFilaFull"
Pr = ""
HJFila_Espera.Initialize("Fila_Espera",Me)
HJFila_Espera.PostString(Endereco,Pr)
'Connect = HJReserva.Success
End If
If Connect = False Then Return False
Return True
End Sub
Sub HttpFila_Espera_ResponseSuccess (Response As HttpResponse, TaskId As Int)
Dim result As String
Dim In As InputStream
'Log("ResponseSuccess")
ProgressDialogHide
result = Response.GetString("UTF8") 'Convert the response to a string
'Log(result)
'Msgbox(result, "")
'Fila_Espera
'ProgressDialogShow("Atualizando Tabela Fila_Espera...")
If File.Exists(File.DirDefaultExternal,"Fila_Espera.xml") = True Then
File.Delete(File.DirDefaultExternal,"Fila_Espera.xml")
End If
File.WriteString(File.DirDefaultExternal,"Fila_Espera.xml",result)
parserFila_Espera.Initialize
'parse the xml file
In = File.OpenInput(File.DirDefaultExternal, "Fila_Espera.xml")
parserFila_Espera.parse(In, "parserFila_Espera")
In.Close
File.Delete(File.DirDefaultExternal, "Fila_Espera.xml")
'ProgressDialogHide
End Sub
Sub HttpFila_Espera_ResponseError (Reason As String, StatusCode As Int, TaskId As Int)
Dim msg As String
'Log(Reason)
'Log(StatusCode)
'ProgressDialogHide
lConfirma_Reserva = False
msg = "Erro ao conectar no Web Service." & CRLF & "Fila_Espera"
If Reason <> Null Then
msg = msg & CRLF & "(" & StatusCode & ") " & Reason
End If
ToastMessageShow (msg, True)
End Sub
Sub parserFila_Espera_StartElement (Uri As String, Name As String, Attributes As Attributes)
If Name = "DataSet" Then
Fila_Espera_Inicializa
End If
If Name = "Table" Then
Fila_Espera.Initialize
End If
End Sub
Sub parserFila_Espera_EndElement (Uri As String, Name As String, Text As StringBuilder)
Dim cData, cHora, msg As String
'ToastMessageShow("Mesas" & CRLF & Uri & CRLF & Name & CRLF & Text,False)
DoEvents
If Name = "ID_Fila_Espera" Then
Fila_Espera.setID_Fila_Espera(Text)
End If
If Name = "Posicao" Then
Fila_Espera.setPosicao(Text)
End If
If Name = "Data" Then
cData = Text.ToString.SubString2(8,10) & "/" & Text.ToString.SubString2(5,7) & "/" & Text.ToString.SubString2(0,4)
cHora = Text.ToString.SubString2(11,19)
Try
Fila_Espera.setData(DateTime.DateTimeParse(cData,cHora))
Catch
Fila_Espera.setData(0)
End Try
End If
If Name = "Nome" Then
Fila_Espera.setNome(Text)
End If
If Name = "Telefone" Then
Fila_Espera.setTelefone(Text)
End If
If Name = "SMS" Then
Fila_Espera.setSMS(Text)
End If
If Name = "SMS_Qtd" Then
Fila_Espera.setSMS_Qtd(Text)
End If
If Name = "Check_In" Then
cData = Text.ToString.SubString2(8,10) & "/" & Text.ToString.SubString2(5,7) & "/" & Text.ToString.SubString2(0,4)
cHora = Text.ToString.SubString2(11,19)
Try
Fila_Espera.setCheck_In(DateTime.DateTimeParse(cData,cHora))
Catch
Fila_Espera.setCheck_In(-1)
End Try
End If
If Name = "ID_Reservas" Then
Fila_Espera.setID_Reservas(Text)
End If
If Name = "Liberado" Then
Fila_Espera.setLiberado(Text)
End If
If Name = "Desistiu" Then
Fila_Espera.setDesistiu(Text)
End If
If Name = "Table" Then
If MaxFila_Espera <= 999 Then
MaxFila_Espera = MaxFila_Espera + 1
lFila_Espera(MaxFila_Espera).Assign(Fila_Espera)
End If
End If
If Name = "DataSet" Then
Atualiza_Fila_Espera
If lConfirma_Reserva = True Then
Envia_SMS_Confirmacao
End If
If nPosicao_Desistir_Fila <> -1 Then
'Envio do SMS (adiciona na fila de envio)
msg = SmartConfig.getMsg_Desistir().Replace("<#nome>", lFila_Espera(nPosicao_Desistir_Fila).getNome).Replace("<#pos>", lFila_Espera(nPosicao_Desistir_Fila).getPosicao)
Add_SMS_Fila( lFila_Espera(nPosicao_Desistir_Fila).getTelefone, msg & CRLF & " " & CRLF & _
SmartConfig.getMsg_Promocional )
End If
GridFila_Espera_Select
lConfirma_Reserva = False
End If
End Sub