
'Imports ServiciosRestAntifraude.Models


'Public Class picada
'    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

'        If Not IsPostBack Then
'            inpFechaFin.Value = DateTime.Now.ToString("yyyy-MM-dd")
'            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 If

'    End Sub


'    Private Sub selIncidencia_Init(sender As Object, e As EventArgs) Handles selIncidencia.Init

'        Dim ListadoIncidencias = CargarSelectIncidenciasControlHorario(True)

'        'Dim htmlSelIncidencia = "<option></option>"

'        selIncidencia.DataSource = ListadoIncidencias
'        selIncidencia.DataTextField = "Descripcion"
'        selIncidencia.DataValueField = "idIncidencias"
'        selIncidencia.DataBind()

'        'For Each incidencia As Incidencia In ListadoIncidencias

'        '    If (incidencia.EsInciReloj = True) Then

'        '        htmlSelIncidencia += "<option>" + incidencia.Descripcion + "</option>"

'        '    End If

'        'Next

'        'selIncidencia.InnerHtml = htmlSelIncidencia




'    End Sub


'    Private Sub btnPicar_Click(sender As Object, e As EventArgs) Handles btnPicar.Click

'        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/PicadaNueva"
'        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 fechaActual = DateTime.Now
'        Dim Fechahoraentick = fechaActual.Ticks.ToString
'        Dim IdIncidencia As String = selIncidencia.Value
'        Dim sRespuesta1 As String = clienteHTTP1.UploadString(url1, nif & "," & Fechahoraentick & "," & IdIncidencia)
'        Console.WriteLine(fechaActual)

'        '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 resultado = datos.Item("resultado").ToString
'        Dim errores = datos.Item("Mensaje")

'        Dim MensPicada = ""
'        MensPicada = errores

'        If Not resultado = "0" Then
'            mensajePicada.Style.Add("color", "red")
'        Else
'            mensajePicada.Style.Add("color", "#02bd02")
'        End If

'        mensajePicada.InnerHtml = MensPicada


'    End Sub





'    'Private Sub gridListPicadas_Load(sender As Object, e As EventArgs) Handles gridListPicadas.Load

'    '    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/ListPicaEntreFechas"
'    '    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 = New DateTime(2022, 8, 1, 0, 0, 0).Ticks.ToString
'    '    Dim FechaFin = New DateTime(2022, 8, 22, 0, 0, 0).Ticks.ToString
'    '    Dim sRespuesta1 As String = clienteHTTP1.UploadString(url1, nif & "," & FechaInicio & "," & FechaFin)
'    '    '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)
'    '    sbResultado.AppendFormat("ListadoEF: {0}{1}", datos.Item("ListadoEF"), vbCrLf)

'    '    'Me.TextBoxResultados.Text = sbResultado.ToString

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

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

'    '    Dim html = ""


'    'End Sub

'    Private Function CargarListadodePicadas(fechaInit As String, fechaEnd As String) As List(Of Clases.ResultadoListPicaEntreFechas)
'        mensaje.InnerHtml = ""
'        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/ListPicaEntreFechas"
'        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 = fechaInit
'        Dim FechaFin = fechaEnd
'        Dim sRespuesta1 As String = clienteHTTP1.UploadString(url1, nif & "," & FechaInicio & "," & FechaFin)
'        '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)
'        sbResultado.AppendFormat("ListadoEF: {0}{1}", datos.Item("ListadoEF"), 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)
'        Debug.WriteLine("ListadoEF.FechaInicio: " & objetoDatos.ListadoEF.FechaInicio)

'        Dim htmlImp = ""
'        Dim html = ""
'        Dim listaDepartamento = objetoDatos.ListadoEF.ListaDepartamento
'        Dim totales As Clases.TotalPeriodo =
'            Newtonsoft.Json.JsonConvert.DeserializeObject(Of Clases.TotalPeriodo)(sRespuesta1, settings)


'        '"<th class='columnFecha'>Fecha</th>" +



