private void RegistroLlegada_Load(object sender, EventArgs e)
 {
     if (id_rol != 2 && id_rol != 4)
     {
         MessageBox.Show("Error: El usuario con el que ha ingresado no puede registrar llegadas a la clinica.", "Clinica-FRBA", MessageBoxButtons.OK, MessageBoxIcon.Error);
         this.Close();
     }
     else
     {
         SeleccionarProfesionalPorEspecialidad formulario = new SeleccionarProfesionalPorEspecialidad();
         formulario.ShowDialog();
         if (formulario.fueCerradoPorUsuario)
         {
             this.Close();
         }
         else
         {
             profesionalElegido = (Profesional)((DataGridView)formulario.Controls["dgv_profesional"]).CurrentRow.DataBoundItem;
             List <Turno> turnosProfesional;
             turnosProfesional = Turno.turnosDelDiaPorProfesional(profesionalElegido.matricula, ClinicaFrba.Utils.Fechas.getCurrentDateTime().Date);
             if (((Especialidad)((ComboBox)formulario.Controls["cb_especialidad"]).SelectedItem).id_especialidad != -1)                                                          //Se selecciono una especialidad
             {
                 turnosProfesional.RemoveAll(turno => turno.id_especialidad != ((Especialidad)((ComboBox)formulario.Controls["cb_especialidad"]).SelectedItem).id_especialidad); //Sacamos los turnos de otras especialidades
             }
             turnosProfesional.RemoveAll(turno => turno.activo == false);
             turnosProfesional.RemoveAll(turno => turno.momento_llegada != null);
             dgv_turno.DataSource = turnosProfesional;
         }
     }
 }
        private void PedirTurno_Load(object sender, EventArgs e)
        {
            if (id_rol == 1) //Es afilliado
            {
                Int64 id_afiliado = Afiliado.getIdAfiliadoPorUsuario(id_usuario);
                if (id_afiliado == -1) //No tiene id_afiliado
                {
                    MessageBox.Show("Error, el usuario con el que se ingresó tiene rol de Afiliado pero no tiene id_afiliado", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    this.cerrar = true;
                    this.Close();
                }
                afiliado = Afiliado.getAfiliadoPorID(id_afiliado);
            }
            else
            {
                MessageBox.Show("Error, el usuario con el que se ingresó no tiene rol de Afiliado, no deberia poder ver esta funcionalidad.", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.cerrar = true;
                this.Close();
            }
            if (cerrar == false)
            {
                SeleccionarProfesionalPorEspecialidad formularioProf = new SeleccionarProfesionalPorEspecialidad();
                formularioProf.ShowDialog();
                profesionalElegido  = (Profesional)((DataGridView)formularioProf.Controls["dgv_profesional"]).CurrentRow.DataBoundItem;
                especialidadElegida = (Especialidad)((ComboBox)formularioProf.Controls["cb_especialidad"]).SelectedItem;
                if (!formularioProf.fueCerradoPorUsuario)
                {
                    if (especialidadElegida.id_especialidad == -1) //Todavia no eligio especialidad
                    {
                        SeleccionarEspecialidad formularioEsp = new SeleccionarEspecialidad(Especialidad.especialidadesPorProfesional(profesionalElegido.matricula));
                        formularioEsp.ShowDialog();
                        if (formularioEsp.fueCerradoPorUsuario)
                        {
                            this.Close();                                    //El usuario se va
                        }
                        else
                        {
                            especialidadElegida = (Especialidad)((ComboBox)formularioEsp.Controls["cb_especialidad"]).SelectedItem;
                        }
                    }
                    label_nombre_profesional.Text = "Turnos disponibles con el Dr./Dra. " + profesionalElegido.apellido + ", " + profesionalElegido.nombre;
                    label_especialidad.Text       = "Especialidad: " + especialidadElegida.descripcion;
                    CalcularDiasRango();
                    actualizarAnios();
                    actualizarDias();
                    actualizarMeses();

                    horarios = new List <TimeSpan>();
                    if (cb_anio.SelectedItem != null && cb_mes.SelectedItem != null && cb_dia_mes.SelectedItem != null)
                    {
                        CalcularHorarios();
                    }
                }
                else
                {
                    this.Close();
                }
            }
        }