Overview
The application uses SQL Server stored procedures for all database operations. This approach provides better security, performance, and maintainability.User Stored Procedures
SP_Usuarios_List
Retrieves all users from the database. Parameters: None Returns:- IdUsuario (int)
- Nombre (nvarchar)
- Clave (nvarchar)
- Estado (bit)
SP_Usuarios_Insert
Inserts a new user into the database. Parameters:@NombreUsuario(nvarchar) - Username@Contrasena(nvarchar) - Password@Estado(bit) - Active status
SP_Usuarios_Update
Updates an existing user’s information. Parameters:@IdUsuario(int) - User ID@NombreUsuario(nvarchar) - Username@Contrasena(nvarchar) - Password@Estado(bit) - Active status
SP_Usuarios_Delete
Deletes a user from the database. Parameters:@IdUsuario(int) - User ID to delete
Client Stored Procedures
SP_Clientes_List
Retrieves all clients from the database. Parameters: None Returns:- IdCliente (int)
- Nombre (nvarchar)
- Telefono (nvarchar)
- Correo (nvarchar)
- Estado (bit)
SP_Clientes_Insert
Inserts a new client into the database. Parameters:@Nombre(nvarchar) - Client name@Telefono(nvarchar) - Phone number@Correo(nvarchar) - Email address
SP_Clientes_Update
Updates an existing client’s information. Parameters:@IdCliente(int) - Client ID@Nombre(nvarchar) - Client name@Telefono(nvarchar) - Phone number@Correo(nvarchar) - Email address@Estado(bit) - Active status
SP_Clientes_Delete
Deletes a client from the database. Parameters:@id(int) - Client ID to delete
Court Stored Procedures
SP_Canchas_List
Retrieves all sports courts from the database. Parameters: None Returns:- IdCancha (int)
- Nombre (nvarchar)
- Tipo (nvarchar)
- PrecioPorHora (decimal)
- Estado (nvarchar)
SP_Canchas_Insert
Inserts a new court into the database. Parameters:@Nombre(nvarchar) - Court name@Tipo(nvarchar) - Court type@PrecioPorHora(decimal) - Hourly price
SP_Canchas_Update
Updates an existing court’s information. Parameters:@IdCancha(int) - Court ID@Nombre(nvarchar) - Court name@Tipo(nvarchar) - Court type@PrecioPorHora(decimal) - Hourly price
SP_Canchas_Delete
Deletes a court from the database. Parameters:@Id(int) - Court ID to delete
Reservation Stored Procedures
SP_Reservas_List
Retrieves all reservations with joined data. Parameters: None Returns:- IdReserva (int)
- IdCancha (int)
- IdCliente (int)
- IdUsuario (int)
- FechaReserva (datetime)
- HoraInicio (time)
- HoraFin (time)
- Nombre (nvarchar) - Client name
- Comentario (nvarchar)
- Estado (bit)
- NombreCancha (nvarchar) - Court name
SP_Listar_Reservas_Nombre
Filters reservations by client name. Parameters:@Buscar(nvarchar) - Search term for client name
- IdReserva (int)
- IdCancha (int)
- IdCliente (int)
- IdUsuario (int)
- FechaReserva (datetime)
- HoraInicio (time)
- HoraFin (time)
- NombreCliente (nvarchar)
- Comentario (nvarchar)
- Estado (bit)
- NombreCancha (nvarchar)
SP_Reservas_Insert
Inserts a new reservation into the database. Parameters:@IdCancha(int) - Court ID@IdCliente(int) - Client ID@IdUsuario(int) - User ID who created the reservation@FechaReserva(datetime) - Reservation date@HoraInicio(time) - Start time@HoraFin(time) - End time@Comentario(nvarchar) - Additional notes
SP_Reservas_Update
Updates an existing reservation. Parameters:@IdReserva(int) - Reservation ID@IdCancha(int) - Court ID@IdCliente(int) - Client ID@IdUsuario(int) - User ID@FechaReserva(datetime) - Reservation date@HoraInicio(time) - Start time@HoraFin(time) - End timeNombreCliente(nvarchar) - Client name@Comentario(nvarchar) - Additional notes@Estado(bit) - Active status
SP_Reservas_Delete
Deletes a reservation from the database. Parameters:@Id(int) - Reservation ID to delete
Reservation Types Stored Procedures
SP_TiposReservas_List
Retrieves all reservation types. Parameters: None Returns:- IdReserva (int)
- IdCancha (int)
- IdCliente (int)
- IdUsuario (int)
- FechaReserva (datetime)
- HoraInicio (time)
- HoraFin (time)
- IdEstado (int)
- Comentario (nvarchar)
SP_TiposReservas_Insert
Inserts a new reservation type. Parameters:@IdCancha(int)@IdCliente(int)@IdUsuario(int)@FechaReserva(datetime)@HoraInicio(time)@HoraFin(time)@IdEstado(int)@Comentario(nvarchar)
SP_TiposReservas_Update
Updates an existing reservation type. Parameters:@IdReserva(int)@IdCancha(int)@IdCliente(int)@IdUsuario(int)@FechaReserva(datetime)@HoraInicio(time)@HoraFin(time)@IdEstado(int)@Comentario(nvarchar)
SP_TiposReservas_Delete
Deletes a reservation type. Parameters:@IdReserva(int) - Reservation type ID to delete
Best Practices
- Always use parameterized queries - The application consistently uses
SqlParameterorAddWithValueto prevent SQL injection - Use CommandType.StoredProcedure - Explicitly set the command type for clarity
- Close connections - The data access layer consistently closes connections after operations
- Use using statements - Ensures proper disposal of database resources
- Handle exceptions - Implement try-catch blocks in your business logic layer