49 lines
1.8 KiB
C#
49 lines
1.8 KiB
C#
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);
|
|
}
|
|
}
|