WCF Service

NET-WS-FormacionCUN

WCF service for training/formación management

83
Endpoints
24
Internal Funcs
94
SQL Statements

Last commit: 2025-08-28

🔗 Cross-service similarity detected

⚠ Similar operations in other services:
GetPenalizacion also in → NET-WS-Telemedicina
DeletePenalizacion also in → NET-WS-Telemedicina
GetCursosList also in → NET-WS-Telemedicina
GetCurso also in → NET-WS-Telemedicina
AddCurso also in → NET-WS-Telemedicina
UpdateCurso also in → NET-WS-Telemedicina
DeleteCurso also in → NET-WS-Telemedicina
CheckCursoExiste also in → NET-WS-Telemedicina
🔁 Similar SQL queries found in other services:
SELECT * FROM [Hoja1$]…
→ also in NET-AnonimizadorDICOM, NET-WS-Farmacia, NET-WS-CRM
SELECT EC12ID_PROCEDIMIENTO_FUN FROM EC1200, EC0100…
→ also in NET-WS-HL7Broker, NET-WS-Farmacia, NET-WS-CRM
SELECT NVL(MAX(CI10.CI10NUMDIRECCI), 0) + 1 CI10NUMDIRECCI FROM CI1000 CI10 WHERE CI10.CI2…
→ also in NET-WS-Farmacia, NET-WS-CRM
SELECT 1 EXISTE FROM CI1000 WHERE CI21CODPERSONA = :codigoPersonaCUN AND CI10NUMDIRECCI = …
→ also in NET-WS-CRM
SELECT CI21CODPERSONA, CI10NUMDIRECCI FROM CI1000 WHERE CI10CAMPOID_SF = :idDireccionSales…
→ also in NET-WS-FuncionesGenerales, NET-WS-HL7Broker, NET-WS-Laboratorio, NET-WS-Informes
🗄 Shared DB tables with other services:
dualsg0200CA1000CA1100CA1200CA1700

📋 Endpoints Overview (83)

Operation ⇅Verb Returns ⇅Parameters SQLs ⇅DescriptionFlags
GetOrganizadores SOAP RespListOrganizador 1 Obtiene una lista de organizadores
ObtenerOrganizadorByCod SOAP RespOrganizador codOrganizador 1 Obtener un Organizador por su código
GetCursosList SOAP RespListCurso fechaDesde, fechaHasta, mostrarEdiciones 4 Obtiene todos los cursos que cumplan las condiciones establecidas 🔁
GetCurso SOAP RespCurso codCurso 1 Obtiene la información del curso concreto, junto con sus ediciones 🔁
AddCurso SOAP RespCurso nomCurso, descCurso, dirigidoA, rutaProg, rutaCursoWeb 2 Crea un nuevo curso 🔁
UpdateCurso SOAP RespCurso codCurso, nomCurso, descCurso, dirigidoA, rutaProg, rutaCursoWeb 1 Actualiza un curso existente 🔁
DeleteCurso SOAP RespVoid codCurso, forzarBaja 3 Eliminar un curso existente 🔁
CheckCursoExiste SOAP RespBool codCurso, nomCurso, otroCurso 3 Comprueba si un curso existe a partir del nombre 🔁
CheckCursoTieneEdiciones SOAP RespBool codCurso 1 Comprueba si un curso tiene ediciones 🔁
GetCursosListV2 SOAP RespListCursoV2 fechaDesde, fechaHasta, mostrarEdiciones, codOrganizador, incluirTransversales 3 Obtiene todos los cursos que cumplan las condiciones establecidas 🔁
GetCursoV2 SOAP RespCursoV2 codCurso 1 Obtiene la información del curso concreto, junto con sus ediciones 🔁
AddCursoV2 SOAP RespCursoV2 nomCurso, descCurso, dirigidoA, rutaProg, rutaCursoWeb, codOrganizador, tipoCurso, txtExpediente, modalidad, indTransversal, codFundae, abreviatura 2 Crea un nuevo curso 🔁
UpdateCursoV2 SOAP RespCursoV2 codCurso, nomCurso, descCurso, dirigidoA, rutaProg, rutaCursoWeb, codOrganizador, tipoCurso, txtExpediente, modalidad, indTransversal, codFundae, abreviatura 1 Actualiza un curso existente 🔁
CheckCursoExisteV2 SOAP RespBool codCurso, nomCurso, otroCurso, codOrganizador, abreviatura 3 Comprueba si un curso existe a partir del nombre 🔁
GetCursosUsuario SOAP RespListCursoV3 codUsuario, fechaDesde, fechaHasta, codOrganizador, incluirTransversales, estado 1
GetCursosUsuarioV2 SOAP RespListCursoV4 codUsuario, fechaDesde, fechaHasta, codOrganizador, incluirTransversales, estado 1
GetCursosListV4 SOAP RespListCursoV4 fechaDesde, fechaHasta, mostrarEdiciones, codOrganizador, incluirTransversales, username, soloFavoritos 4 Obtiene todos los cursos que cumplan las condiciones establecidas 🔁
GetCursoV4 SOAP RespCursoV4 codCurso 1 🔁
AddCursoV4 SOAP RespCursoV4 nomCurso, descCurso, dirigidoA, rutaProg, rutaCursoWeb, codOrganizador, tipoCurso, txtExpediente, modalidad, indTransversal, codFundae, abreviatura 2 🔁
UpdateCursoV4 SOAP RespCursoV4 codCurso, nomCurso, descCurso, dirigidoA, rutaProg, rutaCursoWeb, codOrganizador, tipoCurso, txtExpediente, modalidad, indTransversal, codFundae, abreviatura 1 🔁
AddFavorito SOAP RespVoid codCurso, username 2
DeleteFavorito SOAP RespVoid codCurso, username 1
GetEdicionesList SOAP RespListEdicion codCurso 1 Obtiene todas las ediciones de un curso 🔁
GetAllEdiciones SOAP RespListEdicion 1 Obtiene todas las ediciones de un curso 🔁
GetEdicion SOAP RespEdicion codCurso, numEdicion 0 Obtiene la información de la edición concreta 🔁
AddEdicion SOAP RespEdicion codCurso, aula, fechaIni, fechaFin, fechaLimite, fechaFinVis, horario, plazas, plazasRes, duracion, cancelada 2 Crea una nueva edición de un curso 🔁
UpdateEdicion SOAP RespEdicion codCurso, numEdicion, aula, fechaIni, fechaFin, fechaLimite, fechaFinVis, horario, plazas, plazasRes, duracion 1 Actualiza una edición existente 🔁
DeleteEdicion SOAP RespVoid codCurso, numEdicion, forzarBaja 2 Eliminar una edición existente 🔁
CancelarEdicion SOAP RespEdicion codCurso, numEdicion 1 Pone el campo CA11INDCANCELADA a -1 (edición cancelada) 🔁
CheckEdicionExiste SOAP RespBool codCurso, numEdicion, aula, horario, fechaIni, otraEdicion 3 Comprueba si una edición existe a partir del aula, horario y fechaIni 🔁
CheckEdicionExisteV2 SOAP RespBool codCurso, numEdicion, nomEdicion, otraEdicion 1 Comprueba si una edición existe a partir del curso y nombre 🔁
CheckEdicionTieneInscripciones SOAP RespBool codCurso, numEdicion 1 Comprueba si una edición tiene inscripciones 🔁
GetCursoEdicion SOAP RespCurso codCurso, numEdicion 0 Obtiene la información del curso y edición especificados 🔁
CheckEdicionActiva SOAP RespBool codCurso, numEdicion 1 Comprueba si una edición está activa: Para la edición: Comprobar si la fecha actual está dentro de l…
GetEdicionesListV2 SOAP RespListEdicionV2 codCurso 1 Obtiene todas las ediciones de un curso 🔁
GetAllEdicionesV2 SOAP RespListEdicionV2 1 Obtiene todas las ediciones de un curso 🔁
GetEdicionV2 SOAP RespEdicionV2 codCurso, numEdicion 0 Obtiene la información de la edición concreta 🔁
AddEdicionV2 SOAP RespEdicionV2 codCurso, aula, fechaIni, fechaFin, fechaLimite, fechaFinVis, horario, plazas, plazasRes, duracion, rutaBase, nomEdicion 2 Crea una nueva edición de un curso 🔁
UpdateEdicionV2 SOAP RespEdicionV2 codCurso, numEdicion, aula, fechaIni, fechaFin, fechaLimite, fechaFinVis, horario, plazas, plazasRes, duracion, rutaBase, nomEdicion 1 Actualiza una edición existente 🔁
UpdateRutaCarpetaEdicionesV2 SOAP RespBool codCurso, nombreCursoOri, nombreCursoNew 1
CancelarEdicionV2 SOAP RespEdicionV2 codCurso, numEdicion 1 Pone el campo CA11INDCANCELADA a -1 (edición cancelada) 🔁
GetCursoEdicionV2 SOAP RespCursoV2 codCurso, numEdicion 0 Obtiene la información del curso y edición especificados 🔁
GetInscripcionesList SOAP RespListInscripcion codCurso, numEdicion, estado 1 Obtiene todas las inscripciones a un curso/edicion 🔁
GetInscripcion SOAP RespInscripcion codCurso, numEdicion, dni 1 Obtiene la inscripción de un usuario a un curso/edicion. Si existe una con estado = 2 (baja) no se d… 🔁
AddInscripcion SOAP RespInscripcion codCurso, numEdicion, dni, nombre, primerApellido, segundoApellido, categoria, departamento, planta, extension, email, observaciones, codigo, sede 5 Añade una nueva inscripción 🔁
UpdateInscripcion SOAP RespInscripcion codCurso, numEdicion, numInscripcion, dni, nombre, primerApellido, segundoApellido, categoria, departamento, planta, extension, email, observaciones, codigo, asiste, estado, sede 3 Actualizar una inscripción 🔁
UpdateEstadoInscripcion SOAP RespInscripcion codCurso, numEdicion, dni, estado 2 Actualiza el estado de una inscripción, a partir del DNI 🔁
DarBajaInscritos SOAP RespVoid codCurso, numEdicion 2 Pone todos los usuarios de un curso en estado "baja", y resetea las plazas disponibles 🔁
CheckUsuarioInscrito SOAP RespBool codCurso, numEdicion, dni 0 Comprueba si un usuario ya está inscrito a una edición. Si numEdicion es 0, se comprobará que no est… 🔁
CheckPlazasDisponibles SOAP RespBool codCurso, numEdicion, tipo 1 Comprueba si quedan plazas o plazas en reserva disponibles 🔁
CheckFechaLimite SOAP RespBool codCurso, numEdicion 1 Comprueba si cumple con la fecha límite
ActivarInscripcionEnReserva SOAP RespInscripcion codCurso, numEdicion 2 Busca la 1ª inscripción que esté en reserva y la pasa a estado 4 (Pte validación) 🔁
GetCursosConInscritos SOAP RespListCurso 3 Obtiene todos a futuro que tengan ediciones con usuarios inscritos 🔁
GetAllInscripcionesFuturas SOAP RespListInscripcion codCurso, numEdicion, estado 1 Obtiene todas las inscripciones para un curso/edicion a futuro 🔁
GetInscripcionesListV2 SOAP RespListInscripcionV2 codCurso, numEdicion, estado 1 Obtiene todas las inscripciones a un curso/edicion 🔁
GetInscripcionV2 SOAP RespInscripcionV2 codCurso, numEdicion, numInscripcion 0 Obtiene la inscripción de un usuario a un curso/edicion. Si existe una con estado = 2 (baja) no se d… 🔁
AddInscripcionV2 SOAP RespInscripcionV2 codCurso, numEdicion, dni, nombre, primerApellido, segundoApellido, categoria, departamento, planta, extension, email, observaciones, codigo, sede, indCert, rutaCert, indExpediente, titulacion 5 Añade una nueva inscripción 🔁
UpdateInscripcionV2 SOAP RespInscripcionV2 codCurso, numEdicion, numInscripcion, dni, nombre, primerApellido, segundoApellido, categoria, departamento, planta, extension, email, observaciones, codigo, asiste, estado, sede, indCert, rutaCert, indExpediente, titulacion 3 Actualizar una inscripción 🔁
UpdateEstadoInscripcionV2 SOAP RespInscripcionV2 codCurso, numEdicion, numInscripcion, estado 2 Actualiza el estado de una inscripción, a partir del DNI 🔁
ActivarInscripcionEnReservaV2 SOAP RespInscripcionV2 codCurso, numEdicion 2 Busca la 1ª inscripción que esté en reserva y la pasa a estado 4 (Pte validación) 🔁
GetCursosConInscritosV2 SOAP RespListCursoV2 3 Obtiene todos a futuro que tengan ediciones con usuarios inscritos 🔁
GetAllInscripcionesFuturasV2 SOAP RespListInscripcionV2 codCurso, numEdicion, estado 1 Obtiene todas las inscripciones para un curso/edicion a futuro 🔁
UpdateAsistencia SOAP RespBool numInscripcion 1 Actualiza la asistencia de una inscripción
UpdateCertificado SOAP RespInscripcionV2 numInscripcion, rutaCert 1 Actualiza la ruta del certificado de una inscripción
AddAsistencia SOAP RespBool codCurso, numEdicion, numSesion, dni, nombre, primerApellido, segundoApellido, categoria, departamento, planta, extension, email, observaciones, codigo, sede, indCert, rutaCert, indExpediente, titulacion, fechaAsiste, rutaFirma, numInscripcion 0 Añade una nueva inscripción, sin tener en cuenta las plazas, y marcando asiste = -1. Busca si ya exi…
GetSesionesList SOAP RespListSesiones numEdicion 0 Devuelve las sesiones que cuelgan de una edición. 🔁
GetSesion SOAP RespSesion numSesion 0 Devuelve una sesión concreta
AddSesion SOAP RespSesion sesion 2 Registra una nueva sesión.
UpdateSesion SOAP RespSesion sesion 1 Actualiza una sesión.
CancelarSesion SOAP RespSesion numEdicion, numSesion 1 Cancela una sesión.
DeleteSesion SOAP RespSesion numEdicion, numSesion 1 Borrar una sesión.
CheckSesionExiste SOAP RespBool numEdicion, numSesion, fecha, horario, otraSesion 1 Comprueba si una sesion existe a partir de la edicion, la fecha y el horario 🔁
GetAsistenciasSesion SOAP RespListAsistencia numEdicion, numSesion 1 Obtiene la lista de asistencias a una sesión.
GetAsistenciasInscripcion SOAP RespListAsistencia numEdicion, numInscripcion 1 Obtiene la lista de asistencias a una inscripción de un participante.
AddAsistenciaSesion SOAP RespAsistencia numSesion, numInscripcion, rutaFirma 3 Registra una asistencia a una sesión.
GetPenalizacionesList SOAP RespListPenalizacion fechaDesde, fechaHasta 1 Obtiene todas las penalizaciones que cumplan las condiciones establecidas 🔁
GetPenalizacion SOAP RespPenalizacion numReg 0 Obtiene la información una penalización en concreto 🔁
AddPenalizacion SOAP RespPenalizacion dni, fechaIni, fechaFin 2 Crea una nueva penalizacion 🔁
UpdatePenalizacion SOAP RespPenalizacion numReg, dni, fechaIni, fechaFin 1 Actualiza una penalizacion existente 🔁
DeletePenalizacion SOAP RespVoid numReg 1 Eliminar una penalización existente 🔁
CheckPenalizacionExiste SOAP RespBool dni, fechaIni 1 Comprueba si una penalización existe a partir del dni y fechaIni 🔁
CheckUsuarioPenalizado SOAP RespBool dni, codCurso, numEdicion 1 Comprueba si un usuario tiene una penalización activa para la fecha de la edición. 🔁
GetSedesList SOAP RespListSede 1 Obtiene todas las sedes 🔁

🔌 Endpoint Details

GetOrganizadores

SOAP

Obtiene una lista de organizadores

📥 Input Parameters

📤 Return Type

RespListOrganizador

🗄 SQL Queries (1)

SELECT CA25CODORGANIZADOR, CA25NOMBRE, CA25EMAIL

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Obtiene una lista de organizadores
/// </summary>
/// <returns>RespListOrganizador</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetOrganizadores_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();


            // Act
            var result = client.GetOrganizadores();

            // Assert
            Assert.IsNotNull(result.Resultado);
        }

        [TestMethod]
        public void Test_GetOrganizadores_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();


            // Act
            var result = client.GetOrganizadores();

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

ObtenerOrganizadorByCod

SOAP

Obtener un Organizador por su código

📥 Input Parameters

intcodOrganizador

📤 Return Type

RespOrganizador

🗄 SQL Queries (1)

SELECT CA25CODORGANIZADOR, CA25NOMBRE, CA25EMAIL

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Obtener un Organizador por su código
/// </summary>
/// <param name="codOrganizador">TODO: describe codOrganizador</param>
/// <returns>RespOrganizador</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_ObtenerOrganizadorByCod_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codOrganizador = 1;

            // Act
            var result = client.ObtenerOrganizadorByCod(codOrganizador);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_ObtenerOrganizadorByCod_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codOrganizador = -1;

            // Act
            var result = client.ObtenerOrganizadorByCod(codOrganizador);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetCursosList

SOAP ⚠ Needs Review

Obtiene todos los cursos que cumplan las condiciones establecidas

⚠ Similar operation GetCursosList exists in: NET-WS-Telemedicina
Needs Technical Revision — TODO/FIXME markers or incomplete logic detected

📥 Input Parameters

stringfechaDesde
stringfechaHasta
boolmostrarEdiciones

📤 Return Type

RespListCurso
CA1000 CA1100

🗄 SQL Queries (4)

SELECT CA10CODCURSO FROM CA1000 WHERE CA25CODORGANIZADOR = 1
CA1000
AND CA10CODCURSO IN (SELECT CA10CODCURSO FROM CA1100 WHERE
CA1100
SELECT CA10CODCURSO FROM CA1000
CA1000
SELECT CA11NUMEDICION FROM CA1100
CA1100
Table CA1000 also used in: NET-WS-Telemedicina
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

Filtrar directamente por CodOrganizador = 1 (enfermería)
Si hay fechaDesde y fechaHasta, añadirlo como condición
Si hay fechaDesde y fechaHasta, añadirlo como condición
📝 Suggested XML doc comment
/// <summary>
/// Obtiene todos los cursos que cumplan las condiciones establecidas
/// </summary>
/// <param name="fechaDesde">TODO: describe fechaDesde</param>
/// <param name="fechaHasta">TODO: describe fechaHasta</param>
/// <param name="mostrarEdiciones">TODO: describe mostrarEdiciones</param>
/// <returns>RespListCurso</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetCursosList_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var fechaDesde = "test_value";
            var fechaHasta = "test_value";
            var mostrarEdiciones = true;

            // Act
            var result = client.GetCursosList(fechaDesde, fechaHasta, mostrarEdiciones);

            // Assert
            Assert.IsNotNull(result.Resultado);
        }

        [TestMethod]
        public void Test_GetCursosList_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var fechaDesde = null;
            var fechaHasta = null;
            var mostrarEdiciones = -1;

            // Act
            var result = client.GetCursosList(fechaDesde, fechaHasta, mostrarEdiciones);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetCurso

