@@ -385,9 +397,9 @@
abrirEditarLineaVida(context))" style="cursor: pointer;">
- @*
abrirPopupConfirmarBorrado(@context))" style="cursor: pointer;">
+ mostrarAvisoEliminarLinea(context))" style="cursor: pointer;">
- *@
+
@@ -408,6 +420,7 @@
private bool nueva = false;
private bool mostrarMensajeCuerpo = false;
private bool mostrarMensajeEliminar = false;
+ private bool mostrarMensajeEliminarLinea = false;
private bool mostrarAnadirLineaVida = false;
private bool mostrarEditarLineaVida = false;
private string usuarioVida { get; set; } = "";
@@ -862,9 +875,11 @@
protected void OcultarMenCuer() { mostrarMensajeCuerpo = false; }
protected void OcultarMenElim() { mostrarMensajeEliminar = false; }
protected void mostrarAvisoEliminar() { mostrarMensajeEliminar = true; }
+ protected void mostrarAvisoEliminarLinea(LINEASVIDAADMINISTRATIVA linea){lineaEditada = linea;mostrarMensajeEliminarLinea = true; }
protected void abrirAnadirLineaVida() { mostrarAnadirLineaVida = true; }
protected void abrirEditarLineaVida(LINEASVIDAADMINISTRATIVA linea) { mostrarEditarLineaVida = true; lineaEditada = linea; DESCRIPCIONLINEAVIDAED = linea.DESCRIPCION; IDTIPODOCUED = linea.IDTIPO; }
protected void cerrarAnadirLineaVida() { mostrarAnadirLineaVida = false; }
+ protected void cerrarEliminarLineaVida() { mostrarMensajeEliminarLinea = false; }
protected void cerrarEditarLineaVida() { mostrarEditarLineaVida = false; }
protected void volver() { Navigation.NavigateTo(LINKPERSONA, forceLoad: true); }
protected string urlFich(int id)
@@ -1346,6 +1361,28 @@
if (dot.IsSuccessStatusCode) { Navigation.NavigateTo(LINKPERSONA, forceLoad: true); }
}
+ protected async void BorrarLineaVida()
+ {
+ var idlinea = lineaEditada.IDLINEAVIDAADMIN;
+ var dot = await client.DeleteAsync("/api/LINEASVIDAADMINISTRATIVA/" + idlinea);
+ var dotContent = await dot.Content.ReadAsStringAsync();
+ if (dot.IsSuccessStatusCode)
+ {
+
+ var fichTrans = new AlmacenaFicheroAtransmitir();
+ fichTrans.IdRegistro = idlinea;
+ fichTrans.Tabla = "LINEAVIDAADMINISTRATIVA";
+ var jsonConsulta = JsonConvert.SerializeObject(fichTrans);
+ var content = new StringContent(jsonConsulta, Encoding.UTF8, "application/json");
+ var ficherotrans = await client.PostAsync("/api/Almacenamiento/eliminar-fichero", content);
+ var fichContent = await ficherotrans.Content.ReadAsStringAsync();
+
+ }
+ cargarGridLineas();
+ cerrarEliminarLineaVida();
+ mostrar = false;
+ StateHasChanged();
+ }
private void abrirPopupGestionLinea(LINEASVIDAADMINISTRATIVA objeto)
{
DESCRIPCIONLINEAVIDAED = objeto.DESCRIPCION!;
diff --git a/Antifraude.Net/SwaggerAntifraude/Controllers/AlmacenamientoController.cs b/Antifraude.Net/SwaggerAntifraude/Controllers/AlmacenamientoController.cs
index c2e3b64..5044aac 100644
--- a/Antifraude.Net/SwaggerAntifraude/Controllers/AlmacenamientoController.cs
+++ b/Antifraude.Net/SwaggerAntifraude/Controllers/AlmacenamientoController.cs
@@ -46,6 +46,23 @@ namespace SwaggerAntifraude.Controllers
return Ok(resultado);
}
+ return StatusCode(500, resultado);
+ }
+ [Authorize(Policy = "SupervisorPolicy")]
+ [HttpPost("eliminar-fichero")]
+ public IActionResult EliminarFichero(PeticionFichero solicitud)
+ {
+ if (string.IsNullOrEmpty(solicitud.Tabla) || solicitud.IdRegistro <= 0)
+ return BadRequest("Solicitud inválida. Asegúrese de enviar los parámetros requeridos.");
+
+ var resultado = _servicio.EliminarFicheroAtransmitir(solicitud.IdRegistro, solicitud.Tabla, solicitud.Nif);
+
+ if (resultado.Resultado == 0)
+ {
+ // Devolver el archivo como un PDF descargable
+ return Ok(resultado);
+ }
+
return StatusCode(500, resultado);
}
}
diff --git a/Antifraude.Net/SwaggerAntifraude/Controllers/DIFERENCIAPAGODELEGADOController.cs b/Antifraude.Net/SwaggerAntifraude/Controllers/DIFERENCIAPAGODELEGADOController.cs
new file mode 100644
index 0000000..8a43b46
--- /dev/null
+++ b/Antifraude.Net/SwaggerAntifraude/Controllers/DIFERENCIAPAGODELEGADOController.cs
@@ -0,0 +1,15 @@
+using bdAntifraude.db;
+using Microsoft.AspNetCore.Mvc;
+
+namespace SwaggerAntifraude.Controllers
+{
+ [ApiController]
+ [Route("api/[controller]")]
+ public class DIFERENCIAPAGODELEGADOController : GenericoController
+ {
+ public DIFERENCIAPAGODELEGADOController()
+ : base()
+ {
+ }
+ }
+}
diff --git a/Antifraude.Net/SwaggerAntifraude/Controllers/ENFERMEDADESController.cs b/Antifraude.Net/SwaggerAntifraude/Controllers/ENFERMEDADESController.cs
new file mode 100644
index 0000000..ffc5009
--- /dev/null
+++ b/Antifraude.Net/SwaggerAntifraude/Controllers/ENFERMEDADESController.cs
@@ -0,0 +1,23 @@
+using bdAntifraude.db;
+using bdAntifraude.dbcontext;
+using Microsoft.AspNetCore.Mvc;
+using System.Diagnostics;
+using Microsoft.AspNetCore.Authorization;
+using Serialize.Linq.Serializers;
+using System.Linq.Expressions;
+using Microsoft.EntityFrameworkCore;
+
+namespace SwaggerAntifraude.Controllers
+{
+ [ApiController]
+ [Route("api/[controller]")]
+ public class ENFERMEDADESController : GenericoController
+ {
+ public ENFERMEDADESController()
+ : base()
+ {
+ Debug.WriteLine("aqui");
+ }
+
+ }
+}
diff --git a/Antifraude.Net/SwaggerAntifraude/Controllers/HUELGASController.cs b/Antifraude.Net/SwaggerAntifraude/Controllers/HUELGASController.cs
new file mode 100644
index 0000000..387dae2
--- /dev/null
+++ b/Antifraude.Net/SwaggerAntifraude/Controllers/HUELGASController.cs
@@ -0,0 +1,15 @@
+using bdAntifraude.db;
+using Microsoft.AspNetCore.Mvc;
+
+namespace SwaggerAntifraude.Controllers
+{
+ [ApiController]
+ [Route("api/[controller]")]
+ public class HUELGASController : GenericoController
+ {
+ public HUELGASController()
+ : base()
+ {
+ }
+ }
+}
diff --git a/Antifraude.Net/SwaggerAntifraude/Controllers/MATERNIDADESController.cs b/Antifraude.Net/SwaggerAntifraude/Controllers/MATERNIDADESController.cs
new file mode 100644
index 0000000..90a1cc4
--- /dev/null
+++ b/Antifraude.Net/SwaggerAntifraude/Controllers/MATERNIDADESController.cs
@@ -0,0 +1,23 @@
+using bdAntifraude.db;
+using bdAntifraude.dbcontext;
+using Microsoft.AspNetCore.Mvc;
+using System.Diagnostics;
+using Microsoft.AspNetCore.Authorization;
+using Serialize.Linq.Serializers;
+using System.Linq.Expressions;
+using Microsoft.EntityFrameworkCore;
+
+namespace SwaggerAntifraude.Controllers
+{
+ [ApiController]
+ [Route("api/[controller]")]
+ public class MATERNIDADESController : GenericoController
+ {
+ public MATERNIDADESController()
+ : base()
+ {
+ Debug.WriteLine("aqui");
+ }
+
+ }
+}
diff --git a/Antifraude.Net/SwaggerAntifraude/Controllers/PERMISOSSINRETRIBUCIONController.cs b/Antifraude.Net/SwaggerAntifraude/Controllers/PERMISOSSINRETRIBUCIONController.cs
new file mode 100644
index 0000000..d71364f
--- /dev/null
+++ b/Antifraude.Net/SwaggerAntifraude/Controllers/PERMISOSSINRETRIBUCIONController.cs
@@ -0,0 +1,15 @@
+using bdAntifraude.db;
+using Microsoft.AspNetCore.Mvc;
+
+namespace SwaggerAntifraude.Controllers
+{
+ [ApiController]
+ [Route("api/[controller]")]
+ public class PERMISOSSINRETRIBUCIONController : GenericoController
+ {
+ public PERMISOSSINRETRIBUCIONController()
+ : base()
+ {
+ }
+ }
+}
diff --git a/Antifraude.Net/SwaggerAntifraude/Controllers/PERSONASController.cs b/Antifraude.Net/SwaggerAntifraude/Controllers/PERSONASController.cs
index e9f561d..f62a0f6 100644
--- a/Antifraude.Net/SwaggerAntifraude/Controllers/PERSONASController.cs
+++ b/Antifraude.Net/SwaggerAntifraude/Controllers/PERSONASController.cs
@@ -155,6 +155,9 @@ namespace SwaggerAntifraude.Controllers
.Include(pue => pue.PUESTOSIDPERSONALNavigation)
.ThenInclude(rpt => rpt.IDRPTDESNavigation)
.ThenInclude(rpt => rpt.IDUNIDADADMINISTRATIVANavigation)
+ .Include(pue => pue.PUESTOSIDPERSONALNavigation)
+ .ThenInclude(rpt => rpt.IDRPTDESNavigation)
+ .ThenInclude(x => x.IDDEPARTAMENTONavigation)
.Include(pue => pue.PUESTOSIDPERSONALNavigation)
.Include(pue => pue.EXCEPCIONESPERMISOSIDPERSONANavigation)
.ThenInclude(exc=>exc.IDDEPARTAMENTONavigation)
@@ -201,6 +204,9 @@ namespace SwaggerAntifraude.Controllers
.Include(cp => cp.IDDEPARTAMENTONavigation)
.Include(cp => cp.CODIGOMUNICIPIONavigation)
.ThenInclude(cpro => cpro.CODIGOPROVINCIANavigation)
+ .Include(pue => pue.PUESTOSIDPERSONALNavigation)
+ .ThenInclude(rpt => rpt.IDRPTDESNavigation)
+ .ThenInclude(x => x.IDDEPARTAMENTONavigation)
.AsNoTracking()
.FirstOrDefault(p => p.NIF == nif);
if (persona == null)
diff --git a/Antifraude.Net/SwaggerAntifraude/Servicios/ServicioAlmacenamiento.cs b/Antifraude.Net/SwaggerAntifraude/Servicios/ServicioAlmacenamiento.cs
index 857df11..fb73471 100644
--- a/Antifraude.Net/SwaggerAntifraude/Servicios/ServicioAlmacenamiento.cs
+++ b/Antifraude.Net/SwaggerAntifraude/Servicios/ServicioAlmacenamiento.cs
@@ -91,9 +91,6 @@ namespace SwaggerAntifraude.Servicios
return resultado;
}
-
-
-
public ResultadoObtenFicheroAtransmitir DevolverObtenFicheroAtransmitir(int idRegistro, string tabla, string nif)
{
var resultado = new ResultadoObtenFicheroAtransmitir();
@@ -181,11 +178,99 @@ namespace SwaggerAntifraude.Servicios
resultado.Mensaje += $" {ex.InnerException.Message}";
}
}
+
+ return resultado;
+ }
+ public ResultadoObtenFicheroAtransmitir EliminarFicheroAtransmitir(int idRegistro, string tabla, string nif)
+ {
+ var resultado = new ResultadoObtenFicheroAtransmitir();
+
+ try
+ {
+ // Obtener el nombre de la base de datos utilizando el contexto
+ string baseDeDatos;
+ using (var context = tsGestionAntifraude.NuevoContexto(SoloLectura: true))
+ {
+ baseDeDatos = context.Database.GetDbConnection().Database;
+ }
+
+ Conf = new ConfigurationBuilder()
+ .AddJsonFile("appsettings.json")
+ .Build();
+ baseDeDatos = Conf.GetSection("BaseDatos").Value; ;
+
+ //if (string.IsNullOrEmpty(baseDeDatos))
+ //{
+ // baseDeDatos = "preproduccion";
+ //}
+
+ // Generar la ruta base
+ string ruta = $"{baseDeDatos.ToLower()}/registrodepersonal";
+
+ switch (tabla.ToUpper())
+ {
+ case "LINEAVIDAADMINISTRATIVA":
+ ruta += "/lineavidaadministrativa/";
+ break;
+ case "FORMACION":
+ ruta += "/formacion/";
+ break;
+ case "TITULACION":
+ ruta += "/titulacion/";
+ break;
+ case "DOCENCIA":
+ ruta += "/docencia/";
+ break;
+ case "INCIDENCIA":
+ ruta = $"{baseDeDatos.ToLower()}/control_horario/";
+ break;
+ case "CSV":
+ using (var context = tsGestionAntifraude.NuevoContexto(SoloLectura: true))
+ {
+ //ruta += context.VALIDACIONDOCUMENTOS.First(x => x.CSV == nif).RUTAFICHERO;
+ }
+ break;
+ default:
+ resultado.Resultado = 1;
+ resultado.Mensaje = "Tabla no contemplada entre las posibles para tener ficheros";
+ return resultado;
+ }
+
+ if (tabla.ToUpper() != "CSV")
+ {
+ ruta += $"{idRegistro}.pdf";
+ }
+
+ resultado.Mensaje = $"Ruta: {ruta}";
+
+ // Descargar el archivo desde el servidor SFTP
+ using (var context = tsGestionAntifraude.NuevoContexto(SoloLectura: true))
+ using (var clienteSftp = ConectarServidorSftp(context))
+ {
+ clienteSftp.Connect();
+
+ //using var memoryStream = new MemoryStream();
+ clienteSftp.DeleteFile(ruta);
+ clienteSftp.Disconnect();
+
+ //resultado.Pdf = memoryStream.ToArray();
+ }
+
+ resultado.Resultado = 0;
+ }
+ catch (Exception ex)
+ {
+ resultado.Resultado = 1;
+ resultado.Mensaje = $"ERROR de generación: {ex.Message}";
+
+ if (ex.InnerException != null)
+ {
+ resultado.Mensaje += $" {ex.InnerException.Message}";
+ }
+ }
return resultado;
}
-
-
private SftpClient ConectarServidorSftp(tsGestionAntifraude context)
{
var configuraciones = context.ENUMERACIONES
diff --git a/Antifraude.Net/SwaggerAntifraude/appsettings.json b/Antifraude.Net/SwaggerAntifraude/appsettings.json
index 8de5b19..16a73d3 100644
--- a/Antifraude.Net/SwaggerAntifraude/appsettings.json
+++ b/Antifraude.Net/SwaggerAntifraude/appsettings.json
@@ -5,15 +5,15 @@
"Audience": "TuDominio.com",
"ExpiresInMinutes": 60
},
- "ConnectionStrings": {
- "WriteConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDEDESARROLLO",
- "ReadOnlyConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDEDESARROLLO"
- },
- //PRODUCCION
//"ConnectionStrings": {
- // "WriteConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDE",
- // "ReadOnlyConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDE"
+ // "WriteConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDEDESARROLLO",
+ // "ReadOnlyConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDEDESARROLLO"
//},
+ //PRODUCCION
+ "ConnectionStrings": {
+ "WriteConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDE",
+ "ReadOnlyConnection": "DATA SOURCE=192.168.41.203:21521/XE;PASSWORD=antifraude2022;PERSIST SECURITY INFO=True;USER ID=ANTIFRAUDE"
+ },
"Logging": {
"LogLevel": {
"Default": "Information",
diff --git a/Antifraude.Net/bdAntifraude/extensiones/PERSONAS.cs b/Antifraude.Net/bdAntifraude/extensiones/PERSONAS.cs
index 2bcdb57..70e401d 100644
--- a/Antifraude.Net/bdAntifraude/extensiones/PERSONAS.cs
+++ b/Antifraude.Net/bdAntifraude/extensiones/PERSONAS.cs
@@ -41,8 +41,8 @@ namespace bdAntifraude.db
var aa = this;
var puesto = PUESTOSIDPERSONALNavigation?.FirstOrDefault(x => x.IDRPTNavigation?.IDSITUACIONNavigation?.DESCRIPCION == "ACTIVA");
-
- return puesto?.IDRPTDESNavigation?.DESDEP ?? "";
+
+ return puesto?.IDRPTDESNavigation?.IDDEPARTAMENTONavigation?.DESCRIPCION ?? "";
}
}