private static bool PossuiQuestionarioPendente(Usuario usuario, ref DTODisponibilidadeSolucaoEducacional retorno)
        {
            var turmasPendentes = new ManterTurma().ObterTurmasPendentes(usuario);

            if (turmasPendentes.Any())
            {
                Turma primeiraTurma = turmasPendentes.FirstOrDefault();

                //Valida se a data da matricula está no ano vigente, caso contrário, não apresenta questionário de abandono.
                //Verify if the registration date is in current year, otherwise, don't show the abandon quiz.
                if (!(primeiraTurma.DataFinal.Value.Year < DateTime.Now.Year))
                {
                    if ((primeiraTurma = turmasPendentes.FirstOrDefault()) != null)
                    {
                        retorno.CodigoDisponibilidade =
                            (int)enumDisponibilidadeSolucaoEducacional.PendenciaAbandono;

                        retorno.IdTurma = primeiraTurma.ID;

                        // Montar mensagem da pendência, com os plurais caso seja mais de uma turma.
                        retorno.TextoDisponibilidade =
                            string.Format(
                                "Você abandonou a{0} turma{0} no{0} curso{0} \"{1}\", e precisa responder o{0} questionário{0} de abandono para poder se inscrever em qualquer curso.",
                                turmasPendentes.Count() > 1 ? "s" : "",
                                string.Join(", ", turmasPendentes.Select(x => x.Oferta.SolucaoEducacional.Nome)));

                        return(true);
                    }
                }
            }

            return(false);
        }
Esempio n. 2
0
        private void BuscarTurmasJson(int ofertaId)
        {
            var turmasSelecionadas = ObterTurmasSelecionadas(false).Select(x => x.ID).ToList();

            // Buscar turmas da oferta e remover turmas selecionadas da busca.
            var turmas =
                new ManterTurma().ObterTurmasPorOferta(ofertaId, false)
                .Where(x => !turmasSelecionadas.Contains(x.ID));

            if (turmas.Any())
            {
                ViewState["_Turma"] =
                    Helpers.Util.ObterListaAutocomplete(turmas);
            }
            else
            {
                // Caso nao tenha mais turmas, limpar as ofertas e carregar novamente.
                txtOferta.Text = "";

                LimparSeOfertaTurma();

                BuscarOfertasJson(int.Parse(txtSolucao.Text));
            }
        }