'        For Each dep As Clases.Departamento In listaDepartamento
'            html = ""
'            Dim contadorPersona = 0
'            For Each per As Clases.PersonaCH In dep.LisPersonas
'                contadorPersona += 1
'                Dim idPersona = per.ApellidosNombre.ToUpper.Replace(" ", String.Empty).Replace(",", String.Empty)
'                idPersona = UnAccent(idPersona)
'                html += "<div class='cabeceraTabla'><div><b>" + per.ApellidosNombre + " &nbsp;&nbsp; </b><a class='btnVerde btn btnPersona' id='" + contadorPersona.ToString() + "mostrar' onclick='botonMostrar(""" + contadorPersona.ToString() + "mostrar"",""collapseMe" + idPersona + """)'  role='button'  style='margin-top:0; text-align:center !important'>Mostrar</a></div>" +
'                "<div class='d-flex justify-content-between mt-3'><p><b>Departamento: </b>" + dep.NombreDepartamento + "</p><p> Listado Horario del " + objetoDatos.ListadoEF.FechaInicio + " al " + objetoDatos.ListadoEF.FechaFin + "</p></div></div></div>" +
'                    "<div class='tablaPicadas'><table><tr>" +
'                    "<th class='columnHora'>Hora</th>" +
'                    "<th>Hora real</th>" +
'                    "<th>Incidencia</th>" +
'                    "<th>Horas a trabajar</th>" +
'                    "<th>Horas trabajadas</th>" +
'                    "<th>Horas extras a compensar</th>" +
'                    "<th>Horas extras a guardar</th>" +
'                    "<th>Saldo</th>" +
'                    "<th>Horas recuperables</th>" +
'                    "<th>Horas incumplimiento</th>" +
'                    "<th>Horas trabajadas tarde</th></tr>"
'                '"<tr><td colspan='11' class='btnMostrar'></td></tr>"
'                '"<a data-toggle='collapse' id='" + contadorPersona.ToString() + "mostrar' onclick='botonMostrar(" + contadorPersona.ToString() + ")' href='.collapseMe" + idPersona + "' role='button' aria-expanded='false' aria-controls='collapseExample' style='text-align:center !important'>Mostrar</a></td></tr>"


'                '<td>" + picada.Fecha + "</td>"
'                For Each turno As Clases.FechaTurno In per.LisFechasTurnos
'                    If turno.LisPicadasAsistencias IsNot Nothing Then

'                        html += "<tr class='todasTablas collapse collapseMe" + idPersona + "'> <td colspan='11' style='font-weight:bold; background-color: #dadada; text-align:left !important;'>" + turno.DesFechaTurno.Replace("0:00:00-", "") +
'                             "</td></tr>"
'                        '"<a data-toggle='collapse' href='.collapseMe" + contadorFecha.ToString + idPersona + "' role='button' aria-expanded='false' aria-controls='collapseExample'><small> Mostrar </small></a>


'                        For Each picada As Clases.PicadaAsistencia In turno.LisPicadasAsistencias
'                            html += "<tr style='text-align:right !important;' class='todasTablas collapse collapseMe" + idPersona + "' >" +
'                           "<td>" + picada.Hora + "</td>" +
'                           "<td>" + picada.HoraReal + "</td>" +
'                           "<td style='text-align:left !important;'>" + picada.Incidencia + "</td>" +
'                           "<td>" + picada.HorasATrabajar + "</td>" +
'                           "<td>" + picada.HorasTrabajadas + "</td>" +
'                           "<td>" + picada.HorasExtraACompensar + "</td>" +
'                           "<td>" + picada.HorasExtraAguardar + "</td>" +
'                           "<td>" + picada.Saldo + "</td>" +
'                           "<td>" + picada.HorasRecuperables + "</td>" +
'                           "<td>" + picada.HorasIncumplimiento + "</td>" +
'                           "<td>" + picada.HorasTrabajadasTarde + "</td> </tr>"


'                        Next

'                    End If


'                Next

