private static void PreencherRetornoDadosCurso(Usuario usuario, Oferta oferta, enumDisponibilidadeSolucaoEducacional disponibilidade, ref DTODisponibilidadeSolucaoEducacional retorno) { retorno.TextoDisponibilidade = string.Empty; retorno.TextoInformacaoAdicional = oferta.InformacaoAdicional; if (disponibilidade == enumDisponibilidadeSolucaoEducacional.ConfirmarMatricula) { retorno.TextoDisponibilidade = "Você precisa confirmar a inscrição na Solução Educacional"; } if (disponibilidade == enumDisponibilidadeSolucaoEducacional.FilaEspera) { retorno.TextoDisponibilidade = "No momento não há vagas disponíveis para essa Solução Educacional. Você será inscrito na fila de espera."; } retorno.IdOferta = oferta.ID; retorno.IdTipoOferta = (int)oferta.TipoOferta; retorno.PermiteFilaEspera = oferta.FiladeEspera; retorno.Prazo = oferta.DiasPrazo.ToString(); retorno.CargaHoraria = oferta.CargaHoraria.ToString(); //retorno.DataInicioOferta = oferta.DataInicio; //retorno.DataFimOferta = oferta.DataFim; retorno.DataInicioInscricoes = retorno.IdTipoOferta == 2 && oferta.SolucaoEducacional != null && oferta.SolucaoEducacional.TeraOfertasContinuas ? oferta.SolucaoEducacional.Inicio : oferta.DataInicioInscricoes; retorno.DataFimInscricoes = retorno.IdTipoOferta == 2 && oferta.SolucaoEducacional != null && oferta.SolucaoEducacional.TeraOfertasContinuas ? oferta.SolucaoEducacional.Fim : oferta.DataFimInscricoes; retorno.InscricaoOnline = (oferta.InscricaoOnline ?? false); retorno.CodigoDisponibilidade = (int)disponibilidade; retorno.IdSolucaoEducacional = oferta.SolucaoEducacional != null ? oferta.SolucaoEducacional.ID : 0; // Caso a oferta possua turmas disponíveis, retorna a oferta com todas as turmas disponíveis para matrícula. if (oferta.IsAbertaParaInscricoes() && oferta.PossuiTurmasDisponiveis()) { DTOOferta dtoOferta = new DTOOferta(oferta); //Tranca as ofertas que precisam de pagamento. dtoOferta.RequerPagamento = VerificarTrancadoParaPagante(usuario, oferta); retorno.OfertasDisponiveis.Add(dtoOferta); } }
public static bool VerificarTrancadoParaPagante(Usuario usuario, Oferta oferta, enumDisponibilidadeSolucaoEducacional disponibilidade, ref DTODisponibilidadeSolucaoEducacional retorno) { if (disponibilidade == enumDisponibilidadeSolucaoEducacional.EfetuarMatricula) { if (oferta.ListaNiveisTrancados != null && oferta.ListaNiveisTrancados.Any(x => x.ID == usuario.NivelOcupacional.ID) && !VerificarTrancadoParaPagante(usuario)) { retorno.TextoDisponibilidade = "A oferta está trancada para pagamento, favor, efetuar o pagamento"; retorno.CodigoDisponibilidade = (int)enumDisponibilidadeSolucaoEducacional.EfetuarPagamento; return(true); } } return(false); }