📋 COPY-PASTE 85% SOAP

Obtiene la información del curso concreto, junto con sus ediciones

⚠ Similar operation GetCurso exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso

📤 Return Type

RespCurso
CA1100

🗄 SQL Queries (1)

SELECT CA11NUMEDICION FROM CA1100 WHERE CA10CODCURSO = :codCurso
CA1100
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Obtiene la información del curso concreto, junto con sus ediciones
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <returns>RespCurso</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetCurso_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;

            // Act
            var result = client.GetCurso(codCurso);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_GetCurso_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;

            // Act
            var result = client.GetCurso(codCurso);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

AddCurso

📋 COPY-PASTE 97% SOAP

Crea un nuevo curso

⚠ Similar operation AddCurso exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 97%  ·  Same code found in 1 other service(s): NET-WS-Telemedicina
Suggested library: cysnet.cun.formacion.common

📥 Input Parameters

stringnomCurso
stringdescCurso
stringdirigidoA
stringrutaProg
stringrutaCursoWeb

📤 Return Type

RespCurso
dual CA1000

🗄 SQL Queries (2)

SELECT CA10CODCURSO_SEQUENCE.NEXTVAL FROM dual
dual
INSERT INTO CA1000 (CA10CODCURSO, CA10NOMCURSO, CA10DESCURSO, CA10DIRIGIDOA, CA10RUTAPROG, CA10RUTACURSOWEB)
CA1000
Table CA1000 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

1. Obtener el ID de curso que toca insertar:
2. Insertar el curso:
Obtener los datos del curso recién creado
📝 Suggested XML doc comment
/// <summary>
/// Crea un nuevo curso
/// </summary>
/// <param name="nomCurso">TODO: describe nomCurso</param>
/// <param name="descCurso">TODO: describe descCurso</param>
/// <param name="dirigidoA">TODO: describe dirigidoA</param>
/// <param name="rutaProg">TODO: describe rutaProg</param>
/// <param name="rutaCursoWeb">TODO: describe rutaCursoWeb</param>
/// <returns>RespCurso</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_AddCurso_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var nomCurso = "test_value";
            var descCurso = "test_value";
            var dirigidoA = "test_value";
            var rutaProg = "test_value";
            var rutaCursoWeb = "test_value";

            // Act
            var result = client.AddCurso(nomCurso, descCurso, dirigidoA, rutaProg, rutaCursoWeb);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_AddCurso_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var nomCurso = null;
            var descCurso = null;
            var dirigidoA = null;
            var rutaProg = null;
            var rutaCursoWeb = null;

            // Act
            var result = client.AddCurso(nomCurso, descCurso, dirigidoA, rutaProg, rutaCursoWeb);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

UpdateCurso

📋 COPY-PASTE 85% SOAP

Actualiza un curso existente

⚠ Similar operation UpdateCurso exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
stringnomCurso
stringdescCurso
stringdirigidoA
stringrutaProg
stringrutaCursoWeb

📤 Return Type

RespCurso
CA1000

🗄 SQL Queries (1)

UPDATE CA1000 SET
CA1000
Table CA1000 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

Obtener los datos del curso recién creado
📝 Suggested XML doc comment
/// <summary>
/// Actualiza un curso existente
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="nomCurso">TODO: describe nomCurso</param>
/// <param name="descCurso">TODO: describe descCurso</param>
/// <param name="dirigidoA">TODO: describe dirigidoA</param>
/// <param name="rutaProg">TODO: describe rutaProg</param>
/// <param name="rutaCursoWeb">TODO: describe rutaCursoWeb</param>
/// <returns>RespCurso</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_UpdateCurso_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var nomCurso = "test_value";
            var descCurso = "test_value";
            var dirigidoA = "test_value";
            var rutaProg = "test_value";
            var rutaCursoWeb = "test_value";

            // Act
            var result = client.UpdateCurso(codCurso, nomCurso, descCurso, dirigidoA, rutaProg, rutaCursoWeb);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_UpdateCurso_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var nomCurso = null;
            var descCurso = null;
            var dirigidoA = null;
            var rutaProg = null;
            var rutaCursoWeb = null;

            // Act
            var result = client.UpdateCurso(codCurso, nomCurso, descCurso, dirigidoA, rutaProg, rutaCursoWeb);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

DeleteCurso

📋 COPY-PASTE 99% SOAP

Eliminar un curso existente

⚠ Similar operation DeleteCurso exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 99%  ·  Same code found in 1 other service(s): NET-WS-Telemedicina
Suggested library: cysnet.cun.formacion.common

📥 Input Parameters

intcodCurso
boolforzarBaja

📤 Return Type

RespVoid
CA1000 CA1100

🗄 SQL Queries (3)

UPDATE CA1000 SET CA10FECHABAJA = SYSDATE WHERE CA10CODCURSO = :codCurso
CA1000
DELETE FROM CA1000 WHERE CA10CODCURSO = :codCurso
CA1000
UPDATE CA1100 SET CA11FECHABAJA = SYSDATE WHERE CA10CODCURSO = :codCurso
CA1100
Table CA1000 also used in: NET-WS-Telemedicina
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Eliminar un curso existente
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="forzarBaja">TODO: describe forzarBaja</param>
/// <returns>RespVoid</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_DeleteCurso_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var forzarBaja = true;

            // Act
            var result = client.DeleteCurso(codCurso, forzarBaja);

            // Assert
            Assert.IsNotNull(result);
        }

        [TestMethod]
        public void Test_DeleteCurso_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var forzarBaja = -1;

            // Act
            var result = client.DeleteCurso(codCurso, forzarBaja);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

CheckCursoExiste

📋 COPY-PASTE 85% SOAP

Comprueba si un curso existe a partir del nombre

⚠ Similar operation CheckCursoExiste exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
stringnomCurso
boolotroCurso

📤 Return Type

RespBool
CA1000

🗄 SQL Queries (3)

SELECT CA10CODCURSO FROM CA1000 WHERE CA10CODCURSO = :codCurso
CA1000
SELECT CA10CODCURSO FROM CA1000 WHERE CA10CODCURSO != :codCurso AND CA25CODORGANIZADOR = 1 AND CA10NOMCURSO = :nomCurso AND CA10FECHABAJA IS NULL
CA1000
SELECT CA10CODCURSO FROM CA1000 WHERE CA10NOMCURSO = :nomCurso AND CA25CODORGANIZADOR = 1 AND CA10FECHABAJA IS NULL
CA1000
Table CA1000 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

Filtrar directamente por CodOrganizador = 1 (enfermería)
Filtrar directamente por CodOrganizador = 1 (enfermería)
📝 Suggested XML doc comment
/// <summary>
/// Comprueba si un curso existe a partir del nombre
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="nomCurso">TODO: describe nomCurso</param>
/// <param name="otroCurso">TODO: describe otroCurso</param>
/// <returns>RespBool</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_CheckCursoExiste_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var nomCurso = "test_value";
            var otroCurso = true;

            // Act
            var result = client.CheckCursoExiste(codCurso, nomCurso, otroCurso);

            // Assert
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_CheckCursoExiste_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var nomCurso = null;
            var otroCurso = -1;

            // Act
            var result = client.CheckCursoExiste(codCurso, nomCurso, otroCurso);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

CheckCursoTieneEdiciones

📋 COPY-PASTE 85% SOAP

Comprueba si un curso tiene ediciones

⚠ Similar operation CheckCursoTieneEdiciones exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso

📤 Return Type

RespBool
CA1100

🗄 SQL Queries (1)

SELECT COUNT(*) AS total FROM CA1100 WHERE CA10CODCURSO = :codCurso
CA1100
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Comprueba si un curso tiene ediciones
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <returns>RespBool</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_CheckCursoTieneEdiciones_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;

            // Act
            var result = client.CheckCursoTieneEdiciones(codCurso);

            // Assert
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_CheckCursoTieneEdiciones_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;

            // Act
            var result = client.CheckCursoTieneEdiciones(codCurso);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetCursosListV2

SOAP ⚠ Needs Review

Obtiene todos los cursos que cumplan las condiciones establecidas

⚠ Similar operation GetCursosListV2 exists in: NET-WS-Telemedicina
Needs Technical Revision — TODO/FIXME markers or incomplete logic detected

📥 Input Parameters

stringfechaDesde
stringfechaHasta
boolmostrarEdiciones
intcodOrganizador
boolincluirTransversales

📤 Return Type

RespListCursoV2
CA1000 CA1100

🗄 SQL Queries (3)

SELECT CA10CODCURSO FROM CA1000
CA1000
AND CA10CODCURSO IN (SELECT CA10CODCURSO FROM CA1100 WHERE
CA1100
SELECT CA11NUMEDICION FROM CA1100
CA1100
Table CA1000 also used in: NET-WS-Telemedicina
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

Si hay fechaDesde y fechaHasta, añadirlo como condición
Si hay fechaDesde y fechaHasta, añadirlo como condición
📝 Suggested XML doc comment
/// <summary>
/// Obtiene todos los cursos que cumplan las condiciones establecidas
/// </summary>
/// <param name="fechaDesde">TODO: describe fechaDesde</param>
/// <param name="fechaHasta">TODO: describe fechaHasta</param>
/// <param name="mostrarEdiciones">TODO: describe mostrarEdiciones</param>
/// <param name="codOrganizador">TODO: describe codOrganizador</param>
/// <param name="incluirTransversales">TODO: describe incluirTransversales</param>
/// <returns>RespListCursoV2</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetCursosListV2_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var fechaDesde = "test_value";
            var fechaHasta = "test_value";
            var mostrarEdiciones = true;
            var codOrganizador = 1;
            var incluirTransversales = true;

            // Act
            var result = client.GetCursosListV2(fechaDesde, fechaHasta, mostrarEdiciones, codOrganizador, incluirTransversales);

            // Assert
            Assert.IsNotNull(result.Resultado);
        }

        [TestMethod]
        public void Test_GetCursosListV2_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var fechaDesde = null;
            var fechaHasta = null;
            var mostrarEdiciones = -1;
            var codOrganizador = -1;
            var incluirTransversales = -1;

            // Act
            var result = client.GetCursosListV2(fechaDesde, fechaHasta, mostrarEdiciones, codOrganizador, incluirTransversales);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetCursoV2

📋 COPY-PASTE 85% SOAP

Obtiene la información del curso concreto, junto con sus ediciones

⚠ Similar operation GetCursoV2 exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso

📤 Return Type

RespCursoV2
CA1100

🗄 SQL Queries (1)

SELECT CA11NUMEDICION FROM CA1100 WHERE CA10CODCURSO = :codCurso
CA1100
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Obtiene la información del curso concreto, junto con sus ediciones
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <returns>RespCursoV2</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetCursoV2_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;

            // Act
            var result = client.GetCursoV2(codCurso);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_GetCursoV2_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;

            // Act
            var result = client.GetCursoV2(codCurso);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

AddCursoV2

SOAP

Crea un nuevo curso

⚠ Similar operation AddCursoV2 exists in: NET-WS-Telemedicina

📥 Input Parameters

stringnomCurso
stringdescCurso
stringdirigidoA
stringrutaProg
stringrutaCursoWeb
intcodOrganizador
inttipoCurso
stringtxtExpediente
intmodalidad
boolindTransversal
stringcodFundae
stringabreviatura

📤 Return Type

RespCursoV2
dual CA1000

🗄 SQL Queries (2)

SELECT CA10CODCURSO_SEQUENCE.NEXTVAL FROM dual
dual
INSERT INTO CA1000 (CA10CODCURSO, CA10NOMCURSO, CA10DESCURSO, CA10DIRIGIDOA, CA10RUTAPROG, CA10RUTACURSOWEB, CA25CODORGANIZADOR,
CA1000
Table CA1000 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

1. Obtener el ID de curso que toca insertar:
2. Insertar el curso:
Obtener los datos del curso recién creado
📝 Suggested XML doc comment
/// <summary>
/// Crea un nuevo curso
/// </summary>
/// <param name="nomCurso">TODO: describe nomCurso</param>
/// <param name="descCurso">TODO: describe descCurso</param>
/// <param name="dirigidoA">TODO: describe dirigidoA</param>
/// <param name="rutaProg">TODO: describe rutaProg</param>
/// <param name="rutaCursoWeb">TODO: describe rutaCursoWeb</param>
/// <param name="codOrganizador">TODO: describe codOrganizador</param>
/// <param name="tipoCurso">TODO: describe tipoCurso</param>
/// <param name="txtExpediente">TODO: describe txtExpediente</param>
/// <param name="modalidad">TODO: describe modalidad</param>
/// <param name="indTransversal">TODO: describe indTransversal</param>
/// <param name="codFundae">TODO: describe codFundae</param>
/// <param name="abreviatura">TODO: describe abreviatura</param>
/// <returns>RespCursoV2</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_AddCursoV2_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var nomCurso = "test_value";
            var descCurso = "test_value";
            var dirigidoA = "test_value";
            var rutaProg = "test_value";
            var rutaCursoWeb = "test_value";
            var codOrganizador = 1;
            var tipoCurso = 1;
            var txtExpediente = "test_value";
            var modalidad = 1;
            var indTransversal = true;
            var codFundae = "test_value";
            var abreviatura = "test_value";

            // Act
            var result = client.AddCursoV2(nomCurso, descCurso, dirigidoA, rutaProg, rutaCursoWeb, codOrganizador, tipoCurso, txtExpediente, modalidad, indTransversal, codFundae, abreviatura);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_AddCursoV2_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var nomCurso = null;
            var descCurso = null;
            var dirigidoA = null;
            var rutaProg = null;
            var rutaCursoWeb = null;
            var codOrganizador = -1;
            var tipoCurso = -1;
            var txtExpediente = null;
            var modalidad = -1;
            var indTransversal = -1;
            var codFundae = null;
            var abreviatura = null;

            // Act
            var result = client.AddCursoV2(nomCurso, descCurso, dirigidoA, rutaProg, rutaCursoWeb, codOrganizador, tipoCurso, txtExpediente, modalidad, indTransversal, codFundae, abreviatura);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

UpdateCursoV2

SOAP

Actualiza un curso existente

⚠ Similar operation UpdateCursoV2 exists in: NET-WS-Telemedicina

📥 Input Parameters

intcodCurso
stringnomCurso
stringdescCurso
stringdirigidoA
stringrutaProg
stringrutaCursoWeb
intcodOrganizador
inttipoCurso
stringtxtExpediente
intmodalidad
boolindTransversal
stringcodFundae
stringabreviatura

📤 Return Type

RespCursoV2
CA1000

🗄 SQL Queries (1)

UPDATE CA1000 SET
CA1000
Table CA1000 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

Obtener los datos del curso recién creado
📝 Suggested XML doc comment
/// <summary>
/// Actualiza un curso existente
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="nomCurso">TODO: describe nomCurso</param>
/// <param name="descCurso">TODO: describe descCurso</param>
/// <param name="dirigidoA">TODO: describe dirigidoA</param>
/// <param name="rutaProg">TODO: describe rutaProg</param>
/// <param name="rutaCursoWeb">TODO: describe rutaCursoWeb</param>
/// <param name="codOrganizador">TODO: describe codOrganizador</param>
/// <param name="tipoCurso">TODO: describe tipoCurso</param>
/// <param name="txtExpediente">TODO: describe txtExpediente</param>
/// <param name="modalidad">TODO: describe modalidad</param>
/// <param name="indTransversal">TODO: describe indTransversal</param>
/// <param name="codFundae">TODO: describe codFundae</param>
/// <param name="abreviatura">TODO: describe abreviatura</param>
/// <returns>RespCursoV2</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_UpdateCursoV2_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var nomCurso = "test_value";
            var descCurso = "test_value";
            var dirigidoA = "test_value";
            var rutaProg = "test_value";
            var rutaCursoWeb = "test_value";
            var codOrganizador = 1;
            var tipoCurso = 1;
            var txtExpediente = "test_value";
            var modalidad = 1;
            var indTransversal = true;
            var codFundae = "test_value";
            var abreviatura = "test_value";

            // Act
            var result = client.UpdateCursoV2(codCurso, nomCurso, descCurso, dirigidoA, rutaProg, rutaCursoWeb, codOrganizador, tipoCurso, txtExpediente, modalidad, indTransversal, codFundae, abreviatura);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_UpdateCursoV2_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var nomCurso = null;
            var descCurso = null;
            var dirigidoA = null;
            var rutaProg = null;
            var rutaCursoWeb = null;
            var codOrganizador = -1;
            var tipoCurso = -1;
            var txtExpediente = null;
            var modalidad = -1;
            var indTransversal = -1;
            var codFundae = null;
            var abreviatura = null;

            // Act
            var result = client.UpdateCursoV2(codCurso, nomCurso, descCurso, dirigidoA, rutaProg, rutaCursoWeb, codOrganizador, tipoCurso, txtExpediente, modalidad, indTransversal, codFundae, abreviatura);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

CheckCursoExisteV2

📋 COPY-PASTE 85% SOAP

Comprueba si un curso existe a partir del nombre

⚠ Similar operation CheckCursoExisteV2 exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
stringnomCurso
boolotroCurso
intcodOrganizador
stringabreviatura

📤 Return Type

RespBool
CA1000

🗄 SQL Queries (3)

SELECT CA10CODCURSO FROM CA1000 WHERE CA10CODCURSO = :codCurso
CA1000
SELECT CA10CODCURSO FROM CA1000 WHERE CA10CODCURSO != :codCurso AND CA25CODORGANIZADOR = :codOrganizador AND (CA10NOMCURSO = :nomCurso OR CA10ABREVIATURA = :abreviatura) AND CA10FECHABAJA IS NULL
CA1000
SELECT CA10CODCURSO FROM CA1000 WHERE (CA10NOMCURSO = :nomCurso OR CA10ABREVIATURA = :abreviatura) AND CA25CODORGANIZADOR = :codOrganizador AND CA10FECHABAJA IS NULL
CA1000
Table CA1000 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Comprueba si un curso existe a partir del nombre
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="nomCurso">TODO: describe nomCurso</param>
/// <param name="otroCurso">TODO: describe otroCurso</param>
/// <param name="codOrganizador">TODO: describe codOrganizador</param>
/// <param name="abreviatura">TODO: describe abreviatura</param>
/// <returns>RespBool</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_CheckCursoExisteV2_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var nomCurso = "test_value";
            var otroCurso = true;
            var codOrganizador = 1;
            var abreviatura = "test_value";

            // Act
            var result = client.CheckCursoExisteV2(codCurso, nomCurso, otroCurso, codOrganizador, abreviatura);

            // Assert
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_CheckCursoExisteV2_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var nomCurso = null;
            var otroCurso = -1;
            var codOrganizador = -1;
            var abreviatura = null;

            // Act
            var result = client.CheckCursoExisteV2(codCurso, nomCurso, otroCurso, codOrganizador, abreviatura);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetCursosUsuario

SOAP

📥 Input Parameters

stringcodUsuario
stringfechaDesde
stringfechaHasta
intcodOrganizador
boolincluirTransversales
intestado

📤 Return Type

RespListCursoV3

🗄 SQL Queries (1)

SELECT CA1000.CA10CODCURSO, CA10NOMCURSO, CA10DESCURSO, CA10DIRIGIDOA, CA10RUTAPROG, CA10RUTACURSOWEB, CA25CODORGANIZADOR,

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

Si hay fechaDesde y fechaHasta, añadirlo como condición
📝 Suggested XML doc comment
/// <summary>
/// Retrieves get cursos usuario
/// </summary>
/// <param name="codUsuario">TODO: describe codUsuario</param>
/// <param name="fechaDesde">TODO: describe fechaDesde</param>
/// <param name="fechaHasta">TODO: describe fechaHasta</param>
/// <param name="codOrganizador">TODO: describe codOrganizador</param>
/// <param name="incluirTransversales">TODO: describe incluirTransversales</param>
/// <param name="estado">TODO: describe estado</param>
/// <returns>RespListCursoV3</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetCursosUsuario_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codUsuario = "test_value";
            var fechaDesde = "test_value";
            var fechaHasta = "test_value";
            var codOrganizador = 1;
            var incluirTransversales = true;
            var estado = 1;

            // Act
            var result = client.GetCursosUsuario(codUsuario, fechaDesde, fechaHasta, codOrganizador, incluirTransversales, estado);

            // Assert
            Assert.IsNotNull(result.Resultado);
        }

        [TestMethod]
        public void Test_GetCursosUsuario_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codUsuario = null;
            var fechaDesde = null;
            var fechaHasta = null;
            var codOrganizador = -1;
            var incluirTransversales = -1;
            var estado = -1;

            // Act
            var result = client.GetCursosUsuario(codUsuario, fechaDesde, fechaHasta, codOrganizador, incluirTransversales, estado);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetCursosUsuarioV2

