feat: implement core domain models, authentication service, and UI components for the attendance system
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
using Asistencia.Data.Repositories;
|
||||
using Asistencia.Models;
|
||||
|
||||
namespace Asistencia.Services;
|
||||
|
||||
public class AsistenciaService
|
||||
{
|
||||
private readonly CursoRepository _cursoRepo;
|
||||
private readonly AsistenciaRepository _asistenciaRepo;
|
||||
|
||||
public AsistenciaService(CursoRepository cursoRepo, AsistenciaRepository asistenciaRepo)
|
||||
{
|
||||
_cursoRepo = cursoRepo;
|
||||
_asistenciaRepo = asistenciaRepo;
|
||||
}
|
||||
|
||||
public Task<List<CursoAbierto>> ObtenerCursosProfesorAsync(string profesorRun)
|
||||
=> _cursoRepo.BuscarCursosPorProfesorAsync(profesorRun);
|
||||
|
||||
public Task<CursoAbierto?> ObtenerCursoAsync(int idCursoAbierto)
|
||||
=> _cursoRepo.BuscarCursoAbiertoPorIdAsync(idCursoAbierto);
|
||||
|
||||
public Task<List<DetalleContrato>> ObtenerAlumnosAsync(int idCursoAbierto)
|
||||
=> _cursoRepo.BuscarAlumnosPorCursoAsync(idCursoAbierto);
|
||||
|
||||
public Task<AsistenciaProfesor?> BuscarSesionActivaAsync(int idCursoAbierto)
|
||||
=> _asistenciaRepo.BuscarSesionActivaAsync(idCursoAbierto, DateTime.Today);
|
||||
|
||||
public async Task<AsistenciaProfesor> IniciarSesionAsync(int idCursoAbierto, string rut)
|
||||
{
|
||||
var now = DateTime.Now;
|
||||
return await _asistenciaRepo.IniciarSesionAsync(idCursoAbierto, rut, now.Date, now.ToString("HH:mm"));
|
||||
}
|
||||
|
||||
public async Task<bool> FinalizarSesionAsync(int idSesion)
|
||||
{
|
||||
return await _asistenciaRepo.FinalizarSesionAsync(idSesion, DateTime.Now.ToString("HH:mm"));
|
||||
}
|
||||
|
||||
public Task<Dictionary<int, int>> ObtenerAsistenciaAlumnosAsync(int idCursoAbierto)
|
||||
=> _asistenciaRepo.ObtenerAsistenciaAlumnosAsync(idCursoAbierto, DateTime.Today);
|
||||
|
||||
public async Task GuardarAsistenciaAlumnoAsync(int idDetalleContrato, int tipoAsistencia)
|
||||
{
|
||||
await _asistenciaRepo.GuardarAsistenciaAlumnoAsync(
|
||||
idDetalleContrato, DateTime.Today, DateTime.Now.ToString("HH:mm"), tipoAsistencia);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user