static void setTurnoRepeticiones() { try { AgendaService servicio = new AgendaService(new UnitOfWork(new TurnosDB())); var turnos = servicio.GetTurnos(); int ct = turnos.Count(); turnos.ToList().ForEach(turno => { turno = servicio.GetTurno(turno.ID); for (int nro = 1; nro < 5; nro++) { var sesiones = turno.Sesions .Where(s => s.Numero == nro && EstadoSesionCondicion.Ocupado.Contains((EstadoSesion)s.Estado)) .OrderBy(s => s.ID).ToList(); int count = sesiones.Count(); //(sesiones[0].FechaHora).DayOfWeek //int repe = turno.Turno_Repeticiones.Where(tr => tr.DiaSemana == (int)(sesiones[0].FechaHora).DayOfWeek).Count(); if (sesiones.Count() > 0 && turno.Turno_Repeticiones.Where(tr => tr.DiaSemana == (int)(sesiones[0].FechaHora).DayOfWeek).Count() == 0) { var sesion = sesiones[0]; Turno_Repeticiones repeticion = new Turno_Repeticiones { ConsultorioID = sesion.ConsultorioID, DiaSemana = (int)sesion.FechaHora.DayOfWeek, Frecuencia = 7, Hora = sesion.FechaHora, Modulos = sesiones.Count(), TurnoID = sesion.TurnoID, Posicion = nro, FechaModificacion = sesion.FechaModificacion, UsuarioModificacion = sesion.UsuarioModificacion }; turno.Turno_Repeticiones.Add(repeticion); } } servicio.EditTurno(turno); }); } catch (Exception ex) { Console.Write(ex.InnerException); Console.ReadKey(); } }