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); }
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)); } }