SOAP

📥 Input Parameters

stringcodUsuario
stringfechaDesde
stringfechaHasta
intcodOrganizador
boolincluirTransversales
intestado

📤 Return Type

RespListCursoV4

🗄 SQL Queries (1)

SELECT CA1000.CA10CODCURSO, CA10NOMCURSO, CA10DESCURSO, CA10DIRIGIDOA, CA10RUTAPROG, CA10RUTACURSOWEB, CA25CODORGANIZADOR,

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

Si hay fechaDesde y fechaHasta, añadirlo como condición
📝 Suggested XML doc comment
/// <summary>
/// Retrieves get cursos usuario v2
/// </summary>
/// <param name="codUsuario">TODO: describe codUsuario</param>
/// <param name="fechaDesde">TODO: describe fechaDesde</param>
/// <param name="fechaHasta">TODO: describe fechaHasta</param>
/// <param name="codOrganizador">TODO: describe codOrganizador</param>
/// <param name="incluirTransversales">TODO: describe incluirTransversales</param>
/// <param name="estado">TODO: describe estado</param>
/// <returns>RespListCursoV4</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetCursosUsuarioV2_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codUsuario = "test_value";
            var fechaDesde = "test_value";
            var fechaHasta = "test_value";
            var codOrganizador = 1;
            var incluirTransversales = true;
            var estado = 1;

            // Act
            var result = client.GetCursosUsuarioV2(codUsuario, fechaDesde, fechaHasta, codOrganizador, incluirTransversales, estado);

            // Assert
            Assert.IsNotNull(result.Resultado);
        }

        [TestMethod]
        public void Test_GetCursosUsuarioV2_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codUsuario = null;
            var fechaDesde = null;
            var fechaHasta = null;
            var codOrganizador = -1;
            var incluirTransversales = -1;
            var estado = -1;

            // Act
            var result = client.GetCursosUsuarioV2(codUsuario, fechaDesde, fechaHasta, codOrganizador, incluirTransversales, estado);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetCursosListV4

SOAP ⚠ Needs Review

Obtiene todos los cursos que cumplan las condiciones establecidas

⚠ Similar operation GetCursosListV4 exists in: NET-WS-Telemedicina
Needs Technical Revision — TODO/FIXME markers or incomplete logic detected

📥 Input Parameters

stringfechaDesde
stringfechaHasta
boolmostrarEdiciones
intcodOrganizador
boolincluirTransversales
stringusername
boolsoloFavoritos

📤 Return Type

RespListCursoV4
CA1000 CA1100 CA2900

🗄 SQL Queries (4)

SELECT CA10CODCURSO FROM CA1000
CA1000
AND CA10CODCURSO IN (SELECT CA10CODCURSO FROM CA1100 WHERE
CA1100
AND exists (select 1 from CA2900 where CA2900.CA10CODCURSO = CA1000.CA10CODCURSO AND CA2900.sg02cod = :codUsuario
CA2900
SELECT CA11NUMEDICION FROM CA1100
CA1100
Table CA1000 also used in: NET-WS-Telemedicina
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

Si hay fechaDesde y fechaHasta, añadirlo como condición
Si hay fechaDesde y fechaHasta, añadirlo como condición
📝 Suggested XML doc comment
/// <summary>
/// Obtiene todos los cursos que cumplan las condiciones establecidas
/// </summary>
/// <param name="fechaDesde">TODO: describe fechaDesde</param>
/// <param name="fechaHasta">TODO: describe fechaHasta</param>
/// <param name="mostrarEdiciones">TODO: describe mostrarEdiciones</param>
/// <param name="codOrganizador">TODO: describe codOrganizador</param>
/// <param name="incluirTransversales">TODO: describe incluirTransversales</param>
/// <param name="username">TODO: describe username</param>
/// <param name="soloFavoritos">TODO: describe soloFavoritos</param>
/// <returns>RespListCursoV4</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetCursosListV4_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var fechaDesde = "test_value";
            var fechaHasta = "test_value";
            var mostrarEdiciones = true;
            var codOrganizador = 1;
            var incluirTransversales = true;
            var username = "test_value";
            var soloFavoritos = true;

            // Act
            var result = client.GetCursosListV4(fechaDesde, fechaHasta, mostrarEdiciones, codOrganizador, incluirTransversales, username, soloFavoritos);

            // Assert
            Assert.IsNotNull(result.Resultado);
        }

        [TestMethod]
        public void Test_GetCursosListV4_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var fechaDesde = null;
            var fechaHasta = null;
            var mostrarEdiciones = -1;
            var codOrganizador = -1;
            var incluirTransversales = -1;
            var username = null;
            var soloFavoritos = -1;

            // Act
            var result = client.GetCursosListV4(fechaDesde, fechaHasta, mostrarEdiciones, codOrganizador, incluirTransversales, username, soloFavoritos);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetCursoV4

📋 COPY-PASTE 85% SOAP
⚠ Similar operation GetCursoV4 exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso

📤 Return Type

RespCursoV4
CA1100

🗄 SQL Queries (1)

SELECT CA11NUMEDICION FROM CA1100 WHERE CA10CODCURSO = :codCurso
CA1100
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Retrieves get curso v4
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <returns>RespCursoV4</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetCursoV4_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;

            // Act
            var result = client.GetCursoV4(codCurso);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_GetCursoV4_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;

            // Act
            var result = client.GetCursoV4(codCurso);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

AddCursoV4

SOAP
⚠ Similar operation AddCursoV4 exists in: NET-WS-Telemedicina

📥 Input Parameters

stringnomCurso
stringdescCurso
stringdirigidoA
stringrutaProg
stringrutaCursoWeb
intcodOrganizador
inttipoCurso
stringtxtExpediente
intmodalidad
boolindTransversal
stringcodFundae
stringabreviatura

📤 Return Type

RespCursoV4
dual CA1000

🗄 SQL Queries (2)

SELECT CA10CODCURSO_SEQUENCE.NEXTVAL FROM dual
dual
INSERT INTO CA1000 (CA10CODCURSO, CA10NOMCURSO, CA10DESCURSO, CA10DIRIGIDOA, CA10RUTAPROG, CA10RUTACURSOWEB, CA25CODORGANIZADOR,
CA1000
Table CA1000 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

1. Obtener el ID de curso que toca insertar:
2. Insertar el curso:
Obtener los datos del curso recién creado
📝 Suggested XML doc comment
/// <summary>
/// Executes add curso v4
/// </summary>
/// <param name="nomCurso">TODO: describe nomCurso</param>
/// <param name="descCurso">TODO: describe descCurso</param>
/// <param name="dirigidoA">TODO: describe dirigidoA</param>
/// <param name="rutaProg">TODO: describe rutaProg</param>
/// <param name="rutaCursoWeb">TODO: describe rutaCursoWeb</param>
/// <param name="codOrganizador">TODO: describe codOrganizador</param>
/// <param name="tipoCurso">TODO: describe tipoCurso</param>
/// <param name="txtExpediente">TODO: describe txtExpediente</param>
/// <param name="modalidad">TODO: describe modalidad</param>
/// <param name="indTransversal">TODO: describe indTransversal</param>
/// <param name="codFundae">TODO: describe codFundae</param>
/// <param name="abreviatura">TODO: describe abreviatura</param>
/// <returns>RespCursoV4</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_AddCursoV4_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var nomCurso = "test_value";
            var descCurso = "test_value";
            var dirigidoA = "test_value";
            var rutaProg = "test_value";
            var rutaCursoWeb = "test_value";
            var codOrganizador = 1;
            var tipoCurso = 1;
            var txtExpediente = "test_value";
            var modalidad = 1;
            var indTransversal = true;
            var codFundae = "test_value";
            var abreviatura = "test_value";

            // Act
            var result = client.AddCursoV4(nomCurso, descCurso, dirigidoA, rutaProg, rutaCursoWeb, codOrganizador, tipoCurso, txtExpediente, modalidad, indTransversal, codFundae, abreviatura);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_AddCursoV4_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var nomCurso = null;
            var descCurso = null;
            var dirigidoA = null;
            var rutaProg = null;
            var rutaCursoWeb = null;
            var codOrganizador = -1;
            var tipoCurso = -1;
            var txtExpediente = null;
            var modalidad = -1;
            var indTransversal = -1;
            var codFundae = null;
            var abreviatura = null;

            // Act
            var result = client.AddCursoV4(nomCurso, descCurso, dirigidoA, rutaProg, rutaCursoWeb, codOrganizador, tipoCurso, txtExpediente, modalidad, indTransversal, codFundae, abreviatura);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

UpdateCursoV4

SOAP
⚠ Similar operation UpdateCursoV4 exists in: NET-WS-Telemedicina

📥 Input Parameters

intcodCurso
stringnomCurso
stringdescCurso
stringdirigidoA
stringrutaProg
stringrutaCursoWeb
intcodOrganizador
inttipoCurso
stringtxtExpediente
intmodalidad
boolindTransversal
stringcodFundae
stringabreviatura

📤 Return Type

RespCursoV4
CA1000

🗄 SQL Queries (1)

UPDATE CA1000 SET
CA1000
Table CA1000 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

Obtener los datos del curso recién creado
📝 Suggested XML doc comment
/// <summary>
/// Updates update curso v4
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="nomCurso">TODO: describe nomCurso</param>
/// <param name="descCurso">TODO: describe descCurso</param>
/// <param name="dirigidoA">TODO: describe dirigidoA</param>
/// <param name="rutaProg">TODO: describe rutaProg</param>
/// <param name="rutaCursoWeb">TODO: describe rutaCursoWeb</param>
/// <param name="codOrganizador">TODO: describe codOrganizador</param>
/// <param name="tipoCurso">TODO: describe tipoCurso</param>
/// <param name="txtExpediente">TODO: describe txtExpediente</param>
/// <param name="modalidad">TODO: describe modalidad</param>
/// <param name="indTransversal">TODO: describe indTransversal</param>
/// <param name="codFundae">TODO: describe codFundae</param>
/// <param name="abreviatura">TODO: describe abreviatura</param>
/// <returns>RespCursoV4</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_UpdateCursoV4_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var nomCurso = "test_value";
            var descCurso = "test_value";
            var dirigidoA = "test_value";
            var rutaProg = "test_value";
            var rutaCursoWeb = "test_value";
            var codOrganizador = 1;
            var tipoCurso = 1;
            var txtExpediente = "test_value";
            var modalidad = 1;
            var indTransversal = true;
            var codFundae = "test_value";
            var abreviatura = "test_value";

            // Act
            var result = client.UpdateCursoV4(codCurso, nomCurso, descCurso, dirigidoA, rutaProg, rutaCursoWeb, codOrganizador, tipoCurso, txtExpediente, modalidad, indTransversal, codFundae, abreviatura);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_UpdateCursoV4_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var nomCurso = null;
            var descCurso = null;
            var dirigidoA = null;
            var rutaProg = null;
            var rutaCursoWeb = null;
            var codOrganizador = -1;
            var tipoCurso = -1;
            var txtExpediente = null;
            var modalidad = -1;
            var indTransversal = -1;
            var codFundae = null;
            var abreviatura = null;

            // Act
            var result = client.UpdateCursoV4(codCurso, nomCurso, descCurso, dirigidoA, rutaProg, rutaCursoWeb, codOrganizador, tipoCurso, txtExpediente, modalidad, indTransversal, codFundae, abreviatura);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

AddFavorito

📋 COPY-PASTE 85% SOAP
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
stringusername

📤 Return Type

RespVoid
CA2900

🗄 SQL Queries (2)

INSERT INTO CA2900 (CA2900.CA10CODCURSO, sg02cod)
CA2900
UPDATE CA2900 SET CA2900.CA29FECFIN = NULL WHERE CA2900.CA10CODCURSO = :codCurso AND CA2900.sg02cod = :username
CA2900

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

2. Insertar el curso:
📝 Suggested XML doc comment
/// <summary>
/// Executes add favorito
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="username">TODO: describe username</param>
/// <returns>RespVoid</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_AddFavorito_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var username = "test_value";

            // Act
            var result = client.AddFavorito(codCurso, username);

            // Assert
            Assert.IsNotNull(result);
        }

        [TestMethod]
        public void Test_AddFavorito_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var username = null;

            // Act
            var result = client.AddFavorito(codCurso, username);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

DeleteFavorito

📋 COPY-PASTE 85% SOAP
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
stringusername

📤 Return Type

RespVoid
CA2900

🗄 SQL Queries (1)

UPDATE CA2900 SET CA29FECFIN = SYSDATE WHERE CA10CODCURSO = :codCurso AND sg02cod = :username
CA2900

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Deletes delete favorito
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="username">TODO: describe username</param>
/// <returns>RespVoid</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_DeleteFavorito_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var username = "test_value";

            // Act
            var result = client.DeleteFavorito(codCurso, username);

            // Assert
            Assert.IsNotNull(result);
        }

        [TestMethod]
        public void Test_DeleteFavorito_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var username = null;

            // Act
            var result = client.DeleteFavorito(codCurso, username);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetEdicionesList

📋 COPY-PASTE 85% SOAP

Obtiene todas las ediciones de un curso

⚠ Similar operation GetEdicionesList exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso

📤 Return Type

RespListEdicion
CA1100

🗄 SQL Queries (1)

SELECT CA11NUMEDICION FROM CA1100
CA1100
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Obtiene todas las ediciones de un curso
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <returns>RespListEdicion</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetEdicionesList_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;

            // Act
            var result = client.GetEdicionesList(codCurso);

            // Assert
            Assert.IsNotNull(result.Resultado);
        }

        [TestMethod]
        public void Test_GetEdicionesList_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;

            // Act
            var result = client.GetEdicionesList(codCurso);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetAllEdiciones

📋 COPY-PASTE 85% SOAP

Obtiene todas las ediciones de un curso

⚠ Similar operation GetAllEdiciones exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

📤 Return Type

RespListEdicion
CA1100

🗄 SQL Queries (1)

SELECT CA10CODCURSO, CA11NUMEDICION FROM CA1100
CA1100
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Obtiene todas las ediciones de un curso
/// </summary>
/// <returns>RespListEdicion</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetAllEdiciones_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();


            // Act
            var result = client.GetAllEdiciones();

            // Assert
            Assert.IsNotNull(result.Resultado);
        }

        [TestMethod]
        public void Test_GetAllEdiciones_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();


            // Act
            var result = client.GetAllEdiciones();

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetEdicion

📋 COPY-PASTE 85% SOAP

Obtiene la información de la edición concreta

⚠ Similar operation GetEdicion exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
intnumEdicion

📤 Return Type

RespEdicion

🗄 SQL Queries (0)

