public List <AcumuladorAsistencia> GetAsistenciasFromTabla(TablaDeDatos tablaAsistencias) { var repo_curso = new RepositorioDeCursos(this.conexion_bd); List <AcumuladorAsistencia> asistencias = new List <AcumuladorAsistencia>(); AcumuladorAsistencia asistencia; int horas_maximas = 0; DateTime fecha; string valor; int id; int id_curso; int id_alumno; tablaAsistencias.Rows.ForEach(row => { id = row.GetInt("Id"); fecha = row.GetDateTime("FechaAsistencia"); valor = row.GetString("Valor"); id_curso = row.GetSmallintAsInt("IdCurso"); id_alumno = row.GetSmallintAsInt("IdAlumno"); horas_maximas = repo_curso.GetCursoById(id_curso).GetHorariosDeCursada().Find(h => h.Dia.Equals(fecha.DayOfWeek)).HorasCatedra; if (valor.Equals("-")) { asistencia = new AsistenciaDiaNoCursado(id, valor, horas_maximas, fecha, id_alumno, id_curso); } else { asistencia = new AsistenciaDiaCursado(id, valor, horas_maximas, fecha, id_alumno, id_curso); } asistencias.Add(asistencia); }); return(asistencias); }
public void dados_dos_dias_cursados_de_tres_horas_y_un_alumno_que_no_estuvo_presente_ningun_dia_deberia_poder_saber_cuantas_horas_no_asistio() { var valor_propio = "0"; var horas_del_dia_cursado = 3; var obj_acumulador_primer_dia = new AsistenciaDiaCursado(valor_propio, horas_del_dia_cursado); var obj_acumulador_segundo_dia = new AsistenciaDiaCursado(valor_propio, horas_del_dia_cursado); Assert.AreEqual(6, obj_acumulador_segundo_dia.AcumularHorasNoAsistidas(obj_acumulador_primer_dia.HorasNoAsistidas())); }
public void dado_un_dia_cursado_de_tres_horas_y_un_alumno_que_estuvo_presente_una_hora_deberia_poder_saber_cuantas_horas_no_asistio() { var valor_propio = "1"; var horas_del_dia_cursado = 3; var obj_acumulador_una_hora = new AsistenciaDiaCursado(valor_propio, horas_del_dia_cursado); Assert.AreEqual(2, obj_acumulador_una_hora.HorasNoAsistidas()); }