示例#1
0
        /// <summary>
        /// Obtém a listagem de questão resposta. Caso não tenha, cria os objetos agora. Caso possua parcialmente, obtém somente os preenchidos e cria o resto.
        /// </summary>
        /// <returns></returns>
        private IList <classes.QuestaoResposta> ObterQuestoesResposta(classes.MatriculaTurma matricula,
                                                                      classes.Avaliacao avaliacao)
        {
            var retorno = new List <classes.QuestaoResposta>();

            for (var i = 0; i < QuantidadeQuestoes; i++)
            {
                var questao = Questoes[i];

                classes.QuestaoResposta resposta;

                // Obtém ou cria uma nova resposta utilizando mágica.
                if (avaliacao != null)
                {
                    resposta = avaliacao.Respostas.FirstOrDefault(x => x.MatriculaTurma.ID == matricula.ID && x.Questao.ID == questao.ID) ??
                               new classes.QuestaoResposta
                    {
                        Questao        = questao,
                        MatriculaTurma = matricula
                    };
                }
                else
                {
                    resposta = new classes.QuestaoResposta
                    {
                        Questao        = questao,
                        MatriculaTurma = matricula
                    };
                }

                retorno.Add(resposta);
            }

            return(retorno);
        }
        private void ExibirModalDataConclusao(classes.MatriculaTurma matriculaTurma, enumStatusMatricula statusMatriculaOferta)
        {
            ExibirBackDrop();
            pnlModalDataConclusao.Visible = true;

            txtModalDataConclusao.Text = matriculaTurma.DataTermino.HasValue ? matriculaTurma.DataTermino.Value.ToString("dd/MM/yyyy") : "";
            hdfModalDataConclusaoIdMatriculaTurma.Value        = matriculaTurma.ID.ToString();
            hdfModalDataConclusaoIdStatusMatriculaOferta.Value = ((int)statusMatriculaOferta).ToString();
        }
        private void ExibirModalConfirmacaoStatusInscrito(classes.MatriculaTurma matriculaTurma)
        {
            ExibirBackDrop();

            pnlModalConfirmacaoStatusInscrito.Visible = true;

            hdfModalConfirmacaoStatusInscritoIdMatriculaOferta.Value = matriculaTurma.MatriculaOferta.ID.ToString();
            hdfModalConfirmacaoStatusInscritoIdMatriculaTurma.Value  = matriculaTurma.ID.ToString();
        }
        private void PreencherCamposDoCadastroDeMatriculaTurma(classes.MatriculaTurma matriculaTurma)
        {
            var usuario = matriculaTurma.MatriculaOferta.Usuario;

            txtNomeModalMatriculaTurma.Text  = usuario.Nome;
            txtUfModalMatriculaTurma.Text    = usuario.UF.Nome;
            txtCpfModalMatriculaTurma.Text   = usuario.CPF;
            txtEmailModalMatriculaTurma.Text = usuario.Email;
            ucMatriculaTurma1.PreencherCamposDaMatriculaTurma(matriculaTurma);
        }
        private void TratarComboTurma(GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.Header)
            {
                e.Row.TableSection = TableRowSection.TableHeader;
            }

            //Procura o dropdownlist de turma nas linhas da grid
            var ddlTurma = (DropDownList)e.Row.FindControl("ddlTurma");

            //Se encontrou o dropdownlist de turma, seta o status da matricula turma com o status da oferta
            if (ddlTurma != null)
            {
                var matriculaOferta = (classes.MatriculaOferta)e.Row.DataItem;

                if (matriculaOferta != null)
                {
                    // Preencher dropdown de turmas de acordo com a seleção do usuário.
                    PreencherDropDownTurma(ddlTurma, matriculaOferta);

                    classes.MatriculaTurma matriculaTurma = null;

                    if (matriculaOferta.MatriculaTurma == null && matriculaOferta.Oferta != null &&
                        matriculaOferta.Oferta.ListaTurma.Count > 0)
                    {
                        var lista  = new List <classes.MatriculaTurma>();
                        var mTurma =
                            new ManterMatriculaTurma().ObterMatriculaTurmaPorIdUsuarioIdTurma(
                                matriculaOferta.Usuario.ID, matriculaOferta.Oferta.ListaTurma.FirstOrDefault().ID);

                        if (mTurma != null)
                        {
                            lista.Add(mTurma);
                        }

                        matriculaOferta.MatriculaTurma = lista;
                    }

                    if (matriculaOferta.MatriculaTurma != null && matriculaOferta.MatriculaTurma.Count > 0)
                    {
                        matriculaTurma = matriculaOferta.MatriculaTurma.FirstOrDefault();
                    }

                    if (matriculaTurma != null)
                    {
                        WebFormHelper.SetarValorNaCombo(matriculaTurma.Turma.ID.ToString(), ddlTurma);
                    }
                }
            }
        }
        public classes.MatriculaTurma ObterObjetoMatriculaTurma(DropDownList comboTurma, classes.MatriculaOferta matriculaOferta)
        {
            classes.MatriculaTurma matriculaTurma = null;
            if (matriculaOferta.MatriculaTurma != null && matriculaOferta.MatriculaTurma.Count > 0)
            {
                matriculaTurma = matriculaOferta.MatriculaTurma.FirstOrDefault();
            }

            //Se o usuário não estiver matriculado em nenhuma turma, preenche o objeto matricula turma com os dados da oferta.
            if (matriculaTurma == null)
            {
                int IdTurma = 0;
                int.TryParse(comboTurma.SelectedItem.Value, out IdTurma);

                matriculaTurma = new classes.MatriculaTurma
                {
                    MatriculaOferta = matriculaOferta,
                    Turma           = IdTurma > 0 ? new ManterTurma().ObterTurmaPorID(IdTurma) : null,
                    DataMatricula   = DateTime.Now
                };

                matriculaTurma.DataLimite = matriculaTurma.CalcularDataLimite();
            }
            else
            {
                //Troca a turma, pois o usuário informou uma nova turma
                int idTurmaEscolhidaNaCombo;

                if (int.TryParse(comboTurma.SelectedItem.Value, out idTurmaEscolhidaNaCombo) && !matriculaTurma.ID.Equals(idTurmaEscolhidaNaCombo))
                {
                    matriculaTurma.TurmaAnterior = matriculaTurma.Turma;

                    /* Troca a Turma do usuário (ou seja, matricula o aluno em uma nova turma),
                     * pois ele escolheu uma nova turma na combo.*/

                    matriculaTurma.Turma = new ManterTurma().ObterTurmaPorID(idTurmaEscolhidaNaCombo);
                }
            }

            return(matriculaTurma);
        }
 private void CarregarDadosDaMatriculaTurmaDeUmAluno(classes.MatriculaTurma matriculaTurma)
 {
     PreencherCamposDoCadastroDeMatriculaTurma(matriculaTurma);
 }
        protected void dgvMatriculaOferta_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.Header)
            {
                e.Row.TableSection = TableRowSection.TableHeader;
            }

            if (e.Row.RowType.Equals(DataControlRowType.DataRow))
            {
                TratarComboTurma(e);

                var ddlStatusOferta = (DropDownList)e.Row.FindControl("ddlStatusOferta");
                var matriculaOferta = (classes.MatriculaOferta)e.Row.DataItem;
                var statusOferta    = (Label)e.Row.FindControl("statusOferta");

                TratarComboStatusOferta(ddlStatusOferta, matriculaOferta, statusOferta);

                //Se ID da Matricula Oferta > 0, a matricula ja foi realizada
                if (matriculaOferta != null && matriculaOferta.ID > 0)
                {
                    var hdfIdMatriculaOferta = (HiddenField)e.Row.FindControl("hdfIdMatriculaOferta");

                    if (hdfIdMatriculaOferta != null)
                    {
                        hdfIdMatriculaOferta.Value = matriculaOferta.ID.ToString();
                    }

                    var lkbEditarMatriculaTurma         = (LinkButton)e.Row.FindControl("lkbEditarMatriculaTurma");
                    var lkbEnviarMatricula              = (LinkButton)e.Row.FindControl("lkbEnviarMatricula");
                    var lkbEnviarMatriculaEmailPendente =
                        (LinkButton)e.Row.FindControl("lkbEnviarMatriculaEmailPendente");
                    var ddlTurma = (DropDownList)e.Row.FindControl("ddlTurma");

                    //Exibe o botão editar, caso o usuário esteja matriculado em alguma turma
                    if (matriculaOferta.MatriculaTurma.Any())
                    {
                        ddlTurma.Enabled = !matriculaOferta.StatusMatricula.Equals(enumStatusMatricula.CanceladoAdm);

                        if (lkbEditarMatriculaTurma != null)
                        {
                            classes.MatriculaTurma matriculaTurma = null;

                            var permissaoEditarGestor = matriculaOferta.Oferta.AlteraPeloGestorUC;

                            if (matriculaOferta.MatriculaTurma != null && matriculaOferta.MatriculaTurma.Count > 0)
                            {
                                matriculaTurma = matriculaOferta.MatriculaTurma.FirstOrDefault();
                            }

                            if (InModoDeAvaliacao)
                            {
                                if (matriculaTurma != null)
                                {
                                    var avaliacao = matriculaTurma.Turma.Avaliacoes.FirstOrDefault();

                                    if (avaliacao != null)
                                    {
                                        if (avaliacao.Status == enumStatusAvaliacao.AguardandoResposta)
                                        {
                                            lkbEditarMatriculaTurma.Visible         = true;
                                            lkbEditarMatriculaTurma.CommandName     = "avaliarTurma";
                                            lkbEditarMatriculaTurma.CommandArgument = matriculaTurma.ID.ToString();
                                        }
                                        else
                                        {
                                            lkbEditarMatriculaTurma.Visible         = true;
                                            lkbEditarMatriculaTurma.CommandName     = "exibirDetalhes";
                                            lkbEditarMatriculaTurma.CommandArgument = matriculaTurma.ID.ToString();
                                        }
                                    }
                                    else
                                    {
                                        lkbEditarMatriculaTurma.Visible         = true;
                                        lkbEditarMatriculaTurma.CommandName     = "exibirDetalhes";
                                        lkbEditarMatriculaTurma.CommandArgument = matriculaTurma.ID.ToString();
                                    }
                                }
                            }
                            else
                            {
                                if (matriculaTurma != null &&
                                    (permissaoEditarGestor == true || _manterUsuario.PerfilAdministrador()))
                                {
                                    lkbEditarMatriculaTurma.CommandArgument = matriculaTurma.ID.ToString();
                                    lkbEditarMatriculaTurma.Visible         = true;
                                }
                                else
                                {
                                    lkbEditarMatriculaTurma.Visible = false;
                                }
                            }
                        }
                        if (lkbEnviarMatricula != null)
                        {
                            lkbEnviarMatricula.Visible = false;

                            if (matriculaOferta.Oferta.SolucaoEducacional.Fornecedor.ID == (int)enumFornecedor.WebAula ||
                                matriculaOferta.Oferta.SolucaoEducacional.Fornecedor.ID ==
                                (int)enumFornecedor.MoodleSebrae ||
                                matriculaOferta.Oferta.SolucaoEducacional.Fornecedor.ID == (int)enumFornecedor.FGVOCW)
                            {
                                if (!matriculaOferta.FornecedorNotificado &&
                                    matriculaOferta.StatusMatricula == enumStatusMatricula.Inscrito &&
                                    matriculaOferta.MatriculaTurma != null && matriculaOferta.MatriculaTurma.Count > 0)
                                {
                                    lkbEnviarMatricula.Visible         = true;
                                    lkbEnviarMatricula.CommandArgument = matriculaOferta.ID.ToString();
                                }
                            }
                        }

                        var lbEmitirCertificado = (LinkButton)e.Row.FindControl("lbEmitirCertificado");

                        lbEmitirCertificado.Visible = false;

                        if (matriculaOferta.IsAprovado() && matriculaOferta.Oferta.CertificadoTemplate != null)
                        {
                            lbEmitirCertificado.CommandArgument = matriculaOferta.ID.ToString();
                            lbEmitirCertificado.Visible         = true;
                        }
                    }
                }
            }
        }