Sesión #5

 Duración 3 horas 8pm-11pm

Se trabaja sobre la base de listar empleados del proyecto del semestre pasado, por lo que el frontend no hay que hacerlo desde 0, se crea el SP que lista los empleados y se reliazan correcciones en la capa de presentación para que este funcione de manera correcta

ALTER PROCEDURE [dbo].[ListarEmpleado]
    @OutResulTCode INT OUTPUT
AS
BEGIN
    SET NOCOUNT ON;
    BEGIN TRY
   
    SET @OutResulTCode=0;

SELECT E.[Id]  
       , E.[ValorDocumentoIdentidad]
       , E.[Nombre]
       , P.[Nombre] AS Puesto
       , E.[FechaContratacion]
       , E.[SaldoVacaciones]
       , E.[EsActivo]
FROM dbo.Empleado E
INNER JOIN dbo.Puesto P ON E.IdPuesto = P.Id
ORDER BY E.Nombre;

    END TRY
    BEGIN CATCH
        INSERT INTO dbo.DBErrors    VALUES (
            SUSER_SNAME(),
            ERROR_NUMBER(),
            ERROR_STATE(),
            ERROR_SEVERITY(),
            ERROR_LINE(),
            ERROR_PROCEDURE(),
            ERROR_MESSAGE(),
            GETDATE()
        );

        SET @OutResulTCode=50008;
    END CATCH;

    SET NOCOUNT Off;
END;

También se trabajo en el Login, creando el SP para validar credenciales

ALTER PROCEDURE ValidarCredenciales
    @username VARCHAR(64),
    @password VARCHAR(64),
    @PostInIP VARCHAR(64),
    @PostTime DATETIME,
    @OutResultCode INT OUTPUT
AS
BEGIN

    SET @OutResultCode=0;
    SET NOCOUNT ON;

    IF EXISTS (SELECT 1 FROM dbo.Usuario WHERE username = @username AND pass = @password)
    BEGIN
        SET @OutResultCode=0;
        BEGIN TRANSACTION;
        INSERT INTO dbo.bitacoraEvento(
        IdTipoEvento,
        IdUsuario,
        Fecha,
        Descripcion,
        PostInIP,
        PostTime
        ) VALUES (
        1,
        (SELECT Id FROM dbo.Usuario WHERE Username = @username),
        GETDATE(),
        'Login Exitoso',
        @PostInIP,
        @PostTime);
        COMMIT TRANSACTION;
    END
    ELSE
    BEGIN
        SET @OutResultCode=50002;
        BEGIN TRANSACTION;
        INSERT INTO dbo.bitacoraEvento(
        IdTipoEvento,
        IdUsuario,
        Fecha,
        Descripcion,
        PostInIP,
        PostTime
    ) VALUES (
        2,
        1,
        GETDATE(),
        'Login No Exitoso',
        @PostInIP,
        @PostTime
    );
    END
    COMMIT TRANSACTION;
    SET NOCOUNT OFF;
END
GO



Comentarios

Entradas populares de este blog

Sesión #9