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
Publicar un comentario