/* Métodos operacionais de seleção dos botões, atribuição, cadastro e afins
         * bem como métodos complementares operacionais para o controle das atividades
         * da tela
         * */

        #region BOTÕES DE OPERAÇÃO PARA CADASTRO, ALTERAÇÃO, EXCLUSÃO E CONFIRMAR TRANSAÇÕES

        private void btnExcluir_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Tem certeza que deseja excluir a turma ?", "Colégio Conhecer - Excluir Atividade - Turma", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) == DialogResult.OK)
            {
                if (linhaSelecionadaGrid != -1)
                {
                    atividadeTurmaControlador.Excluir(listaAtividadeTurma[linhaSelecionadaGrid]);
                    atividadeTurmaControlador.Confirmar();
                    carregaDataGrid1();
                    linhaSelecionadaGrid = -1;
                }
                else
                {
                    MessageBox.Show("Selecione uma opção na tabela abaixo para exclusão, então pressione excluir.", "Colégio Conhecer - Excluir Atividade - Turma");
                }
            }
        }
        private void ucMenuInferior1_EventoCadastrar()
        {
            if (verificaEstadoTela == (int)OperacoesDaTela.Alterar)
            {
                #region ALTERAR ATIVIDADE

                //Controladores e objetos para operação da alteração
                atividadeControlador      = AtividadeProcesso.Instance;
                atividadeTurmaControlador = AtividadeTurmaProcesso.Instance;
                funcionarioControlador    = FuncionarioProcesso.Instance;

                atividade      = new Atividade();
                funcionario    = new Funcionario();
                atividadeTurma = new AtividadeTurma();

                try
                {
                    #region VALIDA - FUNCIONARIO

                    if (String.IsNullOrEmpty(cmbFuncionario.Text))
                    {
                        errorProviderTela.SetError(cmbFuncionario, "Informe o funcionário da atividade");
                        return;
                    }
                    atividadeTurma.FuncionarioID = ((Funcionario)cmbFuncionario.SelectedItem).ID;


                    #endregion

                    #region VALIDA - ATIVIDADE

                    if (String.IsNullOrEmpty(cmbAtividadeTurma.Text))
                    {
                        errorProviderTela.SetError(cmbAtividadeTurma, "Informe a atividade a ser configurada");
                        return;
                    }
                    atividadeTurma.AtividadeID = ((Atividade)cmbAtividadeTurma.SelectedItem).ID;


                    #endregion

                    #region VALIDA - TURMA

                    if (String.IsNullOrEmpty(txtTurma.Text))
                    {
                        errorProviderTela.SetError(txtTurma, "Informe a turma");
                        txtTurma.Clear();
                        return;
                    }
                    atividadeTurma.Turma = txtTurma.Text;

                    #endregion

                    #region VALIDA - VALOR

                    if (String.IsNullOrEmpty(txtValor.Text))
                    {
                        errorProviderTela.SetError(txtValor, "Informe o valor");
                        txtValor.Clear();
                        return;
                    }
                    atividadeTurma.Valor = Convert.ToDouble(txtValor.Text);

                    #endregion

                    #region VALIDA - DIA DA SEMANA
                    if (ckbDomingo.Checked == false && ckbSegunda.Checked == false && ckbTerca.Checked == false &&
                        ckbQuarta.Checked == false && ckbQuinta.Checked == false && ckbSexta.Checked == false && ckbSabado.Checked == false)
                    {
                        errorProviderTela.SetError(ckbSabado, "Informe o dia da semana");
                        return;
                    }
                    if (ckbDomingo.Checked == true)
                    {
                        atividadeTurma.Domingo = 0;
                    }
                    if (ckbQuarta.Checked == true)
                    {
                        atividadeTurma.Quarta = 0;
                    }
                    if (ckbQuinta.Checked == true)
                    {
                        atividadeTurma.Quinta = 0;
                    }
                    if (ckbSabado.Checked == true)
                    {
                        atividadeTurma.Sabado = 0;
                    }
                    if (ckbSegunda.Checked == true)
                    {
                        atividadeTurma.Segunda = 0;
                    }
                    if (ckbSexta.Checked == true)
                    {
                        atividadeTurma.Sexta = 0;
                    }
                    if (ckbTerca.Checked == true)
                    {
                        atividadeTurma.Terca = 0;
                    }

                    #endregion

                    atividadeTurma.HoraInicio = dtpHorarioFim.ToString();
                    atividadeTurma.HoraFim    = dtpHorarioFim.ToString();

                    atividadeTurma.Status = (int)Status.Ativo;

                    if (!atividadeTurma.HoraInicio.Equals(atividadeTurma.HoraFim))
                    {
                        if (linhaSelecionadaGrid != -1)
                        {
                            atividadeTurmaControlador.Alterar(atividadeTurma);
                            atividadeTurmaControlador.Confirmar();
                            linhaSelecionadaGrid = -1;

                            MessageBox.Show(AtividadeTurmaConstantes.ATIVIDADETURMA_ALTERADA, "Colégio Conhecer");
                        }
                        else
                        {
                            MessageBox.Show("Selecione um registro para alterar, caso queira inserir use o botão +", "Colégio Conhecer");
                        }
                    }
                    else
                    {
                        MessageBox.Show("O horário de inicio e fim da atividade não podem ser iguais", "Colégio Conhecer");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                carregaDataGrid1();
                verificaEstadoTela = (int)OperacoesDaTela.AbrirTela;

                controladorPaisagemTela(verificaEstadoTela);

                #endregion
            }
            else if (verificaEstadoTela == (int)OperacoesDaTela.Incluir)
            {
                #region ADICIONAR ATIVIDADE

                //Controladores e objetos para operação da alteração
                atividadeControlador      = AtividadeProcesso.Instance;
                atividadeTurmaControlador = AtividadeTurmaProcesso.Instance;
                funcionarioControlador    = FuncionarioProcesso.Instance;

                atividade      = new Atividade();
                funcionario    = new Funcionario();
                atividadeTurma = new AtividadeTurma();

                try
                {
                    #region VALIDA - FUNCIONARIO

                    if (String.IsNullOrEmpty(cmbFuncionario.Text))
                    {
                        errorProviderTela.SetError(cmbFuncionario, "Informe o funcionário da atividade");
                        return;
                    }
                    atividadeTurma.FuncionarioID = ((Funcionario)cmbFuncionario.SelectedItem).ID;


                    #endregion

                    #region VALIDA - ATIVIDADE

                    if (String.IsNullOrEmpty(cmbAtividadeTurma.Text))
                    {
                        errorProviderTela.SetError(cmbAtividadeTurma, "Informe a atividade a ser configurada");
                        return;
                    }
                    atividadeTurma.AtividadeID = ((Atividade)cmbAtividadeTurma.SelectedItem).ID;


                    #endregion

                    #region VALIDA - TURMA

                    if (String.IsNullOrEmpty(txtTurma.Text))
                    {
                        errorProviderTela.SetError(txtTurma, "Informe a turma");
                        txtTurma.Clear();
                        return;
                    }
                    atividadeTurma.Turma = txtTurma.Text;

                    #endregion

                    #region VALIDA - VALOR

                    if (String.IsNullOrEmpty(txtValor.Text))
                    {
                        errorProviderTela.SetError(txtValor, "Informe o valor");
                        txtValor.Clear();
                        return;
                    }
                    atividadeTurma.Valor = Convert.ToDouble(txtValor.Text);

                    #endregion

                    #region VALIDA - DIA DA SEMANA
                    if (ckbDomingo.Checked == false && ckbSegunda.Checked == false && ckbTerca.Checked == false &&
                        ckbQuarta.Checked == false && ckbQuinta.Checked == false && ckbSexta.Checked == false && ckbSabado.Checked == false)
                    {
                        errorProviderTela.SetError(ckbSabado, "Informe o dia da semana");
                        return;
                    }
                    if (ckbDomingo.Checked == true)
                    {
                        atividadeTurma.Domingo = 0;
                    }
                    if (ckbQuarta.Checked == true)
                    {
                        atividadeTurma.Quarta = 0;
                    }
                    if (ckbQuinta.Checked == true)
                    {
                        atividadeTurma.Quinta = 0;
                    }
                    if (ckbSabado.Checked == true)
                    {
                        atividadeTurma.Sabado = 0;
                    }
                    if (ckbSegunda.Checked == true)
                    {
                        atividadeTurma.Segunda = 0;
                    }
                    if (ckbSexta.Checked == true)
                    {
                        atividadeTurma.Sexta = 0;
                    }
                    if (ckbTerca.Checked == true)
                    {
                        atividadeTurma.Terca = 0;
                    }

                    #endregion

                    atividadeTurma.HoraInicio = dtpHorarioInicio.Value.ToString();
                    atividadeTurma.HoraFim    = dtpHorarioFim.Value.ToString();

                    atividadeTurma.Status = (int)Status.Ativo;

                    if (!atividadeTurma.HoraInicio.Equals(atividadeTurma.HoraFim))
                    {
                        if (verificaSeJaExistenteBD(atividadeTurma) == false)
                        {
                            atividadeTurma.Status = (int)Status.Ativo;
                            atividadeTurmaControlador.Incluir(atividadeTurma);
                            atividadeTurmaControlador.Confirmar();
                            linhaSelecionadaGrid = -1;

                            MessageBox.Show(AtividadeTurmaConstantes.ATIVIDADETURMA_INCLUIDA, "Colégio Conhecer");
                        }
                        else
                        {
                            MessageBox.Show("A turma já existe na base de dados", "Colégio Conhecer");
                        }
                    }
                    else
                    {
                        MessageBox.Show("O horário de inicio e fim da atividade não podem ser iguais", "Colégio Conhecer");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                carregaDataGrid1();
                verificaEstadoTela = (int)OperacoesDaTela.AbrirTela;

                controladorPaisagemTela(verificaEstadoTela);

                #endregion
            }
        }
        private void ucMenuInferior1_EventoCadastrar()
        {
            if (verificaEstadoTela == (int)OperacoesDaTela.Alterar)
            {
                #region ALTERAR ATIVIDADE

                //Controladores e objetos para operação da alteração
                atividadeControlador = AtividadeProcesso.Instance;
                atividadeTurmaControlador = AtividadeTurmaProcesso.Instance;
                funcionarioControlador = FuncionarioProcesso.Instance;

                atividade = new Atividade();
                funcionario = new Funcionario();
                atividadeTurma = new AtividadeTurma();

                try
                {
                    #region VALIDA - FUNCIONARIO

                    if (String.IsNullOrEmpty(cmbFuncionario.Text))
                    {
                        errorProviderTela.SetError(cmbFuncionario, "Informe o funcionário da atividade");
                        return;
                    }
                    atividadeTurma.FuncionarioID = ((Funcionario)cmbFuncionario.SelectedItem).ID;


                    #endregion

                    #region VALIDA - ATIVIDADE

                    if (String.IsNullOrEmpty(cmbAtividadeTurma.Text))
                    {
                        errorProviderTela.SetError(cmbAtividadeTurma, "Informe a atividade a ser configurada");
                        return;
                    }
                    atividadeTurma.AtividadeID = ((Atividade)cmbAtividadeTurma.SelectedItem).ID;


                    #endregion

                    #region VALIDA - TURMA

                    if (String.IsNullOrEmpty(txtTurma.Text))
                    {
                        errorProviderTela.SetError(txtTurma, "Informe a turma");
                        txtTurma.Clear();
                        return;
                    }
                    atividadeTurma.Turma = txtTurma.Text;

                    #endregion

                    #region VALIDA - VALOR

                    if (String.IsNullOrEmpty(txtValor.Text))
                    {
                        errorProviderTela.SetError(txtValor, "Informe o valor");
                        txtValor.Clear();
                        return;
                    }
                    atividadeTurma.Valor = Convert.ToDouble(txtValor.Text);

                    #endregion

                    #region VALIDA - DIA DA SEMANA
                    if (ckbDomingo.Checked == false && ckbSegunda.Checked == false && ckbTerca.Checked == false &&
                        ckbQuarta.Checked == false && ckbQuinta.Checked == false && ckbSexta.Checked == false && ckbSabado.Checked == false)
                    {
                        errorProviderTela.SetError(ckbSabado, "Informe o dia da semana");
                        return;
                    }
                    if (ckbDomingo.Checked == true)
                        atividadeTurma.Domingo = 0;
                    if (ckbQuarta.Checked == true)
                        atividadeTurma.Quarta = 0;
                    if (ckbQuinta.Checked == true)
                        atividadeTurma.Quinta = 0;
                    if (ckbSabado.Checked == true)
                        atividadeTurma.Sabado = 0;
                    if (ckbSegunda.Checked == true)
                        atividadeTurma.Segunda = 0;
                    if (ckbSexta.Checked == true)
                        atividadeTurma.Sexta = 0;
                    if (ckbTerca.Checked == true)
                        atividadeTurma.Terca = 0;

                    #endregion

                    atividadeTurma.HoraInicio = dtpHorarioFim.ToString();
                    atividadeTurma.HoraFim = dtpHorarioFim.ToString();

                    atividadeTurma.Status = (int)Status.Ativo;

                    if (!atividadeTurma.HoraInicio.Equals(atividadeTurma.HoraFim))
                    {

                        if (linhaSelecionadaGrid != -1)
                        {
                            atividadeTurmaControlador.Alterar(atividadeTurma);
                            atividadeTurmaControlador.Confirmar();
                            linhaSelecionadaGrid = -1;

                            MessageBox.Show(AtividadeTurmaConstantes.ATIVIDADETURMA_ALTERADA, "Colégio Conhecer");
                        }
                        else
                        {
                            MessageBox.Show("Selecione um registro para alterar, caso queira inserir use o botão +", "Colégio Conhecer");
                        }
                    }
                    else
                    {
                        MessageBox.Show("O horário de inicio e fim da atividade não podem ser iguais", "Colégio Conhecer");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                carregaDataGrid1();
                verificaEstadoTela = (int)OperacoesDaTela.AbrirTela;

                controladorPaisagemTela(verificaEstadoTela);

                #endregion
            }
            else if (verificaEstadoTela == (int)OperacoesDaTela.Incluir)
            {
                #region ADICIONAR ATIVIDADE

                //Controladores e objetos para operação da alteração
                atividadeControlador = AtividadeProcesso.Instance;
                atividadeTurmaControlador = AtividadeTurmaProcesso.Instance;
                funcionarioControlador = FuncionarioProcesso.Instance;

                atividade = new Atividade();
                funcionario = new Funcionario();
                atividadeTurma = new AtividadeTurma();

                try
                {
                    #region VALIDA - FUNCIONARIO

                    if (String.IsNullOrEmpty(cmbFuncionario.Text))
                    {
                        errorProviderTela.SetError(cmbFuncionario, "Informe o funcionário da atividade");
                        return;
                    }
                    atividadeTurma.FuncionarioID = ((Funcionario)cmbFuncionario.SelectedItem).ID;


                    #endregion

                    #region VALIDA - ATIVIDADE

                    if (String.IsNullOrEmpty(cmbAtividadeTurma.Text))
                    {
                        errorProviderTela.SetError(cmbAtividadeTurma, "Informe a atividade a ser configurada");
                        return;
                    }
                    atividadeTurma.AtividadeID = ((Atividade)cmbAtividadeTurma.SelectedItem).ID;


                    #endregion

                    #region VALIDA - TURMA

                    if (String.IsNullOrEmpty(txtTurma.Text))
                    {
                        errorProviderTela.SetError(txtTurma, "Informe a turma");
                        txtTurma.Clear();
                        return;
                    }
                    atividadeTurma.Turma = txtTurma.Text;

                    #endregion

                    #region VALIDA - VALOR

                    if (String.IsNullOrEmpty(txtValor.Text))
                    {
                        errorProviderTela.SetError(txtValor, "Informe o valor");
                        txtValor.Clear();
                        return;
                    }
                    atividadeTurma.Valor = Convert.ToDouble(txtValor.Text);

                    #endregion

                    #region VALIDA - DIA DA SEMANA
                    if (ckbDomingo.Checked == false && ckbSegunda.Checked == false && ckbTerca.Checked == false &&
                        ckbQuarta.Checked == false && ckbQuinta.Checked == false && ckbSexta.Checked == false && ckbSabado.Checked == false)
                    {
                        errorProviderTela.SetError(ckbSabado, "Informe o dia da semana");
                        return;
                    }
                    if (ckbDomingo.Checked == true)
                        atividadeTurma.Domingo = 0;
                    if (ckbQuarta.Checked == true)
                        atividadeTurma.Quarta = 0;
                    if (ckbQuinta.Checked == true)
                        atividadeTurma.Quinta = 0;
                    if (ckbSabado.Checked == true)
                        atividadeTurma.Sabado = 0;
                    if (ckbSegunda.Checked == true)
                        atividadeTurma.Segunda = 0;
                    if (ckbSexta.Checked == true)
                        atividadeTurma.Sexta = 0;
                    if (ckbTerca.Checked == true)
                        atividadeTurma.Terca = 0;

                    #endregion

                    atividadeTurma.HoraInicio = dtpHorarioInicio.Value.ToString();
                    atividadeTurma.HoraFim = dtpHorarioFim.Value.ToString();

                    atividadeTurma.Status = (int)Status.Ativo;

                    if (!atividadeTurma.HoraInicio.Equals(atividadeTurma.HoraFim))
                    {

                        if (verificaSeJaExistenteBD(atividadeTurma) == false)
                        {
                            atividadeTurma.Status = (int)Status.Ativo;
                            atividadeTurmaControlador.Incluir(atividadeTurma);
                            atividadeTurmaControlador.Confirmar();
                            linhaSelecionadaGrid = -1;

                            MessageBox.Show(AtividadeTurmaConstantes.ATIVIDADETURMA_INCLUIDA, "Colégio Conhecer");
                        }
                        else
                        {
                            MessageBox.Show("A turma já existe na base de dados", "Colégio Conhecer");
                        }
                    }
                    else
                    {
                        MessageBox.Show("O horário de inicio e fim da atividade não podem ser iguais", "Colégio Conhecer");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                carregaDataGrid1();
                verificaEstadoTela = (int)OperacoesDaTela.AbrirTela;

                controladorPaisagemTela(verificaEstadoTela);

                #endregion
            }
        }