No SQL detected

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Obtiene la información de la edición concreta
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <returns>RespEdicion</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetEdicion_ReturnsSuccess()
        {
            // Arrange
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;

            // Act
            var result = client.GetEdicion(codCurso, numEdicion);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_GetEdicion_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;

            // Act
            var result = client.GetEdicion(codCurso, numEdicion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

AddEdicion

📋 COPY-PASTE 97% SOAP

Crea una nueva edición de un curso

⚠ Similar operation AddEdicion exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 97%  ·  Same code found in 1 other service(s): NET-WS-Telemedicina
Suggested library: cysnet.cun.formacion.common

📥 Input Parameters

intcodCurso
stringaula
stringfechaIni
stringfechaFin
stringfechaLimite
stringfechaFinVis
stringhorario
intplazas
intplazasRes
stringduracion
intcancelada

📤 Return Type

RespEdicion
dual CA1100

🗄 SQL Queries (2)

SELECT CA11NUMEDICION_SEQUENCE.NEXTVAL FROM dual
dual
INSERT INTO CA1100 (CA11NUMEDICION, CA10CODCURSO, CA11AULA, CA11FECHAINI, CA11FECHAFIN, CA11FECHALIMITE, CA11FECHAFINVIS, CA11HORARIO, CA11PLAZAS, CA11PLAZASDIS, CA11PLAZASRES, CA11PLAZASRESDIS, CA11DURACION, CA11INDCANCELADA)
CA1100
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

1. Obtener el ID de curso que toca insertar:
2. Insertar el curso:
Obtener los datos de la edición recién creada
📝 Suggested XML doc comment
/// <summary>
/// Crea una nueva edición de un curso
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="aula">TODO: describe aula</param>
/// <param name="fechaIni">TODO: describe fechaIni</param>
/// <param name="fechaFin">TODO: describe fechaFin</param>
/// <param name="fechaLimite">TODO: describe fechaLimite</param>
/// <param name="fechaFinVis">TODO: describe fechaFinVis</param>
/// <param name="horario">TODO: describe horario</param>
/// <param name="plazas">TODO: describe plazas</param>
/// <param name="plazasRes">TODO: describe plazasRes</param>
/// <param name="duracion">TODO: describe duracion</param>
/// <param name="cancelada">TODO: describe cancelada</param>
/// <returns>RespEdicion</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_AddEdicion_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var aula = "test_value";
            var fechaIni = "test_value";
            var fechaFin = "test_value";
            var fechaLimite = "test_value";
            var fechaFinVis = "test_value";
            var horario = "test_value";
            var plazas = 1;
            var plazasRes = 1;
            var duracion = "test_value";
            var cancelada = 1;

            // Act
            var result = client.AddEdicion(codCurso, aula, fechaIni, fechaFin, fechaLimite, fechaFinVis, horario, plazas, plazasRes, duracion, cancelada);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_AddEdicion_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var aula = null;
            var fechaIni = null;
            var fechaFin = null;
            var fechaLimite = null;
            var fechaFinVis = null;
            var horario = null;
            var plazas = -1;
            var plazasRes = -1;
            var duracion = null;
            var cancelada = -1;

            // Act
            var result = client.AddEdicion(codCurso, aula, fechaIni, fechaFin, fechaLimite, fechaFinVis, horario, plazas, plazasRes, duracion, cancelada);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

UpdateEdicion

📋 COPY-PASTE 85% SOAP

Actualiza una edición existente

⚠ Similar operation UpdateEdicion exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
intnumEdicion
stringaula
stringfechaIni
stringfechaFin
stringfechaLimite
stringfechaFinVis
stringhorario
intplazas
intplazasRes
stringduracion

📤 Return Type

RespEdicion
CA1100

🗄 SQL Queries (1)

UPDATE CA1100 SET
CA1100
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

Obtener los datos de la edición recién actualizada
📝 Suggested XML doc comment
/// <summary>
/// Actualiza una edición existente
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <param name="aula">TODO: describe aula</param>
/// <param name="fechaIni">TODO: describe fechaIni</param>
/// <param name="fechaFin">TODO: describe fechaFin</param>
/// <param name="fechaLimite">TODO: describe fechaLimite</param>
/// <param name="fechaFinVis">TODO: describe fechaFinVis</param>
/// <param name="horario">TODO: describe horario</param>
/// <param name="plazas">TODO: describe plazas</param>
/// <param name="plazasRes">TODO: describe plazasRes</param>
/// <param name="duracion">TODO: describe duracion</param>
/// <returns>RespEdicion</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_UpdateEdicion_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;
            var aula = "test_value";
            var fechaIni = "test_value";
            var fechaFin = "test_value";
            var fechaLimite = "test_value";
            var fechaFinVis = "test_value";
            var horario = "test_value";
            var plazas = 1;
            var plazasRes = 1;
            var duracion = "test_value";

            // Act
            var result = client.UpdateEdicion(codCurso, numEdicion, aula, fechaIni, fechaFin, fechaLimite, fechaFinVis, horario, plazas, plazasRes, duracion);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_UpdateEdicion_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;
            var aula = null;
            var fechaIni = null;
            var fechaFin = null;
            var fechaLimite = null;
            var fechaFinVis = null;
            var horario = null;
            var plazas = -1;
            var plazasRes = -1;
            var duracion = null;

            // Act
            var result = client.UpdateEdicion(codCurso, numEdicion, aula, fechaIni, fechaFin, fechaLimite, fechaFinVis, horario, plazas, plazasRes, duracion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

DeleteEdicion

📋 COPY-PASTE 85% SOAP

Eliminar una edición existente

⚠ Similar operation DeleteEdicion exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
intnumEdicion
boolforzarBaja

📤 Return Type

RespVoid
CA1100

🗄 SQL Queries (2)

UPDATE CA1100 SET CA11FECHABAJA = SYSDATE WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion
CA1100
DELETE FROM CA1100 WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion
CA1100
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Eliminar una edición existente
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <param name="forzarBaja">TODO: describe forzarBaja</param>
/// <returns>RespVoid</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_DeleteEdicion_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;
            var forzarBaja = true;

            // Act
            var result = client.DeleteEdicion(codCurso, numEdicion, forzarBaja);

            // Assert
            Assert.IsNotNull(result);
        }

        [TestMethod]
        public void Test_DeleteEdicion_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;
            var forzarBaja = -1;

            // Act
            var result = client.DeleteEdicion(codCurso, numEdicion, forzarBaja);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

CancelarEdicion

📋 COPY-PASTE 85% SOAP

Pone el campo CA11INDCANCELADA a -1 (edición cancelada)

⚠ Similar operation CancelarEdicion exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
intnumEdicion

📤 Return Type

RespEdicion
CA1100

🗄 SQL Queries (1)

UPDATE CA1100 SET CA11INDCANCELADA = -1 WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion
CA1100
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

1. Actualizar el campo CA11INDCANCELADA
📝 Suggested XML doc comment
/// <summary>
/// Pone el campo CA11INDCANCELADA a -1 (edición cancelada)
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <returns>RespEdicion</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_CancelarEdicion_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;

            // Act
            var result = client.CancelarEdicion(codCurso, numEdicion);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_CancelarEdicion_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;

            // Act
            var result = client.CancelarEdicion(codCurso, numEdicion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

CheckEdicionExiste

📋 COPY-PASTE 85% SOAP

Comprueba si una edición existe a partir del aula, horario y fechaIni

⚠ Similar operation CheckEdicionExiste exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
intnumEdicion
stringaula
stringhorario
stringfechaIni
boolotraEdicion

📤 Return Type

RespBool
CA1100

🗄 SQL Queries (3)

SELECT CA11NUMEDICION FROM CA1100 WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion
CA1100
SELECT CA11NUMEDICION FROM CA1100 WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION != :numEdicion AND CA11AULA = :aula AND CA11HORARIO = :horario AND CA11FECHAINI = TO_DATE(:fechaIni, 'YYYY-MM-DD') AND CA11FECHABAJA IS NULL
CA1100
SELECT CA11NUMEDICION FROM CA1100 WHERE CA10CODCURSO = :codCurso AND CA11AULA = :aula AND CA11HORARIO = :horario AND CA11FECHAINI = TO_DATE(:fechaIni, 'YYYY-MM-DD') AND CA11FECHABAJA IS NULL
CA1100
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Comprueba si una edición existe a partir del aula, horario y fechaIni
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <param name="aula">TODO: describe aula</param>
/// <param name="horario">TODO: describe horario</param>
/// <param name="fechaIni">TODO: describe fechaIni</param>
/// <param name="otraEdicion">TODO: describe otraEdicion</param>
/// <returns>RespBool</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_CheckEdicionExiste_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;
            var aula = "test_value";
            var horario = "test_value";
            var fechaIni = "test_value";
            var otraEdicion = true;

            // Act
            var result = client.CheckEdicionExiste(codCurso, numEdicion, aula, horario, fechaIni, otraEdicion);

            // Assert
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_CheckEdicionExiste_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;
            var aula = null;
            var horario = null;
            var fechaIni = null;
            var otraEdicion = -1;

            // Act
            var result = client.CheckEdicionExiste(codCurso, numEdicion, aula, horario, fechaIni, otraEdicion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

CheckEdicionExisteV2

📋 COPY-PASTE 85% SOAP

Comprueba si una edición existe a partir del curso y nombre

⚠ Similar operation CheckEdicionExisteV2 exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
intnumEdicion
stringnomEdicion
boolotraEdicion

📤 Return Type

RespBool
CA1100

🗄 SQL Queries (1)

SELECT CA11NUMEDICION FROM CA1100
CA1100
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Comprueba si una edición existe a partir del curso y nombre
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <param name="nomEdicion">TODO: describe nomEdicion</param>
/// <param name="otraEdicion">TODO: describe otraEdicion</param>
/// <returns>RespBool</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_CheckEdicionExisteV2_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;
            var nomEdicion = "test_value";
            var otraEdicion = true;

            // Act
            var result = client.CheckEdicionExisteV2(codCurso, numEdicion, nomEdicion, otraEdicion);

            // Assert
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_CheckEdicionExisteV2_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;
            var nomEdicion = null;
            var otraEdicion = -1;

            // Act
            var result = client.CheckEdicionExisteV2(codCurso, numEdicion, nomEdicion, otraEdicion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

CheckEdicionTieneInscripciones

📋 COPY-PASTE 85% SOAP

Comprueba si una edición tiene inscripciones

⚠ Similar operation CheckEdicionTieneInscripciones exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
intnumEdicion

📤 Return Type

RespBool
CA1200

🗄 SQL Queries (1)

SELECT COUNT(*) AS total FROM CA1200 WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion AND CA12ESTADO != 2
CA1200
Table CA1200 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

Obtener el total de inscripciones con estado != 2 (baja)
📝 Suggested XML doc comment
/// <summary>
/// Comprueba si una edición tiene inscripciones
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <returns>RespBool</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_CheckEdicionTieneInscripciones_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;

            // Act
            var result = client.CheckEdicionTieneInscripciones(codCurso, numEdicion);

            // Assert
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_CheckEdicionTieneInscripciones_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;

            // Act
            var result = client.CheckEdicionTieneInscripciones(codCurso, numEdicion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetCursoEdicion

📋 COPY-PASTE 85% SOAP

Obtiene la información del curso y edición especificados

⚠ Similar operation GetCursoEdicion exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
intnumEdicion

📤 Return Type

RespCurso

🗄 SQL Queries (0)

No SQL detected

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Obtiene la información del curso y edición especificados
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <returns>RespCurso</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetCursoEdicion_ReturnsSuccess()
        {
            // Arrange
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;

            // Act
            var result = client.GetCursoEdicion(codCurso, numEdicion);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_GetCursoEdicion_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;

            // Act
            var result = client.GetCursoEdicion(codCurso, numEdicion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

CheckEdicionActiva

📋 COPY-PASTE 85% SOAP

Comprueba si una edición está activa: Para la edición: Comprobar si la fecha actual está dentro de la fecha de inicio y de fin. Comprobar que no esté dado de baja Para el curso: Comprobar que no esté dado de baja

📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
intnumEdicion

📤 Return Type

RespBool

🗄 SQL Queries (1)

SELECT 1 AS total

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Comprueba si una edición está activa: Para la edición: Comprobar si la fecha actual está dentro de la fecha de inicio y de fin. Comprobar que no esté dado de baja Para el curso: Comprobar que no esté dado de baja
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <returns>RespBool</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_CheckEdicionActiva_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;

            // Act
            var result = client.CheckEdicionActiva(codCurso, numEdicion);

            // Assert
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_CheckEdicionActiva_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;

            // Act
            var result = client.CheckEdicionActiva(codCurso, numEdicion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetEdicionesListV2

📋 COPY-PASTE 85% SOAP

Obtiene todas las ediciones de un curso

⚠ Similar operation GetEdicionesListV2 exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso

📤 Return Type

RespListEdicionV2
CA1100

🗄 SQL Queries (1)

SELECT CA11NUMEDICION FROM CA1100
CA1100
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Obtiene todas las ediciones de un curso
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <returns>RespListEdicionV2</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetEdicionesListV2_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;

            // Act
            var result = client.GetEdicionesListV2(codCurso);

            // Assert
            Assert.IsNotNull(result.Resultado);
        }

        [TestMethod]
        public void Test_GetEdicionesListV2_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;

            // Act
            var result = client.GetEdicionesListV2(codCurso);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetAllEdicionesV2

📋 COPY-PASTE 85% SOAP

Obtiene todas las ediciones de un curso

⚠ Similar operation GetAllEdicionesV2 exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

📤 Return Type

RespListEdicionV2
CA1100

🗄 SQL Queries (1)

SELECT CA10CODCURSO, CA11NUMEDICION FROM CA1100
CA1100
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Obtiene todas las ediciones de un curso
/// </summary>
/// <returns>RespListEdicionV2</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetAllEdicionesV2_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();


            // Act
            var result = client.GetAllEdicionesV2();

            // Assert
            Assert.IsNotNull(result.Resultado);
        }

        [TestMethod]
        public void Test_GetAllEdicionesV2_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();


            // Act
            var result = client.GetAllEdicionesV2();

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetEdicionV2

📋 COPY-PASTE 85% SOAP

Obtiene la información de la edición concreta

⚠ Similar operation GetEdicionV2 exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
intnumEdicion

📤 Return Type

RespEdicionV2

🗄 SQL Queries (0)

No SQL detected

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Obtiene la información de la edición concreta
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <returns>RespEdicionV2</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetEdicionV2_ReturnsSuccess()
        {
            // Arrange
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;

            // Act
            var result = client.GetEdicionV2(codCurso, numEdicion);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_GetEdicionV2_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;

            // Act
            var result = client.GetEdicionV2(codCurso, numEdicion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

AddEdicionV2

SOAP

Crea una nueva edición de un curso

⚠ Similar operation AddEdicionV2 exists in: NET-WS-Telemedicina

📥 Input Parameters

intcodCurso
stringaula
stringfechaIni
stringfechaFin
stringfechaLimite
stringfechaFinVis
stringhorario
intplazas
intplazasRes
stringduracion
stringrutaBase
stringnomEdicion

📤 Return Type

RespEdicionV2
dual CA1100

🗄 SQL Queries (2)

SELECT CA11NUMEDICION_SEQUENCE.NEXTVAL FROM dual
dual
INSERT INTO CA1100 (CA11NUMEDICION, CA10CODCURSO, CA11AULA, CA11FECHAINI, CA11FECHAFIN, CA11FECHALIMITE, CA11FECHAFINVIS, CA11HORARIO, CA11PLAZAS, CA11PLAZASDIS,
CA1100
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

1. Obtener el ID de curso que toca insertar:
2. Insertar el curso:
Obtener los datos de la edición recién creada
📝 Suggested XML doc comment
/// <summary>
/// Crea una nueva edición de un curso
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="aula">TODO: describe aula</param>
/// <param name="fechaIni">TODO: describe fechaIni</param>
/// <param name="fechaFin">TODO: describe fechaFin</param>
/// <param name="fechaLimite">TODO: describe fechaLimite</param>
/// <param name="fechaFinVis">TODO: describe fechaFinVis</param>
/// <param name="horario">TODO: describe horario</param>
/// <param name="plazas">TODO: describe plazas</param>
/// <param name="plazasRes">TODO: describe plazasRes</param>
/// <param name="duracion">TODO: describe duracion</param>
/// <param name="rutaBase">TODO: describe rutaBase</param>
/// <param name="nomEdicion">TODO: describe nomEdicion</param>
/// <returns>RespEdicionV2</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_AddEdicionV2_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var aula = "test_value";
            var fechaIni = "test_value";
            var fechaFin = "test_value";
            var fechaLimite = "test_value";
            var fechaFinVis = "test_value";
            var horario = "test_value";
            var plazas = 1;
            var plazasRes = 1;
            var duracion = "test_value";
            var rutaBase = "test_value";
            var nomEdicion = "test_value";

            // Act
            var result = client.AddEdicionV2(codCurso, aula, fechaIni, fechaFin, fechaLimite, fechaFinVis, horario, plazas, plazasRes, duracion, rutaBase, nomEdicion);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_AddEdicionV2_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var aula = null;
            var fechaIni = null;
            var fechaFin = null;
            var fechaLimite = null;
            var fechaFinVis = null;
            var horario = null;
            var plazas = -1;
            var plazasRes = -1;
            var duracion = null;
            var rutaBase = null;
            var nomEdicion = null;

            // Act
            var result = client.AddEdicionV2(codCurso, aula, fechaIni, fechaFin, fechaLimite, fechaFinVis, horario, plazas, plazasRes, duracion, rutaBase, nomEdicion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

UpdateEdicionV2

SOAP

Actualiza una edición existente

⚠ Similar operation UpdateEdicionV2 exists in: NET-WS-Telemedicina

📥 Input Parameters

intcodCurso
intnumEdicion
stringaula
stringfechaIni
stringfechaFin
stringfechaLimite
stringfechaFinVis
stringhorario
intplazas
intplazasRes
stringduracion
stringrutaBase
stringnomEdicion

📤 Return Type

RespEdicionV2
CA1100

🗄 SQL Queries (1)

UPDATE CA1100 SET
CA1100
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

Obtener los datos de la edición antes de ser actualizada
Obtener los datos de la edición recién actualizada
📝 Suggested XML doc comment
/// <summary>
/// Actualiza una edición existente
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <param name="aula">TODO: describe aula</param>
/// <param name="fechaIni">TODO: describe fechaIni</param>
/// <param name="fechaFin">TODO: describe fechaFin</param>
/// <param name="fechaLimite">TODO: describe fechaLimite</param>
/// <param name="fechaFinVis">TODO: describe fechaFinVis</param>
/// <param name="horario">TODO: describe horario</param>
/// <param name="plazas">TODO: describe plazas</param>
/// <param name="plazasRes">TODO: describe plazasRes</param>
/// <param name="duracion">TODO: describe duracion</param>
/// <param name="rutaBase">TODO: describe rutaBase</param>
/// <param name="nomEdicion">TODO: describe nomEdicion</param>
/// <returns>RespEdicionV2</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_UpdateEdicionV2_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;
            var aula = "test_value";
            var fechaIni = "test_value";
            var fechaFin = "test_value";
            var fechaLimite = "test_value";
            var fechaFinVis = "test_value";
            var horario = "test_value";
            var plazas = 1;
            var plazasRes = 1;
            var duracion = "test_value";
            var rutaBase = "test_value";
            var nomEdicion = "test_value";

            // Act
            var result = client.UpdateEdicionV2(codCurso, numEdicion, aula, fechaIni, fechaFin, fechaLimite, fechaFinVis, horario, plazas, plazasRes, duracion, rutaBase, nomEdicion);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_UpdateEdicionV2_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;
            var aula = null;
            var fechaIni = null;
            var fechaFin = null;
            var fechaLimite = null;
            var fechaFinVis = null;
            var horario = null;
            var plazas = -1;
            var plazasRes = -1;
            var duracion = null;
            var rutaBase = null;
            var nomEdicion = null;

            // Act
            var result = client.UpdateEdicionV2(codCurso, numEdicion, aula, fechaIni, fechaFin, fechaLimite, fechaFinVis, horario, plazas, plazasRes, duracion, rutaBase, nomEdicion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

UpdateRutaCarpetaEdicionesV2

SOAP

📥 Input Parameters

intcodCurso
stringnombreCursoOri
stringnombreCursoNew

📤 Return Type

RespBool
CA1100

🗄 SQL Queries (1)

UPDATE CA1100 SET
CA1100
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

cmd.Parameters.Add(":rutaBase", OracleDbType.Varchar2).Value = rutaBase;
📝 Suggested XML doc comment
/// <summary>
/// Updates update ruta carpeta ediciones v2
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="nombreCursoOri">TODO: describe nombreCursoOri</param>
/// <param name="nombreCursoNew">TODO: describe nombreCursoNew</param>
/// <returns>RespBool</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_UpdateRutaCarpetaEdicionesV2_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var nombreCursoOri = "test_value";
            var nombreCursoNew = "test_value";

            // Act
            var result = client.UpdateRutaCarpetaEdicionesV2(codCurso, nombreCursoOri, nombreCursoNew);

            // Assert
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_UpdateRutaCarpetaEdicionesV2_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var nombreCursoOri = null;
            var nombreCursoNew = null;

            // Act
            var result = client.UpdateRutaCarpetaEdicionesV2(codCurso, nombreCursoOri, nombreCursoNew);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

CancelarEdicionV2

📋 COPY-PASTE 85% SOAP

Pone el campo CA11INDCANCELADA a -1 (edición cancelada)

⚠ Similar operation CancelarEdicionV2 exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
intnumEdicion

📤 Return Type

RespEdicionV2
CA1100

🗄 SQL Queries (1)

UPDATE CA1100 SET CA11INDCANCELADA = -1 WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion
CA1100
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

1. Actualizar el campo CA11INDCANCELADA
📝 Suggested XML doc comment
/// <summary>
/// Pone el campo CA11INDCANCELADA a -1 (edición cancelada)
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <returns>RespEdicionV2</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_CancelarEdicionV2_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;

            // Act
            var result = client.CancelarEdicionV2(codCurso, numEdicion);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_CancelarEdicionV2_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;

            // Act
            var result = client.CancelarEdicionV2(codCurso, numEdicion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetCursoEdicionV2

📋 COPY-PASTE 85% SOAP

Obtiene la información del curso y edición especificados

⚠ Similar operation GetCursoEdicionV2 exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
intnumEdicion

📤 Return Type

RespCursoV2

🗄 SQL Queries (0)

No SQL detected

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Obtiene la información del curso y edición especificados
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <returns>RespCursoV2</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetCursoEdicionV2_ReturnsSuccess()
        {
            // Arrange
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;

            // Act
            var result = client.GetCursoEdicionV2(codCurso, numEdicion);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_GetCursoEdicionV2_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;

            // Act
            var result = client.GetCursoEdicionV2(codCurso, numEdicion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetInscripcionesList

📋 COPY-PASTE 85% SOAP

Obtiene todas las inscripciones a un curso/edicion

⚠ Similar operation GetInscripcionesList exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
intnumEdicion
intestado

📤 Return Type

RespListInscripcion
CA1200

🗄 SQL Queries (1)

SELECT CA12NUMREG FROM CA1200 WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion
CA1200
Table CA1200 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Obtiene todas las inscripciones a un curso/edicion
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <param name="estado">TODO: describe estado</param>
/// <returns>RespListInscripcion</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetInscripcionesList_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;
            var estado = 1;

            // Act
            var result = client.GetInscripcionesList(codCurso, numEdicion, estado);

            // Assert
            Assert.IsNotNull(result.Resultado);
        }

        [TestMethod]
        public void Test_GetInscripcionesList_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;
            var estado = -1;

            // Act
            var result = client.GetInscripcionesList(codCurso, numEdicion, estado);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetInscripcion

📋 COPY-PASTE 85% SOAP

Obtiene la inscripción de un usuario a un curso/edicion. Si existe una con estado = 2 (baja) no se devuelve

⚠ Similar operation GetInscripcion exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
intnumEdicion
stringdni

📤 Return Type

RespInscripcion
CA1200

🗄 SQL Queries (1)

SELECT CA12NUMREG FROM CA1200 WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion AND CA12DNI = :dni
CA1200
Table CA1200 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No contar las bajas
📝 Suggested XML doc comment
/// <summary>
/// Obtiene la inscripción de un usuario a un curso/edicion. Si existe una con estado = 2 (baja) no se devuelve
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <param name="dni">TODO: describe dni</param>
/// <returns>RespInscripcion</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetInscripcion_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;
            var dni = "test_value";

            // Act
            var result = client.GetInscripcion(codCurso, numEdicion, dni);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_GetInscripcion_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;
            var dni = null;

            // Act
            var result = client.GetInscripcion(codCurso, numEdicion, dni);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

AddInscripcion

📋 COPY-PASTE 94% SOAP

Añade una nueva inscripción

⚠ Similar operation AddInscripcion exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 94%  ·  Same code found in 1 other service(s): NET-WS-Telemedicina
Suggested library: cysnet.cun.formacion.common

📥 Input Parameters

intcodCurso
intnumEdicion
stringdni
stringnombre
stringprimerApellido
stringsegundoApellido
stringcategoria
stringdepartamento
stringplanta
stringextension
stringemail
stringobservaciones
stringcodigo
intsede

📤 Return Type

RespInscripcion
CA1100 CA1200 dual

🗄 SQL Queries (5)

SELECT CA11PLAZASDIS, CA11PLAZASRESDIS FROM CA1100 WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion
CA1100
SELECT CA12NUMREG FROM CA1200 WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion AND CA12DNI = :dni AND CA12ESTADO = 2
CA1200
UPDATE CA1200 SET CA12ESTADO = :estado WHERE CA12NUMREG = :numReg
CA1200
SELECT CA12NUMREG_SEQUENCE.NEXTVAL FROM dual
dual
INSERT INTO CA1200 (CA12NUMREG, CA10CODCURSO, CA11NUMEDICION, CA12DNI, CA12NOMBRE, CA12PRIAPEL, CA12SEGAPEL, CA12CATEGORIA, CA12DPTO, CA12PLANTA, CA12EXT, CA12EMAIL, CA12OBSERV, CA12CODIGO, AD74CODCENTRO, CA12ESTADO, CA12INDASISTE, CA12FECHAINS)
CA1200
Table CA1100 also used in: NET-WS-Telemedicina
Table CA1200 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

1: Alta, 3: En reserva
1. Comprobar qué plazas quedan disponibles
2. Comprobar si el usuario está dado de baja para la misma edición:
3. Si hay numReg (es decir, el usuario existía, pero dado de baja), volver a darlo de alta
4. Obtener el ID de la inscripción que toca insertar:
5. Insertar la inscripción:
6. Disminuir las plazas:
7. Obtener los datos de la inscripción recién creada
📝 Suggested XML doc comment
/// <summary>
/// Añade una nueva inscripción
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <param name="dni">TODO: describe dni</param>
/// <param name="nombre">TODO: describe nombre</param>
/// <param name="primerApellido">TODO: describe primerApellido</param>
/// <param name="segundoApellido">TODO: describe segundoApellido</param>
/// <param name="categoria">TODO: describe categoria</param>
/// <param name="departamento">TODO: describe departamento</param>
/// <param name="planta">TODO: describe planta</param>
/// <param name="extension">TODO: describe extension</param>
/// <param name="email">TODO: describe email</param>
/// <param name="observaciones">TODO: describe observaciones</param>
/// <param name="codigo">TODO: describe codigo</param>
/// <param name="sede">TODO: describe sede</param>
/// <returns>RespInscripcion</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_AddInscripcion_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;
            var dni = "test_value";
            var nombre = "test_value";
            var primerApellido = "test_value";
            var segundoApellido = "test_value";
            var categoria = "test_value";
            var departamento = "test_value";
            var planta = "test_value";
            var extension = "test_value";
            var email = "test_value";
            var observaciones = "test_value";
            var codigo = "test_value";
            var sede = 1;

            // Act
            var result = client.AddInscripcion(codCurso, numEdicion, dni, nombre, primerApellido, segundoApellido, categoria, departamento, planta, extension, email, observaciones, codigo, sede);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_AddInscripcion_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;
            var dni = null;
            var nombre = null;
            var primerApellido = null;
            var segundoApellido = null;
            var categoria = null;
            var departamento = null;
            var planta = null;
            var extension = null;
            var email = null;
            var observaciones = null;
            var codigo = null;
            var sede = -1;

            // Act
            var result = client.AddInscripcion(codCurso, numEdicion, dni, nombre, primerApellido, segundoApellido, categoria, departamento, planta, extension, email, observaciones, codigo, sede);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

UpdateInscripcion

📋 COPY-PASTE 93% SOAP

Actualizar una inscripción

⚠ Similar operation UpdateInscripcion exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 93%  ·  Same code found in 1 other service(s): NET-WS-Telemedicina
Suggested library: cysnet.cun.formacion.common

📥 Input Parameters

intcodCurso
intnumEdicion
intnumInscripcion
stringdni
stringnombre
stringprimerApellido
stringsegundoApellido
stringcategoria
stringdepartamento
stringplanta
stringextension
stringemail
stringobservaciones
stringcodigo
intasiste
intestado
intsede

📤 Return Type

RespInscripcion
CA1200

🗄 SQL Queries (3)

UPDATE CA1200 SET CA12NOMBRE = :nombre, CA12PRIAPEL = :primerApellido, CA12SEGAPEL = :segundoApellido, CA12CATEGORIA = :categoria, CA12DPTO = :departamento,
CA1200
SELECT CA12NUMREG, CA12ESTADO FROM CA1200 WHERE CA10CODCURSO = :codCuso AND CA11NUMEDICION = :numEdicion AND CA12DNI = :dni
CA1200
UPDATE CA1200 SET CA12ESTADO = :estado
CA1200
Table CA1200 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

1. Actualizar los datos de la inscripción, menos el estado:
2. Obtener el estado original
3. Si el estado original es 4 (pte revisión), actualizarlo:
4. Obtener los datos de la inscripción recién creada
📝 Suggested XML doc comment
/// <summary>
/// Actualizar una inscripción
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <param name="numInscripcion">TODO: describe numInscripcion</param>
/// <param name="dni">TODO: describe dni</param>
/// <param name="nombre">TODO: describe nombre</param>
/// <param name="primerApellido">TODO: describe primerApellido</param>
/// <param name="segundoApellido">TODO: describe segundoApellido</param>
/// <param name="categoria">TODO: describe categoria</param>
/// <param name="departamento">TODO: describe departamento</param>
/// <param name="planta">TODO: describe planta</param>
/// <param name="extension">TODO: describe extension</param>
/// <param name="email">TODO: describe email</param>
/// <param name="observaciones">TODO: describe observaciones</param>
/// <param name="codigo">TODO: describe codigo</param>
/// <param name="asiste">TODO: describe asiste</param>
/// <param name="estado">TODO: describe estado</param>
/// <param name="sede">TODO: describe sede</param>
/// <returns>RespInscripcion</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_UpdateInscripcion_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;
            var numInscripcion = 1;
            var dni = "test_value";
            var nombre = "test_value";
            var primerApellido = "test_value";
            var segundoApellido = "test_value";
            var categoria = "test_value";
            var departamento = "test_value";
            var planta = "test_value";
            var extension = "test_value";
            var email = "test_value";
            var observaciones = "test_value";
            var codigo = "test_value";
            var asiste = 1;
            var estado = 1;
            var sede = 1;

            // Act
            var result = client.UpdateInscripcion(codCurso, numEdicion, numInscripcion, dni, nombre, primerApellido, segundoApellido, categoria, departamento, planta, extension, email, observaciones, codigo, asiste, estado, sede);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_UpdateInscripcion_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;
            var numInscripcion = -1;
            var dni = null;
            var nombre = null;
            var primerApellido = null;
            var segundoApellido = null;
            var categoria = null;
            var departamento = null;
            var planta = null;
            var extension = null;
            var email = null;
            var observaciones = null;
            var codigo = null;
            var asiste = -1;
            var estado = -1;
            var sede = -1;

            // Act
            var result = client.UpdateInscripcion(codCurso, numEdicion, numInscripcion, dni, nombre, primerApellido, segundoApellido, categoria, departamento, planta, extension, email, observaciones, codigo, asiste, estado, sede);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

UpdateEstadoInscripcion

📋 COPY-PASTE 89% SOAP

Actualiza el estado de una inscripción, a partir del DNI

⚠ Similar operation UpdateEstadoInscripcion exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 89%  ·  Same code found in 1 other service(s): NET-WS-Telemedicina
Suggested library: cysnet.cun.formacion.common

📥 Input Parameters

intcodCurso
intnumEdicion
stringdni
intestado

📤 Return Type

RespInscripcion
CA1200

🗄 SQL Queries (2)

SELECT CA12NUMREG, CA12ESTADO FROM CA1200 WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion AND CA12DNI = :dni
CA1200
UPDATE CA1200 SET CA12ESTADO = :estado WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion AND CA12DNI = :dni
CA1200
Table CA1200 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

1. Obtener el valor original del estado:
2. Actualizar el estado de la inscripción
3. En función del estado original y del nuevo, gestionar las plazas:
Antes: En reserva; Ahora: Baja
Aumentar las plazas en reserva:
Antes: Alta; Ahora: Baja
Aumentar las plazas:
Obtener los datos del usuario
📝 Suggested XML doc comment
/// <summary>
/// Actualiza el estado de una inscripción, a partir del DNI
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <param name="dni">TODO: describe dni</param>
/// <param name="estado">TODO: describe estado</param>
/// <returns>RespInscripcion</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_UpdateEstadoInscripcion_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;
            var dni = "test_value";
            var estado = 1;

            // Act
            var result = client.UpdateEstadoInscripcion(codCurso, numEdicion, dni, estado);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_UpdateEstadoInscripcion_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;
            var dni = null;
            var estado = -1;

            // Act
            var result = client.UpdateEstadoInscripcion(codCurso, numEdicion, dni, estado);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

DarBajaInscritos

📋 COPY-PASTE 89% SOAP ⚠ Needs Review

Pone todos los usuarios de un curso en estado "baja", y resetea las plazas disponibles

⚠ Similar operation DarBajaInscritos exists in: NET-WS-Telemedicina
Needs Technical Revision — TODO/FIXME markers or incomplete logic detected
📋 Copy-paste candidate — extract to shared library
Structural match: 89%  ·  Same code found in 2 other service(s): NET-WS-Pacs NET-WS-Telemedicina
Suggested library: cysnet.cun.shared

📥 Input Parameters

intcodCurso
intnumEdicion

📤 Return Type

RespVoid
CA1200 CA1100

🗄 SQL Queries (2)

UPDATE CA1200 SET CA12ESTADO = 2 WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion
CA1200
UPDATE CA1100 SET CA11PLAZASDIS = CA11PLAZAS, CA11PLAZASRESDIS = CA11PLAZASRES WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion
CA1100
Table CA1200 also used in: NET-WS-Telemedicina
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

1. Actualizar el estado de los inscritos
2. Actualizar las plazas disponiibles a sus valores originales
📝 Suggested XML doc comment
/// <summary>
/// Pone todos los usuarios de un curso en estado "baja", y resetea las plazas disponibles
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <returns>RespVoid</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_DarBajaInscritos_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;

            // Act
            var result = client.DarBajaInscritos(codCurso, numEdicion);

            // Assert
            Assert.IsNotNull(result);
        }

        [TestMethod]
        public void Test_DarBajaInscritos_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;

            // Act
            var result = client.DarBajaInscritos(codCurso, numEdicion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

CheckUsuarioInscrito

📋 COPY-PASTE 85% SOAP

Comprueba si un usuario ya está inscrito a una edición. Si numEdicion es 0, se comprobará que no esté inscrito en alguna edición del curso

⚠ Similar operation CheckUsuarioInscrito exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
intnumEdicion
stringdni

📤 Return Type

RespBool

🗄 SQL Queries (0)

No SQL detected

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Comprueba si un usuario ya está inscrito a una edición. Si numEdicion es 0, se comprobará que no esté inscrito en alguna edición del curso
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <param name="dni">TODO: describe dni</param>
/// <returns>RespBool</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_CheckUsuarioInscrito_ReturnsSuccess()
        {
            // Arrange
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;
            var dni = "test_value";

            // Act
            var result = client.CheckUsuarioInscrito(codCurso, numEdicion, dni);

            // Assert
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_CheckUsuarioInscrito_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;
            var dni = null;

            // Act
            var result = client.CheckUsuarioInscrito(codCurso, numEdicion, dni);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

CheckPlazasDisponibles

📋 COPY-PASTE 85% SOAP

Comprueba si quedan plazas o plazas en reserva disponibles

⚠ Similar operation CheckPlazasDisponibles exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
intnumEdicion
stringtipo

📤 Return Type

RespBool
CA1100

🗄 SQL Queries (1)

SELECT 1 FROM CA1100
CA1100
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Comprueba si quedan plazas o plazas en reserva disponibles
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <param name="tipo">TODO: describe tipo</param>
/// <returns>RespBool</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_CheckPlazasDisponibles_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;
            var tipo = "test_value";

            // Act
            var result = client.CheckPlazasDisponibles(codCurso, numEdicion, tipo);

            // Assert
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_CheckPlazasDisponibles_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;
            var tipo = null;

            // Act
            var result = client.CheckPlazasDisponibles(codCurso, numEdicion, tipo);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

CheckFechaLimite

📋 COPY-PASTE 85% SOAP

Comprueba si cumple con la fecha límite

📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
intnumEdicion

📤 Return Type

RespBool
CA1100

🗄 SQL Queries (1)

SELECT 1 FROM CA1100
CA1100
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Comprueba si cumple con la fecha límite
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <returns>RespBool</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_CheckFechaLimite_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;

            // Act
            var result = client.CheckFechaLimite(codCurso, numEdicion);

            // Assert
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_CheckFechaLimite_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;

            // Act
            var result = client.CheckFechaLimite(codCurso, numEdicion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

ActivarInscripcionEnReserva

📋 COPY-PASTE 97% SOAP

Busca la 1ª inscripción que esté en reserva y la pasa a estado 4 (Pte validación)

⚠ Similar operation ActivarInscripcionEnReserva exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 97%  ·  Same code found in 1 other service(s): NET-WS-Telemedicina
Suggested library: cysnet.cun.formacion.common

📥 Input Parameters

intcodCurso
intnumEdicion

📤 Return Type

RespInscripcion
CA1200

🗄 SQL Queries (2)

SELECT CA12NUMREG FROM CA1200 WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion AND CA12ESTADO = 3 ORDER BY CA12FECHAINS ASC
CA1200
UPDATE CA1200 SET CA12ESTADO = 4 WHERE CA12NUMREG = :numReg
CA1200
Table CA1200 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

1. Comprobar si hay inscripciones en reserva
Si hay registro
2. Actualizar el estado a 4:
📝 Suggested XML doc comment
/// <summary>
/// Busca la 1ª inscripción que esté en reserva y la pasa a estado 4 (Pte validación)
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <returns>RespInscripcion</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_ActivarInscripcionEnReserva_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;

            // Act
            var result = client.ActivarInscripcionEnReserva(codCurso, numEdicion);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_ActivarInscripcionEnReserva_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;

            // Act
            var result = client.ActivarInscripcionEnReserva(codCurso, numEdicion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetCursosConInscritos

📋 COPY-PASTE 95% SOAP ⚠ Needs Review

Obtiene todos a futuro que tengan ediciones con usuarios inscritos

⚠ Similar operation GetCursosConInscritos exists in: NET-WS-Telemedicina
Needs Technical Revision — TODO/FIXME markers or incomplete logic detected
📋 Copy-paste candidate — extract to shared library
Structural match: 95%  ·  Same code found in 1 other service(s): NET-WS-Telemedicina
Suggested library: cysnet.cun.formacion.common

📥 Input Parameters

📤 Return Type

RespListCurso
CA1000 CA1100

🗄 SQL Queries (3)

SELECT CA10CODCURSO FROM CA1000
CA1000
WHERE CA25CODORGANIZADOR = 1 AND CA10CODCURSO IN (SELECT CA10CODCURSO FROM CA1100 WHERE
CA1100
SELECT CA11NUMEDICION FROM CA1100
CA1100
Table CA1000 also used in: NET-WS-Telemedicina
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

Filtrar directamente por CodOrganizador = 1 (enfermería)
📝 Suggested XML doc comment
/// <summary>
/// Obtiene todos a futuro que tengan ediciones con usuarios inscritos
/// </summary>
/// <returns>RespListCurso</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetCursosConInscritos_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();


            // Act
            var result = client.GetCursosConInscritos();

            // Assert
            Assert.IsNotNull(result.Resultado);
        }

        [TestMethod]
        public void Test_GetCursosConInscritos_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();


            // Act
            var result = client.GetCursosConInscritos();

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetAllInscripcionesFuturas

📋 COPY-PASTE 85% SOAP

Obtiene todas las inscripciones para un curso/edicion a futuro

⚠ Similar operation GetAllInscripcionesFuturas exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
intnumEdicion
intestado

📤 Return Type

RespListInscripcion

🗄 SQL Queries (1)

SELECT CA12NUMREG

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Obtiene todas las inscripciones para un curso/edicion a futuro
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <param name="estado">TODO: describe estado</param>
/// <returns>RespListInscripcion</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetAllInscripcionesFuturas_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;
            var estado = 1;

            // Act
            var result = client.GetAllInscripcionesFuturas(codCurso, numEdicion, estado);

            // Assert
            Assert.IsNotNull(result.Resultado);
        }

        [TestMethod]
        public void Test_GetAllInscripcionesFuturas_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;
            var estado = -1;

            // Act
            var result = client.GetAllInscripcionesFuturas(codCurso, numEdicion, estado);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetInscripcionesListV2

📋 COPY-PASTE 85% SOAP

Obtiene todas las inscripciones a un curso/edicion

⚠ Similar operation GetInscripcionesListV2 exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
intnumEdicion
intestado

📤 Return Type

RespListInscripcionV2

🗄 SQL Queries (1)

SELECT CA1200.CA10CODCURSO, CA1200.CA11NUMEDICION, CA1200.CA12NUMREG, CA12ESTADO, CA12FECHAINS, CA12OBSERV, CA12CODIGO, CA12INDASISTE, CA12DNI, CA12NOMBRE, CA12PRIAPEL, CA12SEGAPEL,

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Obtiene todas las inscripciones a un curso/edicion
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <param name="estado">TODO: describe estado</param>
/// <returns>RespListInscripcionV2</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetInscripcionesListV2_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;
            var estado = 1;

            // Act
            var result = client.GetInscripcionesListV2(codCurso, numEdicion, estado);

            // Assert
            Assert.IsNotNull(result.Resultado);
        }

        [TestMethod]
        public void Test_GetInscripcionesListV2_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;
            var estado = -1;

            // Act
            var result = client.GetInscripcionesListV2(codCurso, numEdicion, estado);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetInscripcionV2

📋 COPY-PASTE 85% SOAP

Obtiene la inscripción de un usuario a un curso/edicion. Si existe una con estado = 2 (baja) no se devuelve

⚠ Similar operation GetInscripcionV2 exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
intnumEdicion
intnumInscripcion

📤 Return Type

RespInscripcionV2

🗄 SQL Queries (0)

No SQL detected

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Obtiene la inscripción de un usuario a un curso/edicion. Si existe una con estado = 2 (baja) no se devuelve
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <param name="numInscripcion">TODO: describe numInscripcion</param>
/// <returns>RespInscripcionV2</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetInscripcionV2_ReturnsSuccess()
        {
            // Arrange
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;
            var numInscripcion = 1;

            // Act
            var result = client.GetInscripcionV2(codCurso, numEdicion, numInscripcion);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_GetInscripcionV2_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;
            var numInscripcion = -1;

            // Act
            var result = client.GetInscripcionV2(codCurso, numEdicion, numInscripcion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

AddInscripcionV2

SOAP

Añade una nueva inscripción

⚠ Similar operation AddInscripcionV2 exists in: NET-WS-Telemedicina

📥 Input Parameters

intcodCurso
intnumEdicion
stringdni
stringnombre
stringprimerApellido
stringsegundoApellido
stringcategoria
stringdepartamento
stringplanta
stringextension
stringemail
stringobservaciones
stringcodigo
intsede
boolindCert
stringrutaCert
boolindExpediente
stringtitulacion

📤 Return Type

RespInscripcionV2
CA1100 CA1200 dual

🗄 SQL Queries (5)

SELECT CA11PLAZASDIS, CA11PLAZASRESDIS FROM CA1100 WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion
CA1100
SELECT CA12NUMREG FROM CA1200 WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion AND CA12DNI = :dni AND CA12ESTADO = 2
CA1200
UPDATE CA1200 SET CA12ESTADO = :estado WHERE CA12NUMREG = :numReg
CA1200
SELECT CA12NUMREG_SEQUENCE.NEXTVAL FROM dual
dual
INSERT INTO CA1200 (CA12NUMREG, CA10CODCURSO, CA11NUMEDICION, CA12DNI, CA12NOMBRE, CA12PRIAPEL, CA12SEGAPEL, CA12CATEGORIA, CA12DPTO, CA12PLANTA, CA12EXT, CA12EMAIL, CA12OBSERV,
CA1200
Table CA1100 also used in: NET-WS-Telemedicina
Table CA1200 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

1: Alta, 3: En reserva
1. Comprobar qué plazas quedan disponibles
2. Comprobar si el usuario está dado de baja para la misma edición:
3. Si hay numReg (es decir, el usuario existía, pero dado de baja), volver a darlo de alta
4. Obtener el ID de la inscripción que toca insertar:
5. Insertar la inscripción:
6. Disminuir las plazas:
7. Obtener los datos de la inscripción recién creada
📝 Suggested XML doc comment
/// <summary>
/// Añade una nueva inscripción
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <param name="dni">TODO: describe dni</param>
/// <param name="nombre">TODO: describe nombre</param>
/// <param name="primerApellido">TODO: describe primerApellido</param>
/// <param name="segundoApellido">TODO: describe segundoApellido</param>
/// <param name="categoria">TODO: describe categoria</param>
/// <param name="departamento">TODO: describe departamento</param>
/// <param name="planta">TODO: describe planta</param>
/// <param name="extension">TODO: describe extension</param>
/// <param name="email">TODO: describe email</param>
/// <param name="observaciones">TODO: describe observaciones</param>
/// <param name="codigo">TODO: describe codigo</param>
/// <param name="sede">TODO: describe sede</param>
/// <param name="indCert">TODO: describe indCert</param>
/// <param name="rutaCert">TODO: describe rutaCert</param>
/// <param name="indExpediente">TODO: describe indExpediente</param>
/// <param name="titulacion">TODO: describe titulacion</param>
/// <returns>RespInscripcionV2</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_AddInscripcionV2_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;
            var dni = "test_value";
            var nombre = "test_value";
            var primerApellido = "test_value";
            var segundoApellido = "test_value";
            var categoria = "test_value";
            var departamento = "test_value";
            var planta = "test_value";
            var extension = "test_value";
            var email = "test_value";
            var observaciones = "test_value";
            var codigo = "test_value";
            var sede = 1;
            var indCert = true;
            var rutaCert = "test_value";
            var indExpediente = true;
            var titulacion = "test_value";

            // Act
            var result = client.AddInscripcionV2(codCurso, numEdicion, dni, nombre, primerApellido, segundoApellido, categoria, departamento, planta, extension, email, observaciones, codigo, sede, indCert, rutaCert, indExpediente, titulacion);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_AddInscripcionV2_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;
            var dni = null;
            var nombre = null;
            var primerApellido = null;
            var segundoApellido = null;
            var categoria = null;
            var departamento = null;
            var planta = null;
            var extension = null;
            var email = null;
            var observaciones = null;
            var codigo = null;
            var sede = -1;
            var indCert = -1;
            var rutaCert = null;
            var indExpediente = -1;
            var titulacion = null;

            // Act
            var result = client.AddInscripcionV2(codCurso, numEdicion, dni, nombre, primerApellido, segundoApellido, categoria, departamento, planta, extension, email, observaciones, codigo, sede, indCert, rutaCert, indExpediente, titulacion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

UpdateInscripcionV2

SOAP

Actualizar una inscripción

⚠ Similar operation UpdateInscripcionV2 exists in: NET-WS-Telemedicina

📥 Input Parameters

intcodCurso
intnumEdicion
intnumInscripcion
stringdni
stringnombre
stringprimerApellido
stringsegundoApellido
stringcategoria
stringdepartamento
stringplanta
stringextension
stringemail
stringobservaciones
stringcodigo
intasiste
intestado
intsede
boolindCert
stringrutaCert
boolindExpediente
stringtitulacion

📤 Return Type

RespInscripcionV2
CA1200

🗄 SQL Queries (3)

UPDATE CA1200 SET CA12DNI = :dni, CA12NOMBRE = :nombre, CA12PRIAPEL = :primerApellido, CA12SEGAPEL = :segundoApellido, CA12CATEGORIA = :categoria, CA12DPTO = :departamento,
CA1200
SELECT CA12ESTADO FROM CA1200 WHERE CA10CODCURSO = :codCuso AND CA11NUMEDICION = :numEdicion AND CA12NUMREG = :numInscripcion
CA1200
UPDATE CA1200 SET CA12ESTADO = :estado
CA1200
Table CA1200 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

1. Actualizar los datos de la inscripción, menos el estado:
2. Obtener el estado original
3. Si el estado original es 4 (pte revisión), actualizarlo:
4. Obtener los datos de la inscripción recién creada
📝 Suggested XML doc comment
/// <summary>
/// Actualizar una inscripción
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <param name="numInscripcion">TODO: describe numInscripcion</param>
/// <param name="dni">TODO: describe dni</param>
/// <param name="nombre">TODO: describe nombre</param>
/// <param name="primerApellido">TODO: describe primerApellido</param>
/// <param name="segundoApellido">TODO: describe segundoApellido</param>
/// <param name="categoria">TODO: describe categoria</param>
/// <param name="departamento">TODO: describe departamento</param>
/// <param name="planta">TODO: describe planta</param>
/// <param name="extension">TODO: describe extension</param>
/// <param name="email">TODO: describe email</param>
/// <param name="observaciones">TODO: describe observaciones</param>
/// <param name="codigo">TODO: describe codigo</param>
/// <param name="asiste">TODO: describe asiste</param>
/// <param name="estado">TODO: describe estado</param>
/// <param name="sede">TODO: describe sede</param>
/// <param name="indCert">TODO: describe indCert</param>
/// <param name="rutaCert">TODO: describe rutaCert</param>
/// <param name="indExpediente">TODO: describe indExpediente</param>
/// <param name="titulacion">TODO: describe titulacion</param>
/// <returns>RespInscripcionV2</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_UpdateInscripcionV2_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;
            var numInscripcion = 1;
            var dni = "test_value";
            var nombre = "test_value";
            var primerApellido = "test_value";
            var segundoApellido = "test_value";
            var categoria = "test_value";
            var departamento = "test_value";
            var planta = "test_value";
            var extension = "test_value";
            var email = "test_value";
            var observaciones = "test_value";
            var codigo = "test_value";
            var asiste = 1;
            var estado = 1;
            var sede = 1;
            var indCert = true;
            var rutaCert = "test_value";
            var indExpediente = true;
            var titulacion = "test_value";

            // Act
            var result = client.UpdateInscripcionV2(codCurso, numEdicion, numInscripcion, dni, nombre, primerApellido, segundoApellido, categoria, departamento, planta, extension, email, observaciones, codigo, asiste, estado, sede, indCert, rutaCert, indExpediente, titulacion);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_UpdateInscripcionV2_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;
            var numInscripcion = -1;
            var dni = null;
            var nombre = null;
            var primerApellido = null;
            var segundoApellido = null;
            var categoria = null;
            var departamento = null;
            var planta = null;
            var extension = null;
            var email = null;
            var observaciones = null;
            var codigo = null;
            var asiste = -1;
            var estado = -1;
            var sede = -1;
            var indCert = -1;
            var rutaCert = null;
            var indExpediente = -1;
            var titulacion = null;

            // Act
            var result = client.UpdateInscripcionV2(codCurso, numEdicion, numInscripcion, dni, nombre, primerApellido, segundoApellido, categoria, departamento, planta, extension, email, observaciones, codigo, asiste, estado, sede, indCert, rutaCert, indExpediente, titulacion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

UpdateEstadoInscripcionV2

📋 COPY-PASTE 89% SOAP

Actualiza el estado de una inscripción, a partir del DNI

⚠ Similar operation UpdateEstadoInscripcionV2 exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 89%  ·  Same code found in 1 other service(s): NET-WS-Telemedicina
Suggested library: cysnet.cun.formacion.common

📥 Input Parameters

intcodCurso
intnumEdicion
intnumInscripcion
intestado

📤 Return Type

RespInscripcionV2
CA1200

🗄 SQL Queries (2)

SELECT CA12ESTADO FROM CA1200 WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion AND CA12NUMREG = :numInscripcion
CA1200
UPDATE CA1200 SET CA12ESTADO = :estado WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion AND CA12NUMREG = :numInscripcion
CA1200
Table CA1200 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

1. Obtener el valor original del estado:
2. Actualizar el estado de la inscripción
3. En función del estado original y del nuevo, gestionar las plazas:
Antes: En reserva; Ahora: Baja
Aumentar las plazas en reserva:
Antes: Alta; Ahora: Baja
Aumentar las plazas:
Obtener los datos del usuario
📝 Suggested XML doc comment
/// <summary>
/// Actualiza el estado de una inscripción, a partir del DNI
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <param name="numInscripcion">TODO: describe numInscripcion</param>
/// <param name="estado">TODO: describe estado</param>
/// <returns>RespInscripcionV2</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_UpdateEstadoInscripcionV2_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;
            var numInscripcion = 1;
            var estado = 1;

            // Act
            var result = client.UpdateEstadoInscripcionV2(codCurso, numEdicion, numInscripcion, estado);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_UpdateEstadoInscripcionV2_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;
            var numInscripcion = -1;
            var estado = -1;

            // Act
            var result = client.UpdateEstadoInscripcionV2(codCurso, numEdicion, numInscripcion, estado);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

ActivarInscripcionEnReservaV2

📋 COPY-PASTE 97% SOAP

Busca la 1ª inscripción que esté en reserva y la pasa a estado 4 (Pte validación)

⚠ Similar operation ActivarInscripcionEnReservaV2 exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 97%  ·  Same code found in 1 other service(s): NET-WS-Telemedicina
Suggested library: cysnet.cun.formacion.common

📥 Input Parameters

intcodCurso
intnumEdicion

📤 Return Type

RespInscripcionV2
CA1200

🗄 SQL Queries (2)

SELECT CA12NUMREG FROM CA1200 WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion AND CA12ESTADO = 3 ORDER BY CA12FECHAINS ASC
CA1200
UPDATE CA1200 SET CA12ESTADO = 4 WHERE CA12NUMREG = :numReg
CA1200
Table CA1200 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

1. Comprobar si hay inscripciones en reserva
Si hay registro
2. Actualizar el estado a 4:
📝 Suggested XML doc comment
/// <summary>
/// Busca la 1ª inscripción que esté en reserva y la pasa a estado 4 (Pte validación)
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <returns>RespInscripcionV2</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_ActivarInscripcionEnReservaV2_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;

            // Act
            var result = client.ActivarInscripcionEnReservaV2(codCurso, numEdicion);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_ActivarInscripcionEnReservaV2_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;

            // Act
            var result = client.ActivarInscripcionEnReservaV2(codCurso, numEdicion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetCursosConInscritosV2

📋 COPY-PASTE 95% SOAP ⚠ Needs Review

Obtiene todos a futuro que tengan ediciones con usuarios inscritos

⚠ Similar operation GetCursosConInscritosV2 exists in: NET-WS-Telemedicina
Needs Technical Revision — TODO/FIXME markers or incomplete logic detected
📋 Copy-paste candidate — extract to shared library
Structural match: 95%  ·  Same code found in 1 other service(s): NET-WS-Telemedicina
Suggested library: cysnet.cun.formacion.common

📥 Input Parameters

📤 Return Type

RespListCursoV2
CA1000 CA1100

🗄 SQL Queries (3)

SELECT CA10CODCURSO FROM CA1000
CA1000
WHERE CA25CODORGANIZADOR = 1 AND CA10CODCURSO IN (SELECT CA10CODCURSO FROM CA1100 WHERE
CA1100
SELECT CA11NUMEDICION FROM CA1100
CA1100
Table CA1000 also used in: NET-WS-Telemedicina
Table CA1100 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

Filtrar directamente por CodOrganizador = 1 (enfermería)
📝 Suggested XML doc comment
/// <summary>
/// Obtiene todos a futuro que tengan ediciones con usuarios inscritos
/// </summary>
/// <returns>RespListCursoV2</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetCursosConInscritosV2_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();


            // Act
            var result = client.GetCursosConInscritosV2();

            // Assert
            Assert.IsNotNull(result.Resultado);
        }

        [TestMethod]
        public void Test_GetCursosConInscritosV2_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();


            // Act
            var result = client.GetCursosConInscritosV2();

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetAllInscripcionesFuturasV2

📋 COPY-PASTE 85% SOAP

Obtiene todas las inscripciones para un curso/edicion a futuro

⚠ Similar operation GetAllInscripcionesFuturasV2 exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intcodCurso
intnumEdicion
intestado

📤 Return Type

RespListInscripcionV2

🗄 SQL Queries (1)

SELECT CA12NUMREG

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Obtiene todas las inscripciones para un curso/edicion a futuro
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <param name="estado">TODO: describe estado</param>
/// <returns>RespListInscripcionV2</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetAllInscripcionesFuturasV2_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;
            var estado = 1;

            // Act
            var result = client.GetAllInscripcionesFuturasV2(codCurso, numEdicion, estado);

            // Assert
            Assert.IsNotNull(result.Resultado);
        }

        [TestMethod]
        public void Test_GetAllInscripcionesFuturasV2_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;
            var estado = -1;

            // Act
            var result = client.GetAllInscripcionesFuturasV2(codCurso, numEdicion, estado);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

UpdateAsistencia

📋 COPY-PASTE 85% SOAP

Actualiza la asistencia de una inscripción

📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intnumInscripcion

📤 Return Type

RespBool
CA1200

🗄 SQL Queries (1)

UPDATE CA1200 SET CA12INDASISTE = -1, CA12FECHAASISTE = SYSDATE WHERE CA12NUMREG = :numInscripcion
CA1200
Table CA1200 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Actualiza la asistencia de una inscripción
/// </summary>
/// <param name="numInscripcion">TODO: describe numInscripcion</param>
/// <returns>RespBool</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_UpdateAsistencia_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var numInscripcion = 1;

            // Act
            var result = client.UpdateAsistencia(numInscripcion);

            // Assert
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_UpdateAsistencia_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var numInscripcion = -1;

            // Act
            var result = client.UpdateAsistencia(numInscripcion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

UpdateCertificado

SOAP

Actualiza la ruta del certificado de una inscripción

📥 Input Parameters

intnumInscripcion
stringrutaCert

📤 Return Type

RespInscripcionV2
CA1200

🗄 SQL Queries (1)

UPDATE CA1200 SET CA12INDCERTIFICADO = -1, CA12RUTACERT = :rutaCert WHERE CA12NUMREG = :numInscripcion
CA1200
Table CA1200 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Actualiza la ruta del certificado de una inscripción
/// </summary>
/// <param name="numInscripcion">TODO: describe numInscripcion</param>
/// <param name="rutaCert">TODO: describe rutaCert</param>
/// <returns>RespInscripcionV2</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_UpdateCertificado_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var numInscripcion = 1;
            var rutaCert = "test_value";

            // Act
            var result = client.UpdateCertificado(numInscripcion, rutaCert);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_UpdateCertificado_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var numInscripcion = -1;
            var rutaCert = null;

            // Act
            var result = client.UpdateCertificado(numInscripcion, rutaCert);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

AddAsistencia

SOAP

Añade una nueva inscripción, sin tener en cuenta las plazas, y marcando asiste = -1. Busca si ya existe una inscripción para el mismo curso-edicion-dni. Si existe, actualiza el campo asiste a -1; sino, crea un nuevo registro

📥 Input Parameters

intcodCurso
intnumEdicion
intnumSesion
stringdni
stringnombre
stringprimerApellido
stringsegundoApellido
stringcategoria
stringdepartamento
stringplanta
stringextension
stringemail
stringobservaciones
stringcodigo
intsede
boolindCert
stringrutaCert
boolindExpediente
stringtitulacion
stringfechaAsiste
stringrutaFirma
intnumInscripcion

📤 Return Type

RespBool

🗄 SQL Queries (0)

No SQL detected

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Añade una nueva inscripción, sin tener en cuenta las plazas, y marcando asiste = -1. Busca si ya existe una inscripción para el mismo curso-edicion-dni. Si existe, actualiza el campo asiste a -1; sino, crea un nuevo registro
/// </summary>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <param name="numSesion">TODO: describe numSesion</param>
/// <param name="dni">TODO: describe dni</param>
/// <param name="nombre">TODO: describe nombre</param>
/// <param name="primerApellido">TODO: describe primerApellido</param>
/// <param name="segundoApellido">TODO: describe segundoApellido</param>
/// <param name="categoria">TODO: describe categoria</param>
/// <param name="departamento">TODO: describe departamento</param>
/// <param name="planta">TODO: describe planta</param>
/// <param name="extension">TODO: describe extension</param>
/// <param name="email">TODO: describe email</param>
/// <param name="observaciones">TODO: describe observaciones</param>
/// <param name="codigo">TODO: describe codigo</param>
/// <param name="sede">TODO: describe sede</param>
/// <param name="indCert">TODO: describe indCert</param>
/// <param name="rutaCert">TODO: describe rutaCert</param>
/// <param name="indExpediente">TODO: describe indExpediente</param>
/// <param name="titulacion">TODO: describe titulacion</param>
/// <param name="fechaAsiste">TODO: describe fechaAsiste</param>
/// <param name="rutaFirma">TODO: describe rutaFirma</param>
/// <param name="numInscripcion">TODO: describe numInscripcion</param>
/// <returns>RespBool</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_AddAsistencia_ReturnsSuccess()
        {
            // Arrange
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var codCurso = 1;
            var numEdicion = 1;
            var numSesion = 1;
            var dni = "test_value";
            var nombre = "test_value";
            var primerApellido = "test_value";
            var segundoApellido = "test_value";
            var categoria = "test_value";
            var departamento = "test_value";
            var planta = "test_value";
            var extension = "test_value";
            var email = "test_value";
            var observaciones = "test_value";
            var codigo = "test_value";
            var sede = 1;
            var indCert = true;
            var rutaCert = "test_value";
            var indExpediente = true;
            var titulacion = "test_value";
            var fechaAsiste = "test_value";
            var rutaFirma = "test_value";
            var numInscripcion = 1;

            // Act
            var result = client.AddAsistencia(codCurso, numEdicion, numSesion, dni, nombre, primerApellido, segundoApellido, categoria, departamento, planta, extension, email, observaciones, codigo, sede, indCert, rutaCert, indExpediente, titulacion, fechaAsiste, rutaFirma, numInscripcion);

            // Assert
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_AddAsistencia_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var codCurso = -1;
            var numEdicion = -1;
            var numSesion = -1;
            var dni = null;
            var nombre = null;
            var primerApellido = null;
            var segundoApellido = null;
            var categoria = null;
            var departamento = null;
            var planta = null;
            var extension = null;
            var email = null;
            var observaciones = null;
            var codigo = null;
            var sede = -1;
            var indCert = -1;
            var rutaCert = null;
            var indExpediente = -1;
            var titulacion = null;
            var fechaAsiste = null;
            var rutaFirma = null;
            var numInscripcion = -1;

            // Act
            var result = client.AddAsistencia(codCurso, numEdicion, numSesion, dni, nombre, primerApellido, segundoApellido, categoria, departamento, planta, extension, email, observaciones, codigo, sede, indCert, rutaCert, indExpediente, titulacion, fechaAsiste, rutaFirma, numInscripcion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetSesionesList

SOAP

Devuelve las sesiones que cuelgan de una edición.

⚠ Similar operation GetSesionesList exists in: NET-WS-Telemedicina

📥 Input Parameters

intnumEdicion

📤 Return Type

RespListSesiones

🗄 SQL Queries (0)

No SQL detected

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Devuelve las sesiones que cuelgan de una edición.
/// </summary>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <returns>RespListSesiones</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetSesionesList_ReturnsSuccess()
        {
            // Arrange
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var numEdicion = 1;

            // Act
            var result = client.GetSesionesList(numEdicion);

            // Assert
            Assert.IsNotNull(result.Resultado);
        }

        [TestMethod]
        public void Test_GetSesionesList_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var numEdicion = -1;

            // Act
            var result = client.GetSesionesList(numEdicion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetSesion

SOAP

Devuelve una sesión concreta

📥 Input Parameters

intnumSesion

📤 Return Type

RespSesion

🗄 SQL Queries (0)

No SQL detected

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Devuelve una sesión concreta
/// </summary>
/// <param name="numSesion">TODO: describe numSesion</param>
/// <returns>RespSesion</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetSesion_ReturnsSuccess()
        {
            // Arrange
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var numSesion = 1;

            // Act
            var result = client.GetSesion(numSesion);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_GetSesion_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var numSesion = -1;

            // Act
            var result = client.GetSesion(numSesion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

AddSesion

SOAP

Registra una nueva sesión.

📥 Input Parameters

Sesionsesion

📤 Return Type

RespSesion
dual CA2700

🗄 SQL Queries (2)

SELECT CA27NUMSESION_SEQUENCE.NEXTVAL FROM dual
dual
INSERT INTO CA2700 (CA27NUMSESION, CA11NUMEDICION, CA27FECHA, CA27HORARIO, CA27RUTACARPETA) VALUES (:NumSesion, :NumEdicion, TO_DATE(:Fecha, 'YYYY-MM-DD'), :Horario, :RutaBase)
CA2700

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Registra una nueva sesión.
/// </summary>
/// <param name="sesion">TODO: describe sesion</param>
/// <returns>RespSesion</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_AddSesion_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var sesion = null;

            // Act
            var result = client.AddSesion(sesion);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_AddSesion_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var sesion = -1;

            // Act
            var result = client.AddSesion(sesion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

UpdateSesion

SOAP

Actualiza una sesión.

📥 Input Parameters

Sesionsesion

📤 Return Type

RespSesion
CA2700

🗄 SQL Queries (1)

UPDATE CA2700 SET
CA2700

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Actualiza una sesión.
/// </summary>
/// <param name="sesion">TODO: describe sesion</param>
/// <returns>RespSesion</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_UpdateSesion_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var sesion = null;

            // Act
            var result = client.UpdateSesion(sesion);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_UpdateSesion_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var sesion = -1;

            // Act
            var result = client.UpdateSesion(sesion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

CancelarSesion

SOAP

Cancela una sesión.

📥 Input Parameters

intnumEdicion
intnumSesion

📤 Return Type

RespSesion
CA2700

🗄 SQL Queries (1)

UPDATE CA2700 SET CA27INDCANCELADA = -1 where CA27NUMSESION = :NumSesion and CA11NUMEDICION = :numEdicion
CA2700

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Cancela una sesión.
/// </summary>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <param name="numSesion">TODO: describe numSesion</param>
/// <returns>RespSesion</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_CancelarSesion_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var numEdicion = 1;
            var numSesion = 1;

            // Act
            var result = client.CancelarSesion(numEdicion, numSesion);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_CancelarSesion_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var numEdicion = -1;
            var numSesion = -1;

            // Act
            var result = client.CancelarSesion(numEdicion, numSesion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

DeleteSesion

SOAP

Borrar una sesión.

📥 Input Parameters

intnumEdicion
intnumSesion

📤 Return Type

RespSesion
CA2700

🗄 SQL Queries (1)

UPDATE CA2700 SET CA27FECHABAJA = SYSDATE where CA27NUMSESION = :NumSesion and CA11NUMEDICION = :numEdicion
CA2700

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Borrar una sesión.
/// </summary>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <param name="numSesion">TODO: describe numSesion</param>
/// <returns>RespSesion</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_DeleteSesion_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var numEdicion = 1;
            var numSesion = 1;

            // Act
            var result = client.DeleteSesion(numEdicion, numSesion);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_DeleteSesion_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var numEdicion = -1;
            var numSesion = -1;

            // Act
            var result = client.DeleteSesion(numEdicion, numSesion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

CheckSesionExiste

📋 COPY-PASTE 85% SOAP

Comprueba si una sesion existe a partir de la edicion, la fecha y el horario

⚠ Similar operation CheckSesionExiste exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intnumEdicion
intnumSesion
stringfecha
stringhorario
boolotraSesion

📤 Return Type

RespBool
CA2700

🗄 SQL Queries (1)

SELECT CA27NUMSESION FROM CA2700
CA2700

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Comprueba si una sesion existe a partir de la edicion, la fecha y el horario
/// </summary>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <param name="numSesion">TODO: describe numSesion</param>
/// <param name="fecha">TODO: describe fecha</param>
/// <param name="horario">TODO: describe horario</param>
/// <param name="otraSesion">TODO: describe otraSesion</param>
/// <returns>RespBool</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_CheckSesionExiste_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var numEdicion = 1;
            var numSesion = 1;
            var fecha = "test_value";
            var horario = "test_value";
            var otraSesion = true;

            // Act
            var result = client.CheckSesionExiste(numEdicion, numSesion, fecha, horario, otraSesion);

            // Assert
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_CheckSesionExiste_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var numEdicion = -1;
            var numSesion = -1;
            var fecha = null;
            var horario = null;
            var otraSesion = -1;

            // Act
            var result = client.CheckSesionExiste(numEdicion, numSesion, fecha, horario, otraSesion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetAsistenciasSesion

SOAP

Obtiene la lista de asistencias a una sesión.

📥 Input Parameters

intnumEdicion
intnumSesion

📤 Return Type

RespListAsistencia

🗄 SQL Queries (1)

SELECT a.CA28NUMASISTENCIA, i.CA12NUMREG, s.CA27NUMSESION, a.CA28INDASISTE, a.CA28FECHAASISTE, a.CA28RUTAFIRMA

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Obtiene la lista de asistencias a una sesión.
/// </summary>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <param name="numSesion">TODO: describe numSesion</param>
/// <returns>RespListAsistencia</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetAsistenciasSesion_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var numEdicion = 1;
            var numSesion = 1;

            // Act
            var result = client.GetAsistenciasSesion(numEdicion, numSesion);

            // Assert
            Assert.IsNotNull(result.Resultado);
        }

        [TestMethod]
        public void Test_GetAsistenciasSesion_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var numEdicion = -1;
            var numSesion = -1;

            // Act
            var result = client.GetAsistenciasSesion(numEdicion, numSesion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetAsistenciasInscripcion

SOAP

Obtiene la lista de asistencias a una inscripción de un participante.

📥 Input Parameters

intnumEdicion
intnumInscripcion

📤 Return Type

RespListAsistencia

🗄 SQL Queries (1)

SELECT a.CA28NUMASISTENCIA, i.CA12NUMREG, s.CA27NUMSESION, a.CA28INDASISTE, a.CA28FECHAASISTE, a.CA28RUTAFIRMA

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Obtiene la lista de asistencias a una inscripción de un participante.
/// </summary>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <param name="numInscripcion">TODO: describe numInscripcion</param>
/// <returns>RespListAsistencia</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetAsistenciasInscripcion_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var numEdicion = 1;
            var numInscripcion = 1;

            // Act
            var result = client.GetAsistenciasInscripcion(numEdicion, numInscripcion);

            // Assert
            Assert.IsNotNull(result.Resultado);
        }

        [TestMethod]
        public void Test_GetAsistenciasInscripcion_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var numEdicion = -1;
            var numInscripcion = -1;

            // Act
            var result = client.GetAsistenciasInscripcion(numEdicion, numInscripcion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

AddAsistenciaSesion

SOAP

Registra una asistencia a una sesión.

📥 Input Parameters

intnumSesion
intnumInscripcion
stringrutaFirma

📤 Return Type

RespAsistencia
CA2800 dual

🗄 SQL Queries (3)

SELECT CA28NUMASISTENCIA FROM CA2800 WHERE CA12NUMREG = :numInscripcion AND CA27NUMSESION = :numSesion
CA2800
SELECT CA28NUMASISTENCIA_SEQUENCE.NEXTVAL FROM dual
dual
INSERT INTO CA2800 (CA28NUMASISTENCIA, CA27NUMSESION, CA12NUMREG ,CA28RUTAFIRMA ,CA28INDASISTE, CA28FECHAASISTE)
CA2800

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

Obtener los datos de la edición recién creada
📝 Suggested XML doc comment
/// <summary>
/// Registra una asistencia a una sesión.
/// </summary>
/// <param name="numSesion">TODO: describe numSesion</param>
/// <param name="numInscripcion">TODO: describe numInscripcion</param>
/// <param name="rutaFirma">TODO: describe rutaFirma</param>
/// <returns>RespAsistencia</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_AddAsistenciaSesion_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var numSesion = 1;
            var numInscripcion = 1;
            var rutaFirma = "test_value";

            // Act
            var result = client.AddAsistenciaSesion(numSesion, numInscripcion, rutaFirma);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_AddAsistenciaSesion_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var numSesion = -1;
            var numInscripcion = -1;
            var rutaFirma = null;

            // Act
            var result = client.AddAsistenciaSesion(numSesion, numInscripcion, rutaFirma);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetPenalizacionesList

📋 COPY-PASTE 85% SOAP

Obtiene todas las penalizaciones que cumplan las condiciones establecidas

⚠ Similar operation GetPenalizacionesList exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

stringfechaDesde
stringfechaHasta

📤 Return Type

RespListPenalizacion
CA1700

🗄 SQL Queries (1)

SELECT CA17NUMREG FROM CA1700
CA1700
Table CA1700 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

Si hay fechaDesde y fechaHasta, añadirlo como condición
📝 Suggested XML doc comment
/// <summary>
/// Obtiene todas las penalizaciones que cumplan las condiciones establecidas
/// </summary>
/// <param name="fechaDesde">TODO: describe fechaDesde</param>
/// <param name="fechaHasta">TODO: describe fechaHasta</param>
/// <returns>RespListPenalizacion</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetPenalizacionesList_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var fechaDesde = "test_value";
            var fechaHasta = "test_value";

            // Act
            var result = client.GetPenalizacionesList(fechaDesde, fechaHasta);

            // Assert
            Assert.IsNotNull(result.Resultado);
        }

        [TestMethod]
        public void Test_GetPenalizacionesList_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var fechaDesde = null;
            var fechaHasta = null;

            // Act
            var result = client.GetPenalizacionesList(fechaDesde, fechaHasta);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetPenalizacion

📋 COPY-PASTE 85% SOAP

Obtiene la información una penalización en concreto

⚠ Similar operation GetPenalizacion exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intnumReg

📤 Return Type

RespPenalizacion

🗄 SQL Queries (0)

No SQL detected

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Obtiene la información una penalización en concreto
/// </summary>
/// <param name="numReg">TODO: describe numReg</param>
/// <returns>RespPenalizacion</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetPenalizacion_ReturnsSuccess()
        {
            // Arrange
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var numReg = 1;

            // Act
            var result = client.GetPenalizacion(numReg);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_GetPenalizacion_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var numReg = -1;

            // Act
            var result = client.GetPenalizacion(numReg);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

AddPenalizacion

📋 COPY-PASTE 96% SOAP

Crea una nueva penalizacion

⚠ Similar operation AddPenalizacion exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 96%  ·  Same code found in 1 other service(s): NET-WS-Telemedicina
Suggested library: cysnet.cun.formacion.common

📥 Input Parameters

stringdni
stringfechaIni
stringfechaFin

📤 Return Type

RespPenalizacion
dual CA1700

🗄 SQL Queries (2)

SELECT CA17NUMREG_SEQUENCE.NEXTVAL FROM dual
dual
INSERT INTO CA1700 (CA17NUMREG, CA17DNI, CA17FECINI, CA17FECFIN)
CA1700
Table CA1700 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

1. Obtener el NumReg de penalizacion que toca insertar:
2. Insertar la penalizacion:
Obtener los datos de la penalización recién creada
📝 Suggested XML doc comment
/// <summary>
/// Crea una nueva penalizacion
/// </summary>
/// <param name="dni">TODO: describe dni</param>
/// <param name="fechaIni">TODO: describe fechaIni</param>
/// <param name="fechaFin">TODO: describe fechaFin</param>
/// <returns>RespPenalizacion</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_AddPenalizacion_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var dni = "test_value";
            var fechaIni = "test_value";
            var fechaFin = "test_value";

            // Act
            var result = client.AddPenalizacion(dni, fechaIni, fechaFin);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_AddPenalizacion_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var dni = null;
            var fechaIni = null;
            var fechaFin = null;

            // Act
            var result = client.AddPenalizacion(dni, fechaIni, fechaFin);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

UpdatePenalizacion

📋 COPY-PASTE 85% SOAP

Actualiza una penalizacion existente

⚠ Similar operation UpdatePenalizacion exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intnumReg
stringdni
stringfechaIni
stringfechaFin

📤 Return Type

RespPenalizacion
CA1700

🗄 SQL Queries (1)

UPDATE CA1700 SET
CA1700
Table CA1700 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

Obtener los datos de la penalización recién creada
📝 Suggested XML doc comment
/// <summary>
/// Actualiza una penalizacion existente
/// </summary>
/// <param name="numReg">TODO: describe numReg</param>
/// <param name="dni">TODO: describe dni</param>
/// <param name="fechaIni">TODO: describe fechaIni</param>
/// <param name="fechaFin">TODO: describe fechaFin</param>
/// <returns>RespPenalizacion</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_UpdatePenalizacion_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var numReg = 1;
            var dni = "test_value";
            var fechaIni = "test_value";
            var fechaFin = "test_value";

            // Act
            var result = client.UpdatePenalizacion(numReg, dni, fechaIni, fechaFin);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_UpdatePenalizacion_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var numReg = -1;
            var dni = null;
            var fechaIni = null;
            var fechaFin = null;

            // Act
            var result = client.UpdatePenalizacion(numReg, dni, fechaIni, fechaFin);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

DeletePenalizacion

📋 COPY-PASTE 85% SOAP

Eliminar una penalización existente

⚠ Similar operation DeletePenalizacion exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intnumReg

📤 Return Type

RespVoid
CA1700

🗄 SQL Queries (1)

DELETE FROM CA1700 WHERE CA17NUMREG = :numReg
CA1700
Table CA1700 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Eliminar una penalización existente
/// </summary>
/// <param name="numReg">TODO: describe numReg</param>
/// <returns>RespVoid</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_DeletePenalizacion_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var numReg = 1;

            // Act
            var result = client.DeletePenalizacion(numReg);

            // Assert
            Assert.IsNotNull(result);
        }

        [TestMethod]
        public void Test_DeletePenalizacion_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var numReg = -1;

            // Act
            var result = client.DeletePenalizacion(numReg);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

CheckPenalizacionExiste

📋 COPY-PASTE 85% SOAP

Comprueba si una penalización existe a partir del dni y fechaIni

⚠ Similar operation CheckPenalizacionExiste exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

stringdni
stringfechaIni

📤 Return Type

RespBool
CA1700

🗄 SQL Queries (1)

SELECT CA17NUMREG FROM CA1700 WHERE CA17DNI = :dni AND CA17FECINI = TO_DATE(:fechaIni, 'YYYY-MM-DD')
CA1700
Table CA1700 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Comprueba si una penalización existe a partir del dni y fechaIni
/// </summary>
/// <param name="dni">TODO: describe dni</param>
/// <param name="fechaIni">TODO: describe fechaIni</param>
/// <returns>RespBool</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_CheckPenalizacionExiste_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var dni = "test_value";
            var fechaIni = "test_value";

            // Act
            var result = client.CheckPenalizacionExiste(dni, fechaIni);

            // Assert
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_CheckPenalizacionExiste_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var dni = null;
            var fechaIni = null;

            // Act
            var result = client.CheckPenalizacionExiste(dni, fechaIni);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

CheckUsuarioPenalizado

📋 COPY-PASTE 85% SOAP

Comprueba si un usuario tiene una penalización activa para la fecha de la edición.

⚠ Similar operation CheckUsuarioPenalizado exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

stringdni
intcodCurso
intnumEdicion

📤 Return Type

RespBool
CA1700

🗄 SQL Queries (1)

SELECT CA17NUMREG FROM CA1700, CA1100 WHERE
CA1700
Table CA1700 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Comprueba si un usuario tiene una penalización activa para la fecha de la edición.
/// </summary>
/// <param name="dni">TODO: describe dni</param>
/// <param name="codCurso">TODO: describe codCurso</param>
/// <param name="numEdicion">TODO: describe numEdicion</param>
/// <returns>RespBool</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_CheckUsuarioPenalizado_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();
            var dni = "test_value";
            var codCurso = 1;
            var numEdicion = 1;

            // Act
            var result = client.CheckUsuarioPenalizado(dni, codCurso, numEdicion);

            // Assert
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_CheckUsuarioPenalizado_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();
            var dni = null;
            var codCurso = -1;
            var numEdicion = -1;

            // Act
            var result = client.CheckUsuarioPenalizado(dni, codCurso, numEdicion);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetSedesList

📋 COPY-PASTE 85% SOAP

Obtiene todas las sedes

⚠ Similar operation GetSedesList exists in: NET-WS-Telemedicina
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FuncionesGenerales NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

📤 Return Type

RespListSede
AD7400

🗄 SQL Queries (1)

SELECT AD74CODCENTRO, AD74DESLOCALID FROM AD7400
AD7400

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Obtiene todas las sedes
/// </summary>
/// <returns>RespListSede</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetSedesList_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFormacion();


            // Act
            var result = client.GetSedesList();

            // Assert
            Assert.IsNotNull(result.Resultado);
        }

        [TestMethod]
        public void Test_GetSedesList_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFormacion();


            // Act
            var result = client.GetSedesList();

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

⚙ Internal Functions (24)

Helper methods inside the service implementation — not part of the public contract.

Private / Protected (24)

privateCursoGetCursoByCod(OracleConnection con, int codCurso)
privateEdicionGetEdicionByCod(OracleConnection con, int codCurso, int numEdicion)
privateInscripcionGetInscripcionByCod(OracleConnection con, int numInscripcion)
privatevoidGestionarPlazasByCod 📋 COPY-PASTE 99%(OracleConnection con, int codCurso, int numEdicion, string campo, string tipo)
privatePenalizacionGetPenalizacionByNumReg(OracleConnection con, int numReg)
privateSesionGetSesionByNumSesion(OracleConnection con, int numSesion)
privateSesionGetSesionByEdicionAndHorario(OracleConnection con, int NumEdicion, string Fecha, string Horario)
privateSesionGetPrimeraSesion(OracleConnection con, int numEdicion)
privateAsistenciaGetAsistencia(OracleConnection con, int numAsistencia)
privateCursoV3MapCursoV3(OracleDataReader dr)
privateEdicionV3MapEdicionV3(OracleConnection con, OracleDataReader dr)
privateSesionMapSesion(OracleConnection con, OracleDataReader dr)
privateAsistenciaMapAsistencia(OracleConnection con, OracleDataReader dr)
privateInscripcionV2MapInscripcionV2(OracleDataReader dr)
privateCursoV2GetCursoByCodV2(OracleConnection con, int codCurso)
privateEdicionV2GetEdicionByCodV2(OracleConnection con, int codCurso, int numEdicion)
privateInscripcionV2GetInscripcionByCodV2(OracleConnection con, int numInscripcion)
privateBooleanComprobarUsuarioInscrito(OracleConnection con, int codCurso, int numEdicion, string dni, bool incluirFechaLimite)
privatestringCalcularAsistencia(OracleConnection con, int numInscripcion)
privateCursoV4GetCursoByCodV4(OracleConnection con, int codCurso, string codUsuario = "")
privateEdicionV3GetEdicionByCodV4(OracleConnection con, int codCurso, int numEdicion)
privateCursoV4MapCursoV4(OracleDataReader dr)
privateExisteFavFecReturnExisteFavorito(OracleCommand cmd, string codUsuario, int codCurso)
privatestringGetCodUsuario(OracleCommand cmd, string username)

🗄 All SQL Queries (78)

FileQueryTables
Formacion.svc.cs
SELECT CA25CODORGANIZADOR, CA25NOMBRE, CA25EMAIL
Formacion.svc.cs
SELECT CA10CODCURSO FROM CA1000 WHERE CA25CODORGANIZADOR = 1
CA1000
Formacion.svc.cs
AND CA10CODCURSO IN (SELECT CA10CODCURSO FROM CA1100 WHERE
CA1100
Formacion.svc.cs
SELECT CA10CODCURSO FROM CA1000
CA1000
Formacion.svc.cs
SELECT CA11NUMEDICION FROM CA1100
CA1100
Formacion.svc.cs
SELECT CA11NUMEDICION FROM CA1100 WHERE CA10CODCURSO = :codCurso
CA1100
Formacion.svc.cs
SELECT CA10CODCURSO_SEQUENCE.NEXTVAL FROM dual
dual
Formacion.svc.cs
INSERT INTO CA1000 (CA10CODCURSO, CA10NOMCURSO, CA10DESCURSO, CA10DIRIGIDOA, CA10RUTAPROG, CA10RUTACURSOWEB)
CA1000
Formacion.svc.cs
UPDATE CA1000 SET
CA1000
Formacion.svc.cs
UPDATE CA1000 SET CA10FECHABAJA = SYSDATE WHERE CA10CODCURSO = :codCurso
CA1000
Formacion.svc.cs
DELETE FROM CA1000 WHERE CA10CODCURSO = :codCurso
CA1000
Formacion.svc.cs
UPDATE CA1100 SET CA11FECHABAJA = SYSDATE WHERE CA10CODCURSO = :codCurso
CA1100
Formacion.svc.cs
SELECT CA10CODCURSO FROM CA1000 WHERE CA10CODCURSO = :codCurso
CA1000
Formacion.svc.cs
SELECT CA10CODCURSO FROM CA1000 WHERE CA10CODCURSO != :codCurso AND CA25CODORGANIZADOR = 1 AND CA10NOMCURSO = :nomCurso AND CA10FECHABAJA IS NULL
CA1000
Formacion.svc.cs
SELECT CA10CODCURSO FROM CA1000 WHERE CA10NOMCURSO = :nomCurso AND CA25CODORGANIZADOR = 1 AND CA10FECHABAJA IS NULL
CA1000
Formacion.svc.cs
SELECT COUNT(*) AS total FROM CA1100 WHERE CA10CODCURSO = :codCurso
CA1100
Formacion.svc.cs
SELECT CA1000.CA10CODCURSO, CA10NOMCURSO, CA10DESCURSO, CA10DIRIGIDOA, CA10RUTAPROG, CA10RUTACURSOWEB, CA25CODORGANIZADOR,
Formacion.svc.cs
SELECT CA10CODCURSO FROM CA1000 WHERE (CA10NOMCURSO = :nomCurso OR CA10ABREVIATURA = :abreviatura) AND CA25CODORGANIZADOR = :codOrganizador AND CA10FECHABAJA IS NULL
CA1000
Formacion.svc.cs
AND exists (select 1 from CA2900 where CA2900.CA10CODCURSO = CA1000.CA10CODCURSO AND CA2900.sg02cod = :codUsuario
CA2900
Formacion.svc.cs
INSERT INTO CA2900 (CA2900.CA10CODCURSO, sg02cod)
CA2900
Formacion.svc.cs
UPDATE CA2900 SET CA2900.CA29FECFIN = NULL WHERE CA2900.CA10CODCURSO = :codCurso AND CA2900.sg02cod = :username
CA2900
Formacion.svc.cs
UPDATE CA2900 SET CA29FECFIN = SYSDATE WHERE CA10CODCURSO = :codCurso AND sg02cod = :username
CA2900
Formacion.svc.cs
SELECT CA10CODCURSO, CA11NUMEDICION FROM CA1100
CA1100
Formacion.svc.cs
SELECT CA11NUMEDICION_SEQUENCE.NEXTVAL FROM dual
dual
Formacion.svc.cs
INSERT INTO CA1100 (CA11NUMEDICION, CA10CODCURSO, CA11AULA, CA11FECHAINI, CA11FECHAFIN, CA11FECHALIMITE, CA11FECHAFINVIS, CA11HORARIO, CA11PLAZAS, CA11PLAZASDIS, CA11PLAZASRES, CA11PLAZASRESDIS, CA11DURACION, CA11INDCANCELADA)
CA1100
Formacion.svc.cs
UPDATE CA1100 SET
CA1100
Formacion.svc.cs
DELETE FROM CA1100 WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion
CA1100
Formacion.svc.cs
UPDATE CA1100 SET CA11INDCANCELADA = -1 WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion
CA1100
Formacion.svc.cs
SELECT COUNT(*) AS total FROM CA1200 WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion AND CA12ESTADO != 2
CA1200
Formacion.svc.cs
SELECT 1 AS total
Formacion.svc.cs
SELECT CA12NUMREG FROM CA1200 WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion
CA1200
Formacion.svc.cs
SELECT CA11PLAZASDIS, CA11PLAZASRESDIS FROM CA1100 WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion
CA1100
Formacion.svc.cs
UPDATE CA1200 SET CA12ESTADO = :estado WHERE CA12NUMREG = :numReg
CA1200
Formacion.svc.cs
SELECT CA12NUMREG_SEQUENCE.NEXTVAL FROM dual
dual
Formacion.svc.cs
INSERT INTO CA1200 (CA12NUMREG, CA10CODCURSO, CA11NUMEDICION, CA12DNI, CA12NOMBRE, CA12PRIAPEL, CA12SEGAPEL, CA12CATEGORIA, CA12DPTO, CA12PLANTA, CA12EXT, CA12EMAIL, CA12OBSERV, CA12CODIGO, AD74CODCENTRO, CA12ESTADO, CA12INDASISTE, CA12FECHAINS)
CA1200
Formacion.svc.cs
UPDATE CA1200 SET CA12NOMBRE = :nombre, CA12PRIAPEL = :primerApellido, CA12SEGAPEL = :segundoApellido, CA12CATEGORIA = :categoria, CA12DPTO = :departamento,
CA1200
Formacion.svc.cs
SELECT CA12NUMREG, CA12ESTADO FROM CA1200 WHERE CA10CODCURSO = :codCuso AND CA11NUMEDICION = :numEdicion AND CA12DNI = :dni
CA1200
Formacion.svc.cs
UPDATE CA1200 SET CA12ESTADO = :estado
CA1200
Formacion.svc.cs
UPDATE CA1200 SET CA12ESTADO = :estado WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion AND CA12DNI = :dni
CA1200
Formacion.svc.cs
UPDATE CA1200 SET CA12ESTADO = 2 WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion
CA1200
Formacion.svc.cs
UPDATE CA1100 SET CA11PLAZASDIS = CA11PLAZAS, CA11PLAZASRESDIS = CA11PLAZASRES WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion
CA1100
Formacion.svc.cs
SELECT 1 FROM CA1100
CA1100
Formacion.svc.cs
UPDATE CA1200 SET CA12ESTADO = 4 WHERE CA12NUMREG = :numReg
CA1200
Formacion.svc.cs
WHERE CA25CODORGANIZADOR = 1 AND CA10CODCURSO IN (SELECT CA10CODCURSO FROM CA1100 WHERE
CA1100
Formacion.svc.cs
SELECT CA12NUMREG
Formacion.svc.cs
SELECT CA1200.CA10CODCURSO, CA1200.CA11NUMEDICION, CA1200.CA12NUMREG, CA12ESTADO, CA12FECHAINS, CA12OBSERV, CA12CODIGO, CA12INDASISTE, CA12DNI, CA12NOMBRE, CA12PRIAPEL, CA12SEGAPEL,
Formacion.svc.cs
UPDATE CA1200 SET CA12DNI = :dni, CA12NOMBRE = :nombre, CA12PRIAPEL = :primerApellido, CA12SEGAPEL = :segundoApellido, CA12CATEGORIA = :categoria, CA12DPTO = :departamento,
CA1200
Formacion.svc.cs
SELECT CA12ESTADO FROM CA1200 WHERE CA10CODCURSO = :codCuso AND CA11NUMEDICION = :numEdicion AND CA12NUMREG = :numInscripcion
CA1200
Formacion.svc.cs
SELECT CA12ESTADO FROM CA1200 WHERE CA10CODCURSO = :codCurso AND CA11NUMEDICION = :numEdicion AND CA12NUMREG = :numInscripcion
CA1200
Formacion.svc.cs
UPDATE CA1200 SET CA12INDASISTE = -1, CA12FECHAASISTE = SYSDATE WHERE CA12NUMREG = :numInscripcion
CA1200
Formacion.svc.cs
UPDATE CA1200 SET CA12INDCERTIFICADO = -1, CA12RUTACERT = :rutaCert WHERE CA12NUMREG = :numInscripcion
CA1200
Formacion.svc.cs
SELECT CA27NUMSESION_SEQUENCE.NEXTVAL FROM dual
dual
Formacion.svc.cs
INSERT INTO CA2700 (CA27NUMSESION, CA11NUMEDICION, CA27FECHA, CA27HORARIO, CA27RUTACARPETA) VALUES (:NumSesion, :NumEdicion, TO_DATE(:Fecha, 'YYYY-MM-DD'), :Horario, :RutaBase)
CA2700
Formacion.svc.cs
UPDATE CA2700 SET
CA2700
Formacion.svc.cs
UPDATE CA2700 SET CA27INDCANCELADA = -1 where CA27NUMSESION = :NumSesion and CA11NUMEDICION = :numEdicion
CA2700
Formacion.svc.cs
UPDATE CA2700 SET CA27FECHABAJA = SYSDATE where CA27NUMSESION = :NumSesion and CA11NUMEDICION = :numEdicion
CA2700
Formacion.svc.cs
SELECT CA27NUMSESION FROM CA2700
CA2700
Formacion.svc.cs
SELECT a.CA28NUMASISTENCIA, i.CA12NUMREG, s.CA27NUMSESION, a.CA28INDASISTE, a.CA28FECHAASISTE, a.CA28RUTAFIRMA
Formacion.svc.cs
SELECT CA28NUMASISTENCIA FROM CA2800 WHERE CA12NUMREG = :numInscripcion AND CA27NUMSESION = :numSesion
CA2800
Formacion.svc.cs
SELECT CA28NUMASISTENCIA_SEQUENCE.NEXTVAL FROM dual
dual
Formacion.svc.cs
INSERT INTO CA2800 (CA28NUMASISTENCIA, CA27NUMSESION, CA12NUMREG ,CA28RUTAFIRMA ,CA28INDASISTE, CA28FECHAASISTE)
CA2800
Formacion.svc.cs
SELECT CA17NUMREG FROM CA1700
CA1700
Formacion.svc.cs
SELECT CA17NUMREG_SEQUENCE.NEXTVAL FROM dual
dual
Formacion.svc.cs
INSERT INTO CA1700 (CA17NUMREG, CA17DNI, CA17FECINI, CA17FECFIN)
CA1700
Formacion.svc.cs
UPDATE CA1700 SET
CA1700
Formacion.svc.cs
DELETE FROM CA1700 WHERE CA17NUMREG = :numReg
CA1700
Formacion.svc.cs
SELECT CA17NUMREG FROM CA1700 WHERE CA17DNI = :dni AND CA17FECINI = TO_DATE(:fechaIni, 'YYYY-MM-DD')
CA1700
Formacion.svc.cs
SELECT CA17NUMREG FROM CA1700, CA1100 WHERE
CA1700
Formacion.svc.cs
SELECT AD74CODCENTRO, AD74DESLOCALID FROM AD7400
AD7400
Formacion.svc.cs
SELECT CA10CODCURSO, CA10NOMCURSO, CA10DESCURSO, CA10DIRIGIDOA, CA10RUTAPROG, CA10RUTACURSOWEB FROM CA1000 WHERE CA10CODCURSO = :codCurso
CA1000
Formacion.svc.cs
SELECT CA10CODCURSO, CA11NUMEDICION, CA11AULA, CA11FECHAINI, CA11FECHAFIN, CA11FECHALIMITE, CA11FECHAFINVIS, CA11HORARIO, CA11PLAZAS, CA11PLAZASDIS, CA11PLAZASRES,
Formacion.svc.cs
SELECT CA10CODCURSO, CA11NUMEDICION, CA12NUMREG, CA12ESTADO, CA12FECHAINS, CA12OBSERV, CA12CODIGO, CA12INDASISTE, CA12DNI, CA12NOMBRE, CA12PRIAPEL, CA12SEGAPEL,
Formacion.svc.cs
SELECT CA17NUMREG, CA17DNI, CA17FECINI, CA17FECFIN FROM CA1700 WHERE CA17NUMREG = :numReg
CA1700
Formacion.svc.cs
SELECT CA28NUMASISTENCIA, CA28INDASISTE, CA28FECHAASISTE, CA28RUTAFIRMA, CA12NUMREG, CA27NUMSESION FROM CA2800 WHERE CA28NUMASISTENCIA =:numAsistencia
CA2800
Formacion.svc.cs
SELECT 1 FROM CA1200
CA1200
Formacion.svc.cs
SELECT COUNT(DISTINCT(CA2700.CA27NUMSESION)) AS NumTotalSesiones , COUNT(DISTINCT(CA2800.CA27NUMSESION)) AS NumSesionesAsistidas FROM CA1200
CA1200
Formacion.svc.cs
SELECT ca10codcurso,  CA29FECFIN  FROM ca2900 WHERE ca10codcurso = :codCurso AND sg02cod = :codUsuario
ca2900
Formacion.svc.cs
SELECT sg02cod FROM sg0200 WHERE sg02codwindows = :codUsuario AND NVL2(sg02fecdes, sg02fecdes, SYSDATE + 1) > SYSDATE
sg0200

🧪 Tests

No formal unit tests found. Test project uses console-based manual invocation of each operation. See Suggested Test Stubs in each endpoint card above.