private void btnAdicionar_Click(object sender, EventArgs e)
 {
     if (cboProfessor.SelectedValue == null || (int)cboProfessor.SelectedValue == 0)
     {
         Msg.Alert("Selecione o professor antes de continuar...");
         return;
     }
     using (FrmTurmaDia frmTurmaDia = new FrmTurmaDia(null))
     {
         frmTurmaDia.ShowDialog();
         if (frmTurmaDia.Tag != null && frmTurmaDia.Tag is TurmaDia)
         {
             List <TurmaDia> LstTd = new TurmaDia().ToListProfessor((int)cboProfessor.SelectedValue);
             TurmaDia        td    = (TurmaDia)frmTurmaDia.Tag;
             if (_LstDias.Where(x => x.Nu_DiaSemana == td.Nu_DiaSemana && x.Tm_Horario == td.Tm_Horario).Count() > 0 ||
                 LstTd.Where(x => x.Nu_DiaSemana == td.Nu_DiaSemana && x.Tm_Horario == td.Tm_Horario).Count() > 0)
             {
                 Msg.Alert("Professor já possui aula marcada para a data/hora selecionado");
                 return;
             }
             _LstDias.Add(td);
             GridRefresh();
         }
     }
 }
        private void dgvData_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex >= 0)
            {
                object Data = dgvData.Rows[e.RowIndex].DataBoundItem;
                if (Data != null && Data is TurmaDia)
                {
                    TurmaDia obj = (TurmaDia)Data;
                    switch (dgvData.Columns[e.ColumnIndex].Name)
                    {
                    case "clmEdit":
                        using (FrmTurmaDia frmTurmaDia = new FrmTurmaDia(new TurmaDia {
                            Id_TurmaDia = obj.Id_TurmaDia, Id_Turma = obj.Id_Turma, Nu_DiaSemana = obj.Nu_DiaSemana, Tm_Horario = obj.Tm_Horario
                        }))
                        {
                            frmTurmaDia.ShowDialog();
                            if (frmTurmaDia.Tag != null && frmTurmaDia.Tag is TurmaDia)
                            {
                                List <TurmaDia> LstTd = new TurmaDia().ToListProfessor((int)cboProfessor.SelectedValue);
                                TurmaDia        td    = (TurmaDia)frmTurmaDia.Tag;
                                if (_LstDias.Where(x => x.Nu_DiaSemana == td.Nu_DiaSemana && x.Tm_Horario == td.Tm_Horario && x.Id_TurmaDia != td.Id_TurmaDia).Count() > 0 ||
                                    LstTd.Where(x => x.Nu_DiaSemana == td.Nu_DiaSemana && x.Tm_Horario == td.Tm_Horario && x.Id_TurmaDia != td.Id_TurmaDia).Count() > 0)
                                {
                                    Msg.Alert("Professor já possui aula marcada para a data/hora selecionado");
                                    return;
                                }
                                obj.Nu_DiaSemana = td.Nu_DiaSemana;
                                obj.Tm_Horario   = td.Tm_Horario;
                                GridRefresh();
                            }
                        };
                        break;

                    case "clmDelete":
                        if (obj.Id_TurmaDia == 0 || Msg.Question("Deseja realmente excluir o registro??",
                                                                 "Excluir Registro"))
                        {
                            _LstDias.Remove(obj);
                            _LstDiasRetirados.Add(obj);
                            GridRefresh();
                        }
                        break;
                    }
                }
            }
        }