'Public Class intIncidencia
'    Inherits System.Web.UI.Page

'    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'        If Session("usuario") = "" Then
'            Response.Redirect("default.aspx")
'        End If

'        inpIniManana.Value = "00:00"
'        inpIniTarde.Value = "00:00"
'        inpFinManana.Value = "00:00"
'        inpFinTarde.Value = "00:00"
'        inpTotalManana.Value = "00:00"
'        inpTotalTarde.Value = "00:00"


'    End Sub

'    Private Sub btnIntIncidencia_Click(sender As Object, e As EventArgs) Handles btnIntIncidencia.Click

'        Dim inicioTick = ""
'        Dim FinalTick = ""
'        Dim HoraIniManana = inpIniManana.Value
'        Dim HoraFinManana = inpFinManana.Value
'        Dim HoraIniTarde = inpIniTarde.Value
'        Dim HoraFinTarde = inpFinTarde.Value
'        Dim Observacion = ""
'        Dim Expediente = ""
'        Dim totalHoraManana = ""
'        Dim totalHoraTarde = ""

'        'If HoraFinManana = "00:00" Then
'        '    HoraFinManana = "24:00"
'        'End If
'        'If HoraFinTarde = "00:00" Then
'        '    HoraFinTarde = "24:00"
'        'End If

'        If HoraIniManana Is "" And HoraFinManana IsNot "" Then
'            mensajeIncidencia.InnerHtml = "En el caso de introducir horas de mañana se deben introducir horas de inicio y de final"
'        ElseIf HoraIniManana IsNot "" And HoraFinManana Is "" Then
'            mensajeIncidencia.InnerHtml = "En el caso de introducir horas de mañana se deben introducir horas de inicio y de final"
'        ElseIf HoraIniTarde Is "" And HoraFinTarde IsNot "" Then
'            mensajeIncidencia.InnerHtml = "En el caso de introducir horas de tarde se deben introducir horas de inicio y de final"
'        ElseIf HoraIniTarde IsNot "" And HoraFinTarde Is "" Then
'            mensajeIncidencia.InnerHtml = "En el caso de introducir horas de tarde se deben introducir horas de inicio y de final"
'        Else

'            If HoraIniManana IsNot "" Or HoraFinManana IsNot "" Then
'                totalHoraManana = (TimeSpan.Parse(HoraFinManana) - TimeSpan.Parse(HoraIniManana)).ToString.Substring(0, 5)
'            Else
'                totalHoraManana = "00:00"
'            End If
'            If HoraIniTarde IsNot "" Or HoraFinTarde IsNot "" Then
'                totalHoraTarde = (TimeSpan.Parse(HoraFinTarde) - TimeSpan.Parse(HoraIniTarde)).ToString.Substring(0, 5)
'            Else
'                totalHoraTarde = "00:00"
'            End If


'            If HoraIniManana = "" Then
'                HoraIniManana = "00:00"
'            End If
'            If HoraFinManana = "" Then
'                HoraFinManana = "00:00"
'            End If
'            If HoraIniTarde = "" Then
'                HoraIniTarde = "00:00"
'            End If
'            If HoraFinTarde = "" Then
'                HoraFinTarde = "00:00"
'            End If



'            If inpFechaInicioIncidencia.Value Is "" Or inpFechaFinIncidencia.Value Is "" Then
'                mensajeIncidencia.InnerHtml = "Debe introducir una fecha de inicio y otra de final."
'            Else
'                Dim inicio As DateTime = inpFechaInicioIncidencia.Value
'                Dim Final As DateTime = inpFechaFinIncidencia.Value
'                If inicio > Final Then
'                    mensajeIncidencia.InnerHtml = "La fecha de inicio no debe ser posterior a la fecha final."
'                Else

'                    inicioTick = inicio.Ticks.ToString
'                    FinalTick = Final.Ticks.ToString

'                    Dim usuario As String = "tecnosis"
'                    Dim contraseña As String = "patata2022"

'                    '// A continuación, se realizará una petición al servicio REST
'                    '// de la Oficina Antifraude para identificar al usuario "manuel".

'                    Dim url1 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/GenAsisEntreFechas"
'                    Dim clienteHTTP1 As New Net.WebClient()
'                    Dim cadenaAutenticación As String =
'                System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(usuario & ":" & contraseña))
'                    clienteHTTP1.Headers.Add("Authorization", "Basic " & cadenaAutenticación)
'                    clienteHTTP1.Encoding = System.Text.Encoding.UTF8
'                    Dim nif = Session("usuario")
'                    Dim FechaInicio = inicioTick
'                    Dim FechaFin = FinalTick
'                    ' clienteHTTP1.UploadString(url1, nif & "," & FechaInicio & "," & FechaFin & "," & idincidencia & "," & horainiciomañana & "," & horafinmañana & "," & horastrabajadasmañana & "," & horainiciotarde & "," & horafintarde & "," & horatrabajadatarde & "," & observaciones & "," & expediente)
'                    Dim sRespuesta1 As String = clienteHTTP1.UploadString(url1, nif & "," & FechaInicio & "," & FechaFin & "," & selIncidenciaNoReloj.Value & "," & HoraIniManana & "," & HoraFinManana & "," & totalHoraManana & "," & HoraIniTarde & "," & HoraFinTarde & "," & totalHoraTarde & "," & inpObservaciones.InnerText & "," & inpExpediente.Value)

