public static int GenerarTurnos(Int64 idTerapeuta) { int resultado = 0; Terapeuta pepe = TerapeutaDAL.ObtenerTerapeuta(idTerapeuta); Jornada horariosdepepe = TerapeutaDAL.ObtenerJornadas(pepe.Id_Jornada); List <DayOfWeek> pDias = AgendaDAL.ObtenerListaDias(idTerapeuta); List <DiasNoLaborales> pDiasNoLaborales = AgendaDAL.ObtenerDiasNoLaboralesMes(idTerapeuta); DateTime FechadelTurno = new DateTime(); FechadelTurno = DateTime.Today; for (int j = 0; j < 30; j++) { TimeSpan HoraTurno = horariosdepepe.desde; if (pDias.Contains(FechadelTurno.DayOfWeek) && !ExisteDiaLaboral(idTerapeuta, FechadelTurno)) { for (int i = 0; i < (horariosdepepe.hasta - horariosdepepe.desde).Hours * 2; i++) { Turno pTurno = new Turno(idTerapeuta, FechadelTurno, HoraTurno); TurnosDAL.AgregarTurno(pTurno); HoraTurno = HoraTurno.Add(new TimeSpan(0, 30, 0)); } } FechadelTurno = FechadelTurno.AddDays(1); } MessageBox.Show("Dias Del Mes Generados, Ya puede ingresar Turnos", "Turnos", MessageBoxButtons.OK, MessageBoxIcon.Information); return (resultado); }
public static List <Turno> ObtenerTurnosDelMes(Int64 idTerapeuta, DayOfWeek d) { List <Turno> _listaTurnos = new List <Turno>(); SqlConnection conexion = BDComun.obtenerConexion(); DateTime fechaturno = DateTime.Today; for (int i = 0; i < 30; i++) { if (fechaturno.DayOfWeek == d && !AgendaDAL.ExisteNoLaboral(idTerapeuta, fechaturno)) { SqlCommand comando = new SqlCommand(string.Format( "select id_Turno,Fecha,hora,id_Estado,Motivo from Turno where id_Terapeuta={0} and Fecha = '{1}' and (id_Estado = 3 or id_Estado = 2)", idTerapeuta, fechaturno.ToShortDateString()), conexion); SqlDataReader _reader = comando.ExecuteReader(); while (_reader.Read()) { Turno pTurno = new Turno(); pTurno.Id = _reader.GetInt32(0); pTurno.Fecha_Tratamiento = _reader.GetDateTime(1); pTurno.Hora = _reader.GetTimeSpan(2); pTurno.id_Estado = _reader.GetInt32(3); pTurno.Motivo = _reader.GetString(4); pTurno.id_Terapeuta = idTerapeuta; _listaTurnos.Add(pTurno); } _reader.Close(); } fechaturno = fechaturno.AddDays(1); } return(_listaTurnos); }