Exemple #1
0
        public static List <Agenda_Diaria> getAgendaProfesional(Int64 matricula, int id_especialidad, Int64 id_rango)
        {
            SqlCommand traerAgendas = new SqlCommand();

            traerAgendas.Connection  = DBConnector.ObtenerConexion();
            traerAgendas.CommandText = "SELECT matricula,dia,hora_desde,hora_hasta,id_especialidad,id_rango FROM ELIMINAR_CAR.Agenda_Diaria WHERE matricula=@matricula AND id_especialidad=@id_especialidad AND id_rango=@id_rango";
            traerAgendas.Parameters.Add("@matricula", SqlDbType.BigInt).Value    = matricula;
            traerAgendas.Parameters.Add("@id_especialidad", SqlDbType.Int).Value = id_especialidad;
            traerAgendas.Parameters.Add("@id_rango", SqlDbType.BigInt).Value     = id_rango;
            SqlDataReader        reader = traerAgendas.ExecuteReader();
            List <Agenda_Diaria> lista  = new List <Agenda_Diaria>();

            while (reader.Read())
            {
                Agenda_Diaria a = new Agenda_Diaria();
                a.matricula       = reader.GetInt64(0);
                a.dia             = (DayOfWeek)reader.GetInt32(1);
                a.hora_desde      = reader.GetTimeSpan(2);
                a.hora_hasta      = reader.GetTimeSpan(3);
                a.id_especialidad = reader.GetInt32(4);
                a.id_rango        = reader.GetInt64(5);
                lista.Add(a);
            }
            reader.Close();
            return(lista);
        }
Exemple #2
0
        public static Boolean seSuperponen(List <Agenda_Diaria> agendas, Agenda_Diaria nueva)
        {
            List <Agenda_Diaria> agendasDelDia = agendas.FindAll(a => a.dia == nueva.dia);
            List <TimeSpan>      horarios      = new List <TimeSpan>();

            agendasDelDia.ForEach(a => horarios.AddRange(a.generarHorarios()));
            return(nueva.generarHorarios().Any(horario => horarios.Contains(horario)));
        }
      public List <DayOfWeek> diasQueTrabajaNormalmente(int id_especialidad, Rango_Atencion rango) // Sin sacarle los dias cancelados
      {
          List <Agenda_Diaria> agenda = Agenda_Diaria.getAgendaProfesional(this.matricula, id_especialidad, rango.id_rango);

          return(agenda.Select(a => a.dia).ToList <DayOfWeek>());
      }