'                html += "<tr style='background-color:#dadada; text-align:right;'><td class='celdaBlanca'></td><td class='celdaBlanca'></td><td style='text-align:right; font-weight:bold'>Totales:</td>" +
'                    "<td>" + per.TotalesPeriodo.TotalHorasATrabajar + "</td>" +
'                    "<td>" + per.TotalesPeriodo.TotalHorasTrabajadas + "</td>" +
'                    "<td>" + per.TotalesPeriodo.TotalHorasExtraACompensar + "</td>" +
'                    "<td>" + per.TotalesPeriodo.TotalHorasExtraAguardar + "</td>" +
'                    "<td>" + per.TotalesPeriodo.TotalSaldo + "</td>" +
'                    "<td>" + per.TotalesPeriodo.TotalHorasRecuperables + "</td>" +
'                    "<td>" + per.TotalesPeriodo.TotalHorasIncumplimiento + "</td>" +
'                    "<td>" + per.TotalesPeriodo.TotalHorasTrabajadasTarde + "</td></tr></table></div>"

'            Next
'        Next

'        htmlImp = "<style>.tablaPicadasImp {font-family:'Arial'; max-height:550px;border-collapse: collapse;  width: 100%;}
'    .tablaPicadasImp td {margin:0; padding-left: 5px;padding-right: 5px;width: auto;border: 1px solid black;border-collapse: collapse;background-color:white;}
'    .tablaPicadasImp th {padding-left: 5px; padding-right: 5px; background-color: green;color: white;font-weight: bold; border: 1px solid white; text-align: center;}
'    .celdaBlanca {background-color: white !important;border: 0px none !important;}
'.cabeceraTabla p {margin-bottom: 0px;}
'.cabeceraTabla {padding:1rem;background-color:white;margin-top:1rem;margin-bottom: 1rem;border-radius:5px;}
'.tablaPicadasImp table {width:100%;}</style>"



'        For Each dep As Clases.Departamento In listaDepartamento

'            For Each per As Clases.PersonaCH In dep.LisPersonas
'                Dim idPersona = per.ApellidosNombre.ToUpper.Replace(" ", String.Empty).Replace(",", String.Empty)
'                Dim contadorFecha = 0
'                htmlImp += "<div><img src='Content/images/OAAF%20Logo%20PNG.png' style='margin-left:15px; height: 60px; width:auto;'/>''" +
'                    "<div class='cabeceraTabla' style='font-family:""Arial""'><div><b>" + per.ApellidosNombre + "</b></div>" +
'                "<div class='d-flex justify-content-between' style='display:flex; justify-content: space-between'><p><b>Departamento: </b>" + dep.NombreDepartamento + "</p><p> Listado Horario del " + objetoDatos.ListadoEF.FechaInicio + " al " + objetoDatos.ListadoEF.FechaFin + "</p></div></div>" +
'                    "<div class='tablaPicadasImp'><table cellspacing=""0"" cellpadding=""0""><tr>" +
'                    "<th class='columnHora'>Hora</th>" +
'                    "<th>Hora real</th>" +
'                    "<th>Incidencia</th>" +
'                    "<th>Horas a trabajar</th>" +
'                    "<th>Horas trabajadas</th>" +
'                    "<th>Horas extras a compensar</th>" +
'                    "<th>Horas extras a guardar</th>" +
'                    "<th>Saldo</th>" +
'                    "<th>Horas recuperables</th>" +
'                    "<th>Horas incumplimiento</th>" +
'                    "<th>Horas trabajadas tarde</th></tr>"


'                '<td>" + picada.Fecha + "</td>"
'                For Each turno As Clases.FechaTurno In per.LisFechasTurnos
'                    If turno.LisPicadasAsistencias IsNot Nothing Then
'                        contadorFecha += 1
'                        htmlImp += "<tr> <td colspan='11' style='font-weight:bold; background-color: #dadada'>" + turno.DesFechaTurno.Replace("0:00:00-", "") +
'                            "</td></tr>"

'                        For Each picada As Clases.PicadaAsistencia In turno.LisPicadasAsistencias
'                            htmlImp += "<tr style='text-align:right !important;'>" +
'                           "<td>" + picada.Hora + "</td>" +
'                           "<td>" + picada.HoraReal + "</td>" +
'                           "<td style='text-align:left'>" + picada.Incidencia + "</td>" +
'                           "<td>" + picada.HorasATrabajar + "</td>" +
'                           "<td>" + picada.HorasTrabajadas + "</td>" +
'                           "<td>" + picada.HorasExtraACompensar + "</td>" +
'                           "<td>" + picada.HorasExtraAguardar + "</td>" +
'                           "<td>" + picada.Saldo + "</td>" +
'                           "<td>" + picada.HorasRecuperables + "</td>" +
'                           "<td>" + picada.HorasIncumplimiento + "</td>" +
'                           "<td>" + picada.HorasTrabajadasTarde + "</td> </tr>"


'                        Next

'                    End If


'                Next

'                htmlImp += "<tr style='background-color:#dadada; text-align:right !important;''><td class='celdaBlanca'></td><td class='celdaBlanca'></td><td style='text-align:right; font-weight:bold'>Totales:</td>" +
'                    "<td style='text-align:right;'>" + per.TotalesPeriodo.TotalHorasATrabajar + "</td>" +
'                    "<td>" + per.TotalesPeriodo.TotalHorasTrabajadas + "</td>" +
'                    "<td>" + per.TotalesPeriodo.TotalHorasExtraACompensar + "</td>" +
'                    "<td>" + per.TotalesPeriodo.TotalHorasExtraAguardar + "</td>" +
'                    "<td>" + per.TotalesPeriodo.TotalSaldo + "</td>" +
'                    "<td>" + per.TotalesPeriodo.TotalHorasRecuperables + "</td>" +
'                    "<td>" + per.TotalesPeriodo.TotalHorasIncumplimiento + "</td>" +
'                    "<td>" + per.TotalesPeriodo.TotalHorasTrabajadasTarde + "</td></tr></table></div>"

'            Next
'        Next
'        tablaImpresion.InnerHtml = htmlImp
'        Session.Add("htmlImprimir", htmlImp)
'        btnImprimir.Style.Item("display") = "block"
'        mostrarGeneral.Style.Item("display") = "block"
'        tablaPicadas.InnerHtml = html



'    End Function




'    Private Function CargarSelectIncidenciasControlHorario(Soloreloj As Boolean) As List(Of Clases.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 btnFechas_Click(sender As Object, e As EventArgs) Handles btnFechas.Click

'        Dim inicioTick = ""
'        Dim FinalTick = ""

'        If inpFechaInicio.Value Is "" Or inpFechaFin.Value Is "" Then
'            mensaje.InnerHtml = "Debe introducir una fecha de inicio y otra de final."


'        Else
'            Dim inicio As DateTime = inpFechaInicio.Value
'            Dim Final As DateTime = inpFechaFin.Value
'            If inicio > Final Then
'                mensaje.InnerHtml = "La fecha de inicio no debe ser posterior a la fecha final."
'            Else

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

'                CargarListadodePicadas(inicioTick, FinalTick)
'            End If

'        End If






'    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
'    Public Function UnAccent(ByVal aString As String) As String
'        Dim toReplace() As Char = "àèìòùÀÈÌÒÙ äëïöüÄËÏÖÜ âêîôûÂÊÎÔÛ áéíóúÁÉÍÓÚðÐýÝ ãñõÃÑÕšŠžŽçÇåÅøØ".ToCharArray
'        Dim replaceChars() As Char = "aeiouAEIOU aeiouAEIOU aeiouAEIOU aeiouAEIOUdDyY anoANOsSzZcCaAoO".ToCharArray
'        For index As Integer = 0 To toReplace.GetUpperBound(0)
'            aString = aString.Replace(toReplace(index), replaceChars(index))
'        Next
'        Return aString
'    End Function

'    'Private Sub selIncidenciaNoReloj_Init(sender As Object, e As EventArgs) Handles selIncidenciaNoReloj.Init

'    '    Dim ListadoIncidencias = CargarSelectIncidenciasControlHorario(False)

'    'selIncidenciaNoReloj.DataSource = ListadoIncidencias
'    'selIncidenciaNoReloj.DataTextField = "Descripcion"
'    'selIncidenciaNoReloj.DataValueField = "idIncidencias"
'    'selIncidenciaNoReloj.DataBind()

'    'End Sub

'    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





''End Namespace