'                    'Me.TextBoxResultados.Text = sRespuesta1


'                    '// Esta es una manera "genérica" de acceder a datos JSON mediante LINQ,
'                    '// usando la biblioteca Newtonsoft.Json.
'                    Dim datos As Newtonsoft.Json.Linq.JObject =
'                Newtonsoft.Json.JsonConvert.DeserializeObject(Of Newtonsoft.Json.Linq.JObject)(sRespuesta1)
'                    Dim sbResultado As New Text.StringBuilder()
'                    sbResultado.AppendFormat("Resultado: {0}{1}", datos.Item("Resultado").ToString, vbCrLf)
'                    sbResultado.AppendFormat("Mensaje: {0}{1}", datos.Item("Mensaje"), vbCrLf)


'                    '// Deserializar a una clase.
'                    '    Dim settings As New Newtonsoft.Json.JsonSerializerSettings()
'                    '    settings.CheckAdditionalContent = True
'                    '    Dim objetoDatos As Clases.ResultadoListPicaEntreFechas =
'                    'Newtonsoft.Json.JsonConvert.DeserializeObject(Of Clases.ResultadoListPicaEntreFechas)(sRespuesta1, settings)

'                    '    Debug.WriteLine("Resultado: " & objetoDatos.resultado)
'                    '    Debug.WriteLine("Mensaje: " & objetoDatos.Mensaje)

'                    '    If objetoDatos.resultado = 0 Then
'                    '        mensajeIncidencia.Style("color") = "#02bd02"
'                    '        mensajeIncidencia.InnerHtml = objetoDatos.Mensaje
'                    '    Else
'                    '        mensajeIncidencia.Style("color") = "red"
'                    '        mensajeIncidencia.InnerHtml = objetoDatos.Mensaje
'                    '    End If
'                    'End If

'                End If
'        End If

'    End Sub
'    'Private Function CargarSelectIncidenciasControlHorario(Soloreloj As Boolean) As List(Of Incidencia)

'    '    '// El servicio REST de la Oficina Antifraude tiene permite solicitar
'    '    '// información sobre personas.
'    '    '// Para solicitar las nominas de una persona y año, hay que realizar una
'    '    '// petición GET a la siguiente URL:
'    '    '// http://localhost:61107/api/IncidenciasControlHorario
'    '    '// Por ejemplo: http://localhost:61107/api/IncidenciasControlHorario
'    '    '//
'    '    '// Para solicitar una lista con todas las personas, hay que realizar
'    '    '// una petición GET a la siguiente URL:
'    '    '// http://localhost:61107/api/IncidenciasControlHorario
'    '    '//
'    '    '// Las respuestas usan el formato JSON.
'    '    '//
'    '    '// El servicio REST usa autenticación básica
'    '    '// (un estándar para el protocolo HTTP).

'    '    'Me.TextBoxResultados.Text = ""

'    '    Dim usuario As String = "tecnosis"
'    '    Dim contraseña As String = "patata2022"

'    '    '// A continuación, se realizará una petición al servicio REST
'    '    '// de la Oficina Antifraude para obtener una lista de todas las
'    '    '// personas..
'    '    '//


'    '    Dim url3 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/IncidenciasControlHorario"
'    '    ' Dim url3 As String = "http://192.168.41.14:81/api/IncidenciasControlHorario"
'    '    Dim credenciales3 As New Net.CredentialCache()
'    '    credenciales3.Add(New Uri(url3), "Basic", New Net.NetworkCredential(usuario, contraseña))
'    '    Dim clienteHTTP3 As New Net.WebClient()
'    '    clienteHTTP3.Encoding = System.Text.Encoding.UTF8
'    '    clienteHTTP3.Credentials = credenciales3
'    '    Dim respuesta3 As String = clienteHTTP3.DownloadString(url3)
'    '    Dim deserializador3 As New System.Web.Script.Serialization.JavaScriptSerializer()
'    '    deserializador3.MaxJsonLength = Integer.MaxValue

'    '    Dim listaPicada As List(Of Clases.Incidencia) =
'    '        deserializador3.Deserialize(Of List(Of Clases.Incidencia))(respuesta3)
'    '    'Dim sbResultado As New Text.StringBuilder
'    '    'For Each c In listaNominas.OrderBy(Function(x) x.Descripcion)
'    '    '    sbResultado.AppendFormat("{0} {1}{2}{3}", c.idIncidencias, c.Descripcion, c.EsInciReloj, vbCrLf)
'    '    'Next
'    '    Dim InciVacia As New Clases.Incidencia
'    '    InciVacia.idIncidencias = 0
'    '    InciVacia.Descripcion = ""
'    '    InciVacia.EsInciReloj = True
'    '    listaPicada.Add(InciVacia)

'    '    Return listaPicada.Where(Function(x) x.EsInciReloj = Soloreloj).OrderBy(Function(x) x.Descripcion).ToList

'    'End Function
'    'Private Sub selIncidenciaNoReloj_Init(sender As Object, e As EventArgs) Handles selIncidenciaNoReloj.Init
'    '    Dim ListadoIncidencias = CargarSelectIncidenciasControlHorario(False)
'    '    selIncidenciaNoReloj.DataSource = ListadoIncidencias
'    '    selIncidenciaNoReloj.DataBind()
'    'End Sub
'End Class