'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