コード例 #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);
        }
コード例 #2
0
        protected void btnSalvar_OnClick(object sender, EventArgs e)
        {
            var manterAvaliacao = new ManterAvaliacao();

            // Esse método já salva a avaliação.
            var avaliacao = ObterObjetoAvaliacao(manterAvaliacao);

            // Persistir a avaliação salva caso precise usar no envio.
            AvaliacaoSalva = avaliacao;
        }