cambios en apidenuncias

This commit is contained in:
2026-04-30 08:55:00 +02:00
parent 3b77fc827d
commit b22f02807d
295 changed files with 26359 additions and 3777 deletions

View File

@@ -0,0 +1,558 @@
Imports System.Net
Imports System.Net.Http
Imports System.Net.Security
Imports System.Threading.Tasks
Imports Newtonsoft.Json
Imports WebIntranet.Models
Public Class desgSolicitudesComunicaciones
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Session("Persona") Is Nothing Then
Response.Redirect("default.aspx")
End If
If Session("modo") = "PERSONAL" Then
'bolsaDeHorasBL.Visible = False
intPicadaBL.Visible = False
VAAPBCBL.Visible = False
'informPicadasBL.Visible = False
Else
VAAPBCBLpers.Visible = False
intPicadaPersBL.Visible = False
End If
Dim sessionUsuario As String = HttpContext.Current.Session("usuario")
Dim usuRoll As String = Session("persona").Personas(0).Roll
'Dim sessionUsuario As String = HttpContext.Current.Session("usuario")
'sessionUsuario = Session("usuario")
Dim idAsistencia = Request.QueryString("idAsis")
Session.Add("idAsis", idAsistencia)
Dim cl = Request.QueryString("cl")
Dim sCl2 = tsl5.crypt.SHA1("M3Soft." & idAsistencia.ToString)
If sCl2 <> cl Then
Response.Redirect("/default.aspx", False)
Else
Dim usuario As String = "tecnosis"
Dim contraseña As String = "patata2022"
ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(Function() True)
Dim url1 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/EstadosAsistencias"
Dim credenciales1 As New Net.CredentialCache()
Dim clienteHTTP1 As New Net.WebClient()
clienteHTTP1.Encoding = System.Text.Encoding.UTF8
clienteHTTP1.Credentials = credenciales1
Dim respuesta1 As String = clienteHTTP1.DownloadString(url1)
Dim deserializador1 As New System.Web.Script.Serialization.JavaScriptSerializer()
Dim settings As New Newtonsoft.Json.JsonSerializerSettings()
settings.CheckAdditionalContent = True
Dim listaEstados As List(Of Models.Estados) =
deserializador1.Deserialize(Of List(Of Models.Estados))(respuesta1)
ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(Function() True)
Dim url2 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/ObtenAsistencia?idAsistencia=" + idAsistencia + "&Nif=" + sessionUsuario
Dim credenciales2 As New Net.CredentialCache()
Dim clienteHTTP2 As New Net.WebClient()
clienteHTTP2.Encoding = System.Text.Encoding.UTF8
clienteHTTP2.Credentials = credenciales2
Dim respuesta2 As String = clienteHTTP2.DownloadString(url2)
Dim deserializador2 As New System.Web.Script.Serialization.JavaScriptSerializer()
Dim settings2 As New Newtonsoft.Json.JsonSerializerSettings()
settings2.CheckAdditionalContent = True
Dim usu = sessionUsuario
Dim objetoDatos As ResultadoObtenAsistencia =
Newtonsoft.Json.JsonConvert.DeserializeObject(Of ResultadoObtenAsistencia)(respuesta2, settings2)
Dim idAsis = objetoDatos.idAsistencia.ToString
Dim sCl = tsl5.crypt.SHA1("M3Soft." & objetoDatos.idAsistencia.ToString)
Dim urlfichero = "/fichero.aspx?id=" + idAsis + "&t=INCIDENCIA&nif=" + sessionUsuario + "&cl=" + sCl
Dim desgloseIncidencia = objetoDatos
Dim listP As List(Of Personal) = Session("persona").Personas
Dim persResponsable = listP.Where(Function(x) x.Dni = desgloseIncidencia.Nif).ToList
If persResponsable.Count = 0 OrElse (persResponsable(0).Dni = sessionUsuario AndAlso Session("modo") = "PERSONAL") Then
Response.Redirect("/Default.aspx")
Exit Sub
End If
Session.Add("idIncidencia", desgloseIncidencia)
Dim idIncidencia = desgloseIncidencia.idIncidenciaControlHorario
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 Incidencia) =
deserializador3.Deserialize(Of List(Of Incidencia))(respuesta3)
Dim incidencia = listaPicada.FirstOrDefault(Function(x) x.idIncidencias = idIncidencia)
inciActual.Value = JsonConvert.SerializeObject(incidencia)
Session.Add("incidencia", incidencia)
'If incidencia Is Nothing Then
' Response.Redirect("/listSolicitudesComunicaciones.aspx")
'End If
Dim fechaIni = CDate(desgloseIncidencia.FechaInicio).ToString("dd/MM/yyyy")
Dim fechaFin
If desgloseIncidencia.FechaFin = Nothing Then
fechaFin = ""
Else
fechaFin = CDate(desgloseIncidencia.FechaFin).ToString("dd/MM/yyyy")
End If
Dim htmllista = ""
Dim html = "<div><h4 class='tituDesgSol'>" + desgloseIncidencia.ApellidosNombre + "</h4></div>" +
"<table class='tablaPicadas tablaDesgSol'> <tr id='FdI' runat='server'>" +
"<th colspan='2'>FECHA</th>"
If incidencia.AdmiteRangosFechas = True Then
html += "<td colspan='3' runat='server' id='FdI-I'><span>Inicio: </span>" + fechaIni + "</td>" +
"<td colspan='3' runat='server' id='FdI-F'><span>Final: </span>" + fechaFin + "</td></tr>"
Else
html += "<td colspan='6' runat='server' id='FdI-I'><span>Inicio: </span>" + fechaIni + "</td>"
End If
html += "<tr><th colspan='2'>INCIDENCIA</th>" +
"<td colspan='6'>" + incidencia.Nombre + "</td></tr>"
If incidencia.AdmiteIntervaloHoras Then
html += "<tr id='HdI-M'style=''><th colspan='2'>HORARIO MAÑANA</th>" +
"<td colspan='2'><span>Inicio: </span>" + desgloseIncidencia.HoraInicioManana + "</td>" +
"<td colspan='2'><span>Final: </span>" + desgloseIncidencia.HoraFinManana + "</td>" +
"<td colspan='2'><span>Total: </span>" + desgloseIncidencia.HorasTraManana + "</td></tr>" +
"<tr id='HdI-T'style=''><th colspan='2'>HORARIO TARDE</th>" +
"<td colspan='2'><span>Inicio: </span>" + desgloseIncidencia.HoraInicioTarde + "</td>" +
"<td colspan='2'><span>Final: </span>" + desgloseIncidencia.HoraFinTarde + "</td>" +
"<td colspan='2'><span>Total: </span>" + desgloseIncidencia.HorasTraTarde + "</td></tr>"
End If
html += "<tr><th colspan='2'>OBSERVACIONES</th>" +
"<td colspan='6'>" + desgloseIncidencia.Observaciones + "</td></tr>" +
"<tr><th colspan='2'>ESTADO</th>"
If desgloseIncidencia.PuedeCambiarEstado = False OrElse (desgloseIncidencia.DesEstadoActual = "BORRADOR" And Session("modo") = "PERSONAL") OrElse ((desgloseIncidencia.DesEstadoActual.Contains("VISTO BUENO")) And (usuRoll = "SUPERVISOR" Or usuRoll = "DELEGADO") AndAlso Session("modo") = "PERSONAL") OrElse ((desgloseIncidencia.DesEstadoActual.Contains("SOLICITADA")) And (usuRoll = "SUPERVISOR" Or usuRoll = "DELEGADO") AndAlso Session("modo") = "PERSONAL") Then
Dim estadoActual = ""
estadoActual = desgloseIncidencia.DesEstadoActual
'If desgloseIncidencia.DesEstadoActual = "ACEPTADA" Then
' estadoActual = "ACEPTADA"
'ElseIf desgloseIncidencia.DesEstadoActual = "BORRADOR" Then
' estadoActual = "BORRADOR"
'ElseIf desgloseIncidencia.DesEstadoActual = "PROPUESTA" Then
' estadoActual = "PROPUESTA"
'Else
' For Each posiblesEstados As Estados In desgloseIncidencia.PosiblesEstados
' If posiblesEstados.idEstado = desgloseIncidencia.IdEstadoActual Then
' estadoActual = posiblesEstados.Descripcion
' End If
' If desgloseIncidencia.IdEstadoActual = 1 Then
' estadoActual = "ACEPTADA"
' End If
' Next
'End If
html += "<td style='font-weight: bold' colspan='6'>" + estadoActual + "</td></tr>"
If desgloseIncidencia.ExisteArchivo = True Then
html += "<tr><th colspant='2'>ARCHIVO ADJUNTO</th><td colspan='6'><a class='btnAlargado' style='width:100%' href='" + urlfichero + "' target='_blank'>VISUALIZAR</a></td></tr></table>"
Else
html += "</table>"
End If
Else
If desgloseIncidencia.IdEstadoActual = Nothing Then
desgloseIncidencia.IdEstadoActual = 0
End If
html += "<td style='font-weight: bold' colspan='6'>" +
"<select id='selEstadoAsis' style='width:100%; height: 30px;'>"
If desgloseIncidencia.DesEstadoActual = "PROPUESTA" Then
html += "<option value=" + desgloseIncidencia.IdEstadoActual.ToString() + ">PROPUESTA</option>"
ElseIf desgloseIncidencia.DesEstadoActual = "ACEPTADA" Then
html += "<option value=" + desgloseIncidencia.IdEstadoActual.ToString() + ">ACEPTADA</option>"
ElseIf desgloseIncidencia.DesEstadoActual = "BORRADOR" Then
html += "<option value=" + desgloseIncidencia.IdEstadoActual.ToString() + ">BORRADOR</option>"
Else
For Each Est As Estados In listaEstados
If desgloseIncidencia.IdEstadoActual = Est.idEstado Then
html += "<option value=" + Est.idEstado + ">" + Est.Descripcion + "</option>"
End If
Next
End If
For Each posibleEst As Estados In desgloseIncidencia.PosiblesEstados
html += "<option value=" + posibleEst.idEstado + ">" + posibleEst.Descripcion + "</option>"
Next
html += "</select>" +
"</tr>" +
"<tr><th colspan='2'>OBSERVACIÓN ESTADO</th><td colspan='6'><textarea id='obsEstado' rows='3' style='width:100%'></textarea></tr>"
If desgloseIncidencia.ExisteArchivo = True Then
html += "<tr><th colspant='2'>ARCHIVO ADJUNTO</th><td colspan='6'><a class='btnAlargado' style='width:100%' href='" + urlfichero + "' target='_blank'>VISUALIZAR</a></td></tr></table>"
Else
html += "</table>"
End If
html += "<div style='width:100%; display:flex; justify-content:center;'><input type='button' value='ACTUALIZAR ESTADO' class='btnAzul btnAlargado' style='!important; width: 740px; margin-top:15px;' onclick='CambiarEstado()'/>"
If Session("modo") = "PROPIO" And (desgloseIncidencia.DesEstadoActual = "BORRADOR") Then
btnModIncDiv.InnerHtml = "<input type=""button"" style=""width: 740px; margin-inline:auto"" value=""MODIFICAR INCIDENCIA"" onclick=""modInc()"" class=""btnAzul btnAlargado"" />"
Else
btnModIncDiv.InnerHtml = ""
End If
If Session("modo") = "PROPIO" And desgloseIncidencia.DesEstadoActual = "BORRADOR" Then
btnBorrarIncDiv.InnerHtml = "<input type=""button"" style=""width: 740px; margin-inline:auto"" value=""ELIMINAR"" onclick=""BorrarInc(" + idAsistencia + ")"" class=""btnAzul btnAlargado"" />"
Else
btnBorrarIncDiv.InnerHtml = ""
End If
End If
tablaIncidencia.InnerHtml = html
Dim infAnexa
Dim observaciones
If desgloseIncidencia.EstadosAsistencia IsNot Nothing Then
htmllista += "<table class=""tablaPicadas""><tr><th>Fecha/Hora</th>" +
"<th>Estado</th>" +
"<th>Usuario</th>" +
"<th>Información Anexa</th>" +
"<th>Observaciones</th></tr>"
For Each est As EstadosdelaAsistencia In desgloseIncidencia.EstadosAsistencia
'If est.IdTipoEstado = 3 And Session("modo") = "PERSONAL" Then
'Else
htmllista += "<tr><td>" + CDate(est.FechaHora).ToString("dd/MM/yyyy") + "</td>" +
"<td style='text-align: center;'>" + listaEstados.FirstOrDefault(Function(x) x.idEstado = est.IdTipoEstado).Descripcion + "</td>" +
"<td>" + est.Usuario + "</td>"
If est.InformacionAnexa Is Nothing Then
infAnexa = ""
Else
infAnexa = est.InformacionAnexa
End If
htmllista += "<td>" + infAnexa + "</td>"
If est.Observaciones Is Nothing Then
observaciones = ""
Else
observaciones = est.Observaciones
End If
htmllista += "<td>" + observaciones + "</td></tr>"
'End If
Next
htmllista += "</table>"
tablaEstadoInc.InnerHtml = htmllista
End If
End If
End Sub
<System.Web.Services.WebMethod()>
Public Shared Async Function CargarDesgloseAsis(i As String, h As String) As Task(Of String)
Dim sessionUsuario As String = HttpContext.Current.Session("usuario")
Dim idAsistencia As String = i
'Dim idAsistencia As String = HttpContext.Current.Session("idAsis")
Dim cl = h
Dim sCl2 = tsl5.crypt.SHA1("M3Soft." & idAsistencia.ToString)
If sCl2 <> cl Then
Dim json = "{""cuerpo"":""ERROR--1""}"
Return json
'HttpContext.Current.Response.Redirect("/Default.aspx", False)
Else
' Dim incidencia As Incidencia = HttpContext.Current.Session("incidencia")
ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(Function() True)
Dim url2 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/ObtenAsistencia?idAsistencia=" + idAsistencia + "&Nif=" + sessionUsuario
Dim credenciales2 As New Net.CredentialCache()
Dim clienteHTTP2 As New Net.WebClient()
clienteHTTP2.Encoding = System.Text.Encoding.UTF8
clienteHTTP2.Credentials = credenciales2
Dim respuesta2 As String = clienteHTTP2.DownloadString(url2)
Dim deserializador2 As New System.Web.Script.Serialization.JavaScriptSerializer()
Dim settings2 As New Newtonsoft.Json.JsonSerializerSettings()
settings2.CheckAdditionalContent = True
Dim usu = sessionUsuario
Dim objetoDatos As ResultadoObtenAsistencia =
Newtonsoft.Json.JsonConvert.DeserializeObject(Of ResultadoObtenAsistencia)(respuesta2, settings2)
Dim idAsis = objetoDatos.idAsistencia.ToString
Dim sCl = tsl5.crypt.SHA1("M3Soft." & objetoDatos.idAsistencia.ToString)
Dim urlfichero = "/ficheroParlamento.aspx?id=" + idAsis + "&t=INCIDENCIA&nif=" + sessionUsuario + "&cl=" + sCl
Dim desgloseIncidencia = objetoDatos
Dim idIncidencia = desgloseIncidencia.idIncidenciaControlHorario
Dim usuario As String = "tecnosis"
Dim contraseña As String = "patata2022"
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()
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 Incidencia) =
deserializador3.Deserialize(Of List(Of Incidencia))(respuesta3)
Dim incidencia = listaPicada.FirstOrDefault(Function(x) x.idIncidencias = idIncidencia)
'Dim incidencia As Incidencia = HttpContext.Current.Session("incidencia")
ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(Function() True)
Dim url4 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/ObtenAsistencia?idAsistencia=" + idAsistencia + "&Nif=" + sessionUsuario
Dim credenciales4 As New Net.CredentialCache()
Dim clienteHTTP4 As New Net.WebClient()
clienteHTTP4.Encoding = System.Text.Encoding.UTF8
clienteHTTP4.Credentials = credenciales4
Dim respuesta4 As String = clienteHTTP4.DownloadString(url4)
Dim deserializador4 As New System.Web.Script.Serialization.JavaScriptSerializer()
Dim settings As New Newtonsoft.Json.JsonSerializerSettings()
settings.CheckAdditionalContent = True
'Dim usu = sessionUsuario
Dim objetoDatos1 As ResultadoObtenAsistencia =
Newtonsoft.Json.JsonConvert.DeserializeObject(Of ResultadoObtenAsistencia)(respuesta4, settings)
Dim listP As List(Of Personal) = HttpContext.Current.Session("persona").Personas
Dim persResponsable = listP.Where(Function(x) x.Dni = desgloseIncidencia.Nif).ToList
If persResponsable.Count = 0 OrElse (persResponsable(0).Dni = sessionUsuario AndAlso HttpContext.Current.Session("modo") = "PERSONAL") Then
Return "{""cuerpo"":""ERROR--1""}"
Exit Function
End If
' Dim idAsis = objetoDatos.idAsistencia.ToString
'Dim sCl = tsl5.crypt.SHA1("M3Soft." & objetoDatos.idAsistencia.ToString)
' Dim urlfichero = "/fichero.aspx?id=" + idAsis + "&t=INCIDENCIA&nif=" + sessionUsuario + "&cl=" + sCl
Dim incidenciaActual = JsonConvert.SerializeObject(incidencia)
Dim json = "{""cuerpo"":" + respuesta4 + ",""link"":""" + urlfichero + """,""incidencia"":" + incidenciaActual + ",""modo"":""" + HttpContext.Current.Session("modo") + """}"
Return json
End If
End Function
<System.Web.Services.WebMethod()>
Public Shared Async Function CargarListadoEstados() As Task(Of String)
ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(Function() True)
Dim url1 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/EstadosAsistencias"
Dim credenciales1 As New Net.CredentialCache()
Dim clienteHTTP1 As New Net.WebClient()
clienteHTTP1.Encoding = System.Text.Encoding.UTF8
clienteHTTP1.Credentials = credenciales1
Dim respuesta1 As String = clienteHTTP1.DownloadString(url1)
Dim deserializador1 As New System.Web.Script.Serialization.JavaScriptSerializer()
Dim settings As New Newtonsoft.Json.JsonSerializerSettings()
settings.CheckAdditionalContent = True
Dim listaEstados As List(Of Models.Estados) =
deserializador1.Deserialize(Of List(Of Models.Estados))(respuesta1)
'liEstInc.Value = respuesta3
Return respuesta1
End Function
<System.Web.Services.WebMethod()>
Public Shared Function ModificarEstado(i As String, h As String, idEstado As Integer, FechaInicio As String, FechaFin As String, horainiciomanana As String, horafinmanana As String,
horastrabajadasmanana As String, horainiciotarde As String, horafintarde As String, horastrabajadastarde As String, observaciones As String, fichero As String) ', nif As String, expediente As String
'Dim desgloseIncidencia As ResultadoObtenAsistencia = HttpContext.Current.Session("idIncidencia")
Dim sessionUsuario As String = HttpContext.Current.Session("usuario")
'Dim idAsistencia As String = HttpContext.Current.Session("idAsis")
Dim idAsistencia As String = i
Dim cl = h
Dim sCl2 = tsl5.crypt.SHA1("M3Soft." & idAsistencia.ToString)
If sCl2 <> cl Then
Dim json = "ERROR--1"
Return json
'HttpContext.Current.Response.Redirect("/Default.aspx", False)
Else
ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(Function() True)
Dim url2 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/ObtenAsistencia?idAsistencia=" + idAsistencia + "&Nif=" + sessionUsuario
Dim credenciales2 As New Net.CredentialCache()
Dim clienteHTTP2 As New Net.WebClient()
clienteHTTP2.Encoding = System.Text.Encoding.UTF8
clienteHTTP2.Credentials = credenciales2
Dim respuesta2 As String = clienteHTTP2.DownloadString(url2)
Dim deserializador2 As New System.Web.Script.Serialization.JavaScriptSerializer()
Dim settings2 As New Newtonsoft.Json.JsonSerializerSettings()
settings2.CheckAdditionalContent = True
Dim usu = sessionUsuario
Dim objetoDatos As ResultadoObtenAsistencia =
Newtonsoft.Json.JsonConvert.DeserializeObject(Of ResultadoObtenAsistencia)(respuesta2, settings2)
Dim idAsis = objetoDatos.idAsistencia.ToString
Dim sCl = tsl5.crypt.SHA1("M3Soft." & objetoDatos.idAsistencia.ToString)
Dim urlfichero = "/ficheroParlamento.aspx?id=" + idAsis + "&t=INCIDENCIA&nif=" + sessionUsuario + "&cl=" + sCl
Dim desgloseIncidencia = objetoDatos
Dim listP As List(Of Personal) = HttpContext.Current.Session("persona").Personas
Dim persResponsable = listP.Where(Function(x) x.Dni = desgloseIncidencia.Nif).ToList
If persResponsable.Count = 0 OrElse (persResponsable(0).Dni = sessionUsuario AndAlso HttpContext.Current.Session("modo") = "PERSONAL") Then
Return "ERROR--1"
Exit Function
End If
If idEstado = 0 Then
idEstado = desgloseIncidencia.IdEstadoActual
End If
horainiciomanana = If(horainiciomanana = "" Or horainiciomanana = "undefined", "00:00", horainiciomanana)
horafinmanana = If(horafinmanana = "" Or horafinmanana = "undefined", "00:00", horafinmanana)
horastrabajadasmanana = If(horastrabajadasmanana = "" Or horastrabajadasmanana = "undefined", "00:00", horastrabajadasmanana)
horainiciotarde = If(horainiciotarde = "" Or horainiciotarde = "undefined", "00:00", horainiciotarde)
horafintarde = If(horafintarde = "" Or horafintarde = "undefined", "00:00", horafintarde)
horastrabajadastarde = If(horastrabajadastarde = "" Or horastrabajadastarde = "undefined", "00:00", horastrabajadastarde)
If FechaFin = "" Or FechaFin = "undefined" Then
FechaFin = FechaInicio
End If
Dim nif = sessionUsuario
Dim expediente = ""
Dim us = sessionUsuario
Dim fcIn As Date = DateTime.Parse(FechaInicio)
Dim fcFn As Date = DateTime.Parse(FechaFin)
Dim fechaIni = fcIn.Month.ToString.PadLeft(2, "0") + "%2F" + fcIn.Day.ToString.PadLeft(2, "0") + "%2F" + fcIn.Year.ToString
Dim fechaEnd = fcFn.Month.ToString.PadLeft(2, "0") + "%2F" + fcFn.Day.ToString.PadLeft(2, "0") + "%2F" + fcFn.Year.ToString
ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(Function() True)
Dim clienteHTTP1 As New Net.WebClient()
clienteHTTP1.Encoding = System.Text.Encoding.UTF8
Dim FechaI As String
Dim FechaF As String
Dim idIn As String
Dim HIM As String
Dim HFM As String
Dim HTM As String
Dim HIT As String
Dim HFT As String
Dim HTT As String
Dim Ob As String
If (sessionUsuario <> desgloseIncidencia.Nif Or desgloseIncidencia.DesEstadoActual <> "BORRADOR") Then
FechaI = desgloseIncidencia.FechaInicio.Month.ToString.PadLeft(2, "0") + "%2F" + desgloseIncidencia.FechaInicio.Day.ToString.PadLeft(2, "0") + "%2F" + desgloseIncidencia.FechaInicio.Year.ToString
FechaF = desgloseIncidencia.FechaFin.Month.ToString.PadLeft(2, "0") + "%2F" + desgloseIncidencia.FechaFin.Day.ToString.PadLeft(2, "0") + "%2F" + desgloseIncidencia.FechaFin.Year.ToString
idIn = desgloseIncidencia.idIncidenciaControlHorario.ToString
HIM = desgloseIncidencia.HoraInicioManana.Replace(":", "%3A")
HFM = desgloseIncidencia.HoraFinManana.Replace(":", "%3A")
HTM = desgloseIncidencia.HorasTraManana.Replace(":", "%3A")
HIT = desgloseIncidencia.HoraInicioTarde.Replace(":", "%3A")
HFT = desgloseIncidencia.HoraFinTarde.Replace(":", "%3A")
HTT = desgloseIncidencia.HorasTraTarde.Replace(":", "%3A")
Ob = observaciones
Else
FechaI = fechaIni
FechaF = fechaEnd
idIn = desgloseIncidencia.idIncidenciaControlHorario.ToString
HIM = horainiciomanana.Replace(":", "%3A")
HFM = horafinmanana.Replace(":", "%3A")
HTM = horastrabajadasmanana.Replace(":", "%3A")
HIT = horainiciotarde.Replace(":", "%3A")
HFT = horafintarde.Replace(":", "%3A")
HTT = horastrabajadastarde.Replace(":", "%3A")
Ob = observaciones
End If
Dim url1 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/CamEstAsis?usuario=" + us + "&idAsistencia=" + idAsistencia + "&idEstado=" + idEstado.ToString + "&nif=" + nif +
"&FechaInicio=" + FechaI + "&FechaFin=" + FechaF + "&idincidencia=" + idIn + "&horainiciomanana=" + HIM + "&horafinmanana=" + HFM + "&horastrabajadasmanana=" + HTM +
"&horainiciotarde=" + HIT + "&horafintarde=" + HFT + "&horastrabajadastarde=" + HTT +
"&observaciones=" + Ob + "&expediente=" + expediente
Dim sRespuesta1 As String = clienteHTTP1.UploadString(url1, "")
'// 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 objetoaAlmacenar As New Models.AlmacenaFicheroIncidencia
objetoaAlmacenar.idAsistencia = idAsistencia
objetoaAlmacenar.Fichero = fichero
Dim jsonalmacenar As String = JsonConvert.SerializeObject(objetoaAlmacenar)
If fichero IsNot "" Then
'Dim url2 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/AlmacenaFicheroIncidencia" '?idAsistencia=" + objetoDatos.idAsistencia.ToString + "&Fichero=" + fichero
'Dim sRespuesta2 As String = clienteHTTP2.UploadString(url2, Cuerpo)
Dim respuesta = Almacenafichero(idAsistencia, fichero)
End If
'// Deserializar a una clase.
Dim settings As New Newtonsoft.Json.JsonSerializerSettings()
settings.CheckAdditionalContent = True
Dim objetoDatos1 As ResultadoListPicaEntreFechas =
Newtonsoft.Json.JsonConvert.DeserializeObject(Of ResultadoListPicaEntreFechas)(sRespuesta1, settings)
Dim Json = "[{""resultado"":""" + objetoDatos1.resultado.ToString + """,""mensaje"":""" + objetoDatos1.Mensaje + """}]"
Return Json
End If
End Function
<System.Web.Services.WebMethod()>
Public Shared Function BorrarIncidencia(id As String)
Dim sessionUsuario As String = HttpContext.Current.Session("usuario")
Dim us = sessionUsuario
Dim url2 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/ObtenAsistencia?idAsistencia=" + id + "&Nif=" + sessionUsuario
Dim credenciales2 As New Net.CredentialCache()
Dim clienteHTTP2 As New Net.WebClient()
clienteHTTP2.Encoding = System.Text.Encoding.UTF8
clienteHTTP2.Credentials = credenciales2
Dim respuesta2 As String = clienteHTTP2.DownloadString(url2)
Dim deserializador2 As New System.Web.Script.Serialization.JavaScriptSerializer()
Dim settings2 As New Newtonsoft.Json.JsonSerializerSettings()
settings2.CheckAdditionalContent = True
Dim usu = sessionUsuario
Dim objetoDatos As ResultadoObtenAsistencia =
Newtonsoft.Json.JsonConvert.DeserializeObject(Of ResultadoObtenAsistencia)(respuesta2, settings2)
Dim idAsis = objetoDatos.idAsistencia.ToString
Dim sCl = tsl5.crypt.SHA1("M3Soft." & objetoDatos.idAsistencia.ToString)
Dim urlfichero = "/ficheroParlamento.aspx?id=" + idAsis + "&t=INCIDENCIA&nif=" + sessionUsuario + "&cl=" + sCl
Dim desgloseIncidencia = objetoDatos
Dim listP As List(Of Personal) = HttpContext.Current.Session("persona").Personas
Dim persResponsable = listP.Where(Function(x) x.Dni = desgloseIncidencia.Nif).ToList
If persResponsable.Count = 0 OrElse (sessionUsuario <> desgloseIncidencia.Nif) Then
Return "ERROR--1"
Exit Function
End If
ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(Function() True)
Dim clienteHTTP1 As New Net.WebClient()
clienteHTTP1.Encoding = System.Text.Encoding.UTF8
Dim url1 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/EliminarBorrador?idAsistencia=" + id + "&Nif=" + us
Dim sRespuesta1 As String = clienteHTTP1.UploadString(url1, "")
Return sRespuesta1
End Function
<System.Web.Services.WebMethod()>
Public Shared Async Function Almacenafichero(id As String, cuerpo As String) As Task(Of String)
Try
Dim ruta = "incidencia/" + id + ".pdf"
'Dim archivo As Byte() = System.Text.Encoding.Unicode.GetBytes(file)
Dim ObjetoConsulta As New FicheroAtrasnmitir
ObjetoConsulta.idRegistro = id
ObjetoConsulta.tabla = "INCIDENCIA"
'ObjetoConsulta.Fichero = System.Convert.ToBase64String(archivo)
ObjetoConsulta.Fichero = cuerpo
Dim jsonConsulta As String = JsonConvert.SerializeObject(ObjetoConsulta)
Dim url As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/AlmacenaFicheroAtransmitir"
Dim clienteHTTP As New HttpClient
Dim contenidoConsultaHTTP As New StringContent(jsonConsulta, Encoding.UTF8, "application/json")
Debug.WriteLine("CargarListadodePicadasAsync:1===" + Now.ToLongTimeString)
Dim respuestaHTTP As HttpResponseMessage = Await clienteHTTP.PostAsync(url, contenidoConsultaHTTP).ConfigureAwait(False)
Debug.WriteLine("CargarListadodePicadasAsync:2===" + Now.ToLongTimeString)
Dim sRespuesta As String = Await respuestaHTTP.Content.ReadAsStringAsync().ConfigureAwait(False)
Debug.WriteLine("CargarListadodePicadasAsync:3===" + Now.ToLongTimeString)
Dim settings As New Newtonsoft.Json.JsonSerializerSettings()
settings.CheckAdditionalContent = True
Dim objetoDatos As ResultadoAlmacenaFicheroAtransmitir =
Newtonsoft.Json.JsonConvert.DeserializeObject(Of ResultadoAlmacenaFicheroAtransmitir)(sRespuesta, settings)
'ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(Function() True)
'Dim clienteHTTP2 As New Net.WebClient()
'clienteHTTP2.Encoding = System.Text.Encoding.UTF8
'clienteHTTP2.Headers.Add("Content-Type", "application/json")
'Dim url2 As String = ConfigurationManager.AppSettings("RutaRes").ToString + "/api/AlmacenaFicheroIncidencia"
'Dim sRespuesta2 As String = clienteHTTP2.UploadString(url2, cuerpo)
Catch ex As Exception
Debug.Print(ex.Message)
Debug.Print(ex.StackTrace)
End Try
End Function
End Class