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> ObtenerCursosProfesorAsync(string profesorRun) => _cursoRepo.BuscarCursosPorProfesorAsync(profesorRun); public Task ObtenerCursoAsync(int idCursoAbierto) => _cursoRepo.BuscarCursoAbiertoPorIdAsync(idCursoAbierto); public Task> ObtenerAlumnosAsync(int idCursoAbierto) => _cursoRepo.BuscarAlumnosPorCursoAsync(idCursoAbierto); public Task BuscarSesionActivaAsync(int idCursoAbierto) => _asistenciaRepo.BuscarSesionActivaAsync(idCursoAbierto, DateTime.Today); public async Task IniciarSesionAsync(int idCursoAbierto, string rut) { var now = DateTime.Now; return await _asistenciaRepo.IniciarSesionAsync(idCursoAbierto, rut, now.Date, now.ToString("HH:mm")); } public async Task FinalizarSesionAsync(int idSesion) { return await _asistenciaRepo.FinalizarSesionAsync(idSesion, DateTime.Now.ToString("HH:mm")); } public Task> 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); } }