Files
asistencia-desktop/Asistencia/Services/AsistenciaService.cs
T

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);
}
}