protected void btnInserir_Click(object sender, EventArgs e)
        {
            TurmasDiarioBL turDiarioBL = new TurmasDiarioBL();
            TurmasDiario turDiario = new TurmasDiario();
            turDiario.Id = utils.ComparaIntComZero(hfIdTurDiario.Value);
            turDiario.Data = Convert.ToDateTime(txtSelData.Text);
            turDiario.Obs = txtObs.Text;
            turDiario.TurmaId = utils.ComparaIntComZero(ddlTurmas.SelectedValue);

            if (turDiario.Id > 0)
            {
                turDiarioBL.EditarBL(turDiario);
            }
            else
            {
                turDiarioBL.InserirBL(turDiario);
            }

            ChamadasBL chaBL = new ChamadasBL();
            Chamadas chamadas = new Chamadas();

            foreach (RepeaterItem item in repPermissao.Items)
            {
                chamadas.Id = utils.ComparaIntComZero(((TextBox)item.FindControl("txtId")).Text);
                chamadas.TurmaParticipanteId = utils.ComparaIntComZero(((TextBox)item.FindControl("txtTurmaParticipanteId")).Text);
                chamadas.Presenca = ((CheckBox)item.FindControl("chkPresenca")).Checked;
                chamadas.Data = Convert.ToDateTime(((Label)item.FindControl("lblData")).Text);

                if (chamadas.Id > 0)
                {

                    if (chaBL.EditarBL(chamadas))
                        ExibirMensagem("Registros salvos com sucesso!");
                    else
                        ExibirMensagem("Não foi possível atualizar os registros. Revise as informações!");

                }
                else
                {

                    if (chaBL.InserirBL(chamadas))
                        ExibirMensagem("Registros salvos com sucesso!");
                    else
                        ExibirMensagem("Não foi possível atualizar os registros. Revise as informações!");

                }
            }

            Pesquisar(utils.ComparaIntComZero(ddlTurmas.SelectedValue), utils.ComparaIntComZero(ddlEvento.SelectedValue));
        }
        protected void btnRelatorio_Click(object sender, EventArgs e)
        {
            ChamadasBL chamadasBL = new ChamadasBL();

            int preenchido = 0;
            if (rbSemPreenchimento.Checked)
                preenchido = 0;
            else if (rbComPreenchimento.Checked)
                preenchido = 1;
            TurmasBL turBl = new TurmasBL();
            List<Turmas> lTurmas = turBl.PesquisarBL("ID",ddlTurma.SelectedValue.ToString());

            Session["ldsRel"] = chamadasBL.PesquisarDataSet(ddlMes.SelectedValue, ddlAno.SelectedValue, Convert.ToInt16(ddlTurma.SelectedValue), ddlParticipante.SelectedValue, preenchido, lTurmas[0].DiaSemana).Tables[0];
            if (((DataTable)Session["ldsRel"]).Rows.Count != 0)
            {                                                                                                                                                                                                                                                                                                                                                                                                                                           //l//c
                ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), "WinOpen('/Relatorios/RelFrequencia.aspx?mes=" + ddlMes.SelectedItem.Text + "','',600,1005);", true);
            }
            else
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), "alert('Sua pesquisa não retornou dados.');", true);
            }
        }
        private void Pesquisar(int id_tur, int id_eve)
        {
            DateTime dataSelecionada = Convert.ToDateTime(txtSelData.Text);
            if (Convert.ToDateTime(txtSelData.Text) > DateTime.Now)
                ExibirMensagem("Não é permitido registrar frequências futuras !");
            else
            {
                DataTable tabela = new DataTable();

                DataColumn coluna1 = new DataColumn("TURMAPARTICIPANTEID", Type.GetType("System.Int32"));
                DataColumn coluna2 = new DataColumn("CODPARTICIPANTE", Type.GetType("System.Int32"));
                DataColumn coluna3 = new DataColumn("DESCPARTICIPANTE", Type.GetType("System.String"));
                DataColumn coluna4 = new DataColumn("PRESENCA", Type.GetType("System.Boolean"));
                DataColumn coluna5 = new DataColumn("DATA", Type.GetType("System.String"));
                DataColumn coluna6 = new DataColumn("ID", Type.GetType("System.Int32"));

                tabela.Columns.Add(coluna1);
                tabela.Columns.Add(coluna2);
                tabela.Columns.Add(coluna3);
                tabela.Columns.Add(coluna4);
                tabela.Columns.Add(coluna5);
                tabela.Columns.Add(coluna6);

                TurmasBL turBL = new TurmasBL();
                TurmasParticipantesBL tParBL = new TurmasParticipantesBL();
                ChamadasBL chaBL = new ChamadasBL();
                List<Turmas> turmas = turBL.PesquisarBL(id_tur, id_eve);

                if (turmas.Count != 0)
                {
                    if (turmas[0].DiaSemana.IndexOf(char.Parse(Convert.ToString((int)dataSelecionada.DayOfWeek + 1))) == -1)
                    {
                        ExibirMensagem("Dia da semana selecionado não cadastrado para essa turma.");
                    }
                }

                foreach (Turmas ltTur in turmas)
                {
                    List<TurmasParticipantes> tPar = tParBL.PesquisarBL(ltTur.Id);

                    foreach (TurmasParticipantes ltTpar in tPar)
                    {
                        DataRow linha = tabela.NewRow();

                        linha["TURMAPARTICIPANTEID"] = ltTpar.Id;
                        linha["CODPARTICIPANTE"] = ltTpar.Pessoa.Codigo;
                        linha["DESCPARTICIPANTE"] = ltTpar.Pessoa.Nome;

                        List<Chamadas> cha = chaBL.PesquisarBL(ltTpar.Id, Convert.ToDateTime(txtSelData.Text));

                        if (cha.Count > 0)
                        {
                            foreach (Chamadas ltCha in cha)
                            {
                                linha["ID"] = ltCha.Id;
                                linha["PRESENCA"] = ltCha.Presenca;
                                linha["DATA"] = ltCha.Data.ToString("dd/MM/yyyy");
                            }
                        }
                        else
                        {
                            linha["ID"] = 0;
                            linha["PRESENCA"] = false;
                            linha["DATA"] = txtSelData.Text;
                        }

                        tabela.Rows.Add(linha);
                    }
                }

                repPermissao.DataSource = tabela;
                repPermissao.DataBind();

                TurmasDiarioBL turDiarioBl = new TurmasDiarioBL();
                DataSet dsTurPar = turDiarioBl.PesquisarBL(utils.ComparaIntComZero(ddlTurmas.SelectedValue), Convert.ToDateTime(txtSelData.Text));

                if (dsTurPar.Tables[0].Rows.Count != 0)
                {
                    hfIdTurDiario.Value = dsTurPar.Tables[0].Rows[0]["id"].ToString();
                    txtObs.Text = dsTurPar.Tables[0].Rows[0]["obs"].ToString();
                }
                else
                {
                    hfIdTurDiario.Value = "";
                    txtObs.Text = "";
                }
            }
        }
 private void CarregarDdlAno()
 {
     ChamadasBL chaBL = new ChamadasBL();
     DataSet dsChamada = chaBL.PesquisarAnosChamada();
     ddlAno.DataValueField = "ano";
     ddlAno.DataTextField = "ano";
     ddlAno.DataSource = dsChamada;
     ddlAno.DataBind();
     ddlAno.SelectedIndex = 0;
 }