internal static List <DateTime> generarDiasQueTrabajaRango(Profesional prof, int id_especialidad, Rango_Atencion r) { List <DateTime> dias = Rango_Atencion.generarDiasRango(r); List <DayOfWeek> diasQueTrabaja = prof.diasQueTrabajaNormalmente(id_especialidad, r); dias.RemoveAll(dia => !diasQueTrabaja.Contains(dia.DayOfWeek)); return(dias); }
internal static bool SeSolapan(Int64 matricula, Rango_Atencion rango) { List <DateTime> diasRangosActuales = new List <DateTime>(); Rango_Atencion.rangosPorProfesional(matricula).ForEach(r => diasRangosActuales.AddRange(Rango_Atencion.generarDiasRango(r))); List <DateTime> diasRangoNuevo = Rango_Atencion.generarDiasRango(rango); return(diasRangoNuevo.Any(dia => diasRangosActuales.Select(d => d.Date).Contains(dia.Date))); }
public static Int64 rangoPorDia(Int64 matricula, int id_especialidad, DateTime dia) { List <Rango_Atencion> rangos = Rango_Atencion.rangosPorProfesional(matricula); return(rangos.Find(rango => Rango_Atencion.generarDiasRango(rango).Contains(dia)).id_rango); }