private void MontarPainelSeAprovacao(int idItemTrilha) { LimparObjetosItemTrilha(); _ItemTrilha = new BMItemTrilha().ObterPorID(idItemTrilha); if (_ItemTrilha == null) { return; } lblTipoItemTrilha.Text = _ItemTrilha.FormaAquisicao.Nome; lblTituloItemTrilha.Text = _ItemTrilha.Nome; lblOjetivoItemTrilha.Text = _ItemTrilha.Objetivo.NomeExibicao; lblLinkAcessoItemTrilha.Text = _ItemTrilha.LinkConteudo; lblLinkAcessoItemTrilha.NavigateUrl = _ItemTrilha.LinkConteudo; lblReferenciaBibliograficaItemTrilha.Text = _ItemTrilha.ReferenciaBibliografica; lblLocalItemTrilha.Text = _ItemTrilha.Local; txtObservacaoItemTrilha.Text = _ItemTrilha.Observacao; divCargaHoraria.Visible = false; if (_ItemTrilha.CargaHoraria > 0) { divCargaHoraria.Visible = true; txtCargHoraria.Text = _ItemTrilha.CargaHoraria.ToString(); } }
public ManterTrilhaNivel() { _bmTrilhaNivel = new BMTrilhaNivel(); _bmPontoSebrae = new BMPontoSebrae(); _bmMissao = new BMMissao(); _bmItemTrilha = new BMItemTrilha(); }
public IList <DTORelatorioHistoricoAtividadeTopicoTematicoCount> ConsultarHistoricoAtividadeTopicoTematico(IList <DTOAlunoDaTrilha> listaDTOAlunoDaTrilha) { IList <DTORelatorioHistoricoAtividadeTopicoTematicoCount> listaDTORelatorioHistoricoAtividadeTopicoTematicoCount = new List <DTORelatorioHistoricoAtividadeTopicoTematicoCount>(); DTORelatorioHistoricoAtividadeTopicoTematicoCount dtoRelatorioHistoricoAtividadeTopicoTematicoCount = null; using (BMItemTrilha itemBM = new BMItemTrilha()) { using (BMUsuarioTrilha utBM = new BMUsuarioTrilha()) { foreach (DTOAlunoDaTrilha dtoAlunoDaTrilha in listaDTOAlunoDaTrilha) { dtoRelatorioHistoricoAtividadeTopicoTematicoCount = new DTORelatorioHistoricoAtividadeTopicoTematicoCount() { IDTopicoTematico = dtoAlunoDaTrilha.IdTopicoTematico, TopicoTomatico = dtoAlunoDaTrilha.TopicoTematico, TemParticipacaoNaSolucao = dtoAlunoDaTrilha.TemParticipacaoNaSolucao, TemParticipacaoNoTopico = dtoAlunoDaTrilha.TemParticipacaoNoTopico, IsAutoIndicativa = dtoAlunoDaTrilha.IsAutoIndicativa, Objetivo = dtoAlunoDaTrilha.Objetivo }; listaDTORelatorioHistoricoAtividadeTopicoTematicoCount.Add(dtoRelatorioHistoricoAtividadeTopicoTematicoCount); } listaDTORelatorioHistoricoAtividadeTopicoTematicoCount.Distinct().ToList(); } } return(listaDTORelatorioHistoricoAtividadeTopicoTematicoCount); }
public bool UsuarioAprovadoObjetivo(UsuarioTrilha usuarioTrilha, int idObjetivo) { var lista = new BMItemTrilha().ObterItemTrilhasPorNivelTrilhaObjetivo(idObjetivo, usuarioTrilha.TrilhaNivel.ID); // Se tiver soluções obrigatórias verifica se o usuário foi aprovado em todas as soluções obrigatórias if (lista.Any(x => x.SolucaoEducacional.ID != 0 && x.SolucaoObrigatoria == true)) { return(lista.Any(x => x.SolucaoEducacional.ID != 0 && x.SolucaoObrigatoria == true && x.ListaItemTrilhaParticipacao.All(y => y.UsuarioTrilha.ID == usuarioTrilha.ID && y.TipoParticipacao == enumTipoParticipacaoTrilha.ParticipacaoTrilheiro && y.Autorizado == true))); } // Do contrário verifica se o usuário realizou alguma solução desse objetivo e foi aprovado else { return(lista.Any(x => x.ListaItemTrilhaParticipacao.Any(y => y.UsuarioTrilha.ID == usuarioTrilha.ID && y.TipoParticipacao == enumTipoParticipacaoTrilha.ParticipacaoTrilheiro && y.Autorizado == true))); } }
private void AtualizaCargaHoraria(int idItemTrilha) { _ItemTrilha = new BMItemTrilha().ObterPorID(idItemTrilha); if (!string.IsNullOrWhiteSpace(txtCargHoraria.Text) && _ItemTrilha.CargaHoraria >= 0 && txtCargHoraria.Text != _ItemTrilha.CargaHoraria.ToString()) { int cargaHoraria; if (int.TryParse(txtCargHoraria.Text, out cargaHoraria)) { _ItemTrilha.CargaHoraria = int.Parse(txtCargHoraria.Text); new ManterItemTrilha().AlterarItemTrilha(_ItemTrilha); var manterNotificacao = new ManterNotificacao(); var nivel = _ItemTrilha.Missao.PontoSebrae.TrilhaNivel; var link = string.Format("/trilhas/trilha/{0}/nivel/{1}", nivel.Trilha.ID, nivel.ID); var textoPublicacao = "Carga horária não aprovada."; var usuarioLogado = new BMUsuario().ObterUsuarioLogado(); var notificacaoEnvio = new Sebrae.Academico.Dominio.Classes.NotificacaoEnvio { Texto = textoPublicacao, Link = link }; new ManterNotificacaoEnvio().AlterarNotificacaoEnvio(notificacaoEnvio); manterNotificacao.PublicarNotificacao(link, textoPublicacao, usuarioLogado.ID, notificacaoEnvio); } else { throw new AcademicoException("Carga horária informada é inválida."); } } }
public IList <ItemTrilha> ObterItemsTrilha(ViewTrilha viewTrilha) { var query = repositorio.session.Query <ViewUsuarioItemTrilhaParticipacao>(); //query = query.Fetch(x => x.ItemTrilha); if (viewTrilha.TrilhaOrigem != null) { query = query.Where(x => x.TrilhaOrigem.ID == viewTrilha.TrilhaOrigem.ID); } if (viewTrilha.TrilhaNivelOrigem != null) { query = query.Where(x => x.TrilhaNivelOrigem.ID == viewTrilha.TrilhaNivelOrigem.ID); } if (viewTrilha.TopicoTematico != null) { query = query.Where(x => x.TopicoTematico.ID == viewTrilha.TopicoTematico.ID); } if (viewTrilha != null && viewTrilha.UsuarioOrigem != null) { query = query.Where(x => x.UsuarioOrigem.ID == viewTrilha.UsuarioOrigem.ID); } IList <ItemTrilha> ListaItemTrilha = new List <ItemTrilha>(); using (BMItemTrilha itemTrilhaBM = new BMItemTrilha()) { foreach (ViewUsuarioItemTrilhaParticipacao vt in query.ToList()) { ListaItemTrilha.Add(itemTrilhaBM.ObterPorID(vt.ItemTrilha.ID)); } } return(ListaItemTrilha); }
public List <DTOSolucoesObrigatorias> obtemSolucoesJogo(UsuarioTrilha usuarioTrilha, int idObjetivo) { List <DTOSolucoesObrigatorias> lista = new List <DTOSolucoesObrigatorias>(); var query = new BMItemTrilha().ObterItemTrilhasPorNivelTrilhaObjetivo(idObjetivo, usuarioTrilha.TrilhaNivel.ID); var solucoesObrigatorias = query.Where(x => x.SolucaoEducacional.ID != 0 && x.SolucaoObrigatoria == true).ToList(); // Caso tenha alguma solução obrigatória retorna essas if (solucoesObrigatorias.Count() > 0) { foreach (var item in solucoesObrigatorias) { lista = insereItemParticipacaoJogo(lista, item, usuarioTrilha); } } else { // Da preferência para Soluções Educacionais, dessa forma funciona caso não tenha soluções educacionais o objetivo var item = query.Where(x => x.SolucaoObrigatoria == false).OrderByDescending(x => x.SolucaoEducacional).FirstOrDefault(); lista = insereItemParticipacaoJogo(lista, item, usuarioTrilha); } return(lista); }
public dynamic CadastrarItemTrilhaParticipacao(int idUsuarioTrilha, int idItemTrilha, string textoParticipacao, string nomeOriginalArquivo, string imagem, int tipoParticipacao, string cpfAuditoria) { itemTrilhaParticipacaoBM = new BMItemTrilhaParticipacao(); fileServerBM = new BMFileServer(); var usuarioTrilha = new BMUsuarioTrilha().ObterPorId(idUsuarioTrilha); var isParticipacaoTrilheiro = tipoParticipacao == (int)enumTipoParticipacaoTrilha.ParticipacaoTrilheiro; if (isParticipacaoTrilheiro && DateTime.Now > usuarioTrilha.DataLimite) { throw new AcademicoException("O prazo para envio desta atividade já passou!"); } var itemTrilhaParticipacao = new ItemTrilhaParticipacao(); var itemTrilha = new BMItemTrilha().ObterPorID(idItemTrilha); if (idItemTrilha > 0 && idUsuarioTrilha > 0) { var listaItemTrilhaParticipacao = itemTrilhaParticipacaoBM.ObterParticipacoesUsuarioTrilha( idItemTrilha, idUsuarioTrilha); if (listaItemTrilhaParticipacao.Count > 0) { if ( listaItemTrilhaParticipacao.Any( x => x.TipoParticipacao == enumTipoParticipacaoTrilha.ParticipacaoTrilheiro && x.Autorizado.HasValue && x.Autorizado.Value) && isParticipacaoTrilheiro) { throw new AcademicoException("Sua atividade já está aprovada!"); } if ( listaItemTrilhaParticipacao.Any( x => x.TipoParticipacao == enumTipoParticipacaoTrilha.ParticipacaoTrilheiro && !x.Autorizado.HasValue) && isParticipacaoTrilheiro) { throw new AcademicoException("Sua atividade ainda não foi avaliada!"); } } itemTrilhaParticipacao.ItemTrilha = itemTrilha; itemTrilhaParticipacao.TextoParticipacao = textoParticipacao; itemTrilhaParticipacao.DataEnvio = DateTime.Now; itemTrilhaParticipacao.UsuarioTrilha = usuarioTrilha; itemTrilhaParticipacao.Visualizado = false; itemTrilhaParticipacao.TipoParticipacao = (enumTipoParticipacaoTrilha) Enum.Parse(typeof(enumTipoParticipacaoTrilha), tipoParticipacao.ToString()); itemTrilhaParticipacao.Auditoria = new Auditoria(cpfAuditoria); if (itemTrilha.Missao.PontoSebrae.TrilhaNivel.PrazoMonitorDiasUteis != null) { itemTrilhaParticipacao.DataPrazoAvaliacao = DateTime.Now.CalcularPrazo((int)itemTrilha.Missao.PontoSebrae.TrilhaNivel.PrazoMonitorDiasUteis); } FileServer fileServer; if (string.IsNullOrEmpty(nomeOriginalArquivo)) { fileServer = null; } else { var memoryStream = CommonHelper.ObterMemoryStream(imagem); fileServer = CommonHelper.ObterObjetoFileServer(memoryStream); var caminhoDiretorioUpload = ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.RepositorioUpload).Registro; // Escrever o arquivo na pasta. CommonHelper.EnviarArquivoParaRepositorio(caminhoDiretorioUpload, memoryStream, fileServer.NomeDoArquivoNoServidor); //Define o tipo de arquivo (/Quebra a string para obter o tipo do arquivo. Ex: bmp, jpeg, etc...) fileServer.TipoArquivo = CommonHelper.ObterTipoDoArquivo(imagem); fileServer.MediaServer = true; fileServer.NomeDoArquivoOriginal = nomeOriginalArquivo; fileServer.Auditoria = new Auditoria(cpfAuditoria); fileServerBM.Salvar(fileServer); } itemTrilhaParticipacao.FileServer = fileServer; itemTrilhaParticipacaoBM.Salvar(itemTrilhaParticipacao); // Verifica se o usuário já tem participação no item trilha InformarParticipacaoLoja(itemTrilhaParticipacao); } var status = itemTrilha.ObterStatusParticipacoesItemTrilha(usuarioTrilha); return(new { Status = status != null ? (int?)status.Value : null }); }
protected void rptUsuariosTrilha_ItemDataBound(object sender, RepeaterItemEventArgs e) { var rptPontosSebraeUsuario = (Repeater)e.Item.FindControl("rptPontosSebraeUsuario"); var rptsolucaoesDaTrilhaOnline = (Repeater)e.Item.FindControl("rptsolucaoesDaTrilhaOnline"); var rptsolucaoesDoTrilheiro = (Repeater)e.Item.FindControl("rptsolucaoesDoTrilheiro"); var rptsolucaoesDesempenhoGeral = (Repeater)e.Item.FindControl("rptSolucaoesDesempenhoGeral"); // Inception de repeaters. // Obter as questões por aqui. var usuarioTrilha = (UsuarioTrilha)e.Item.DataItem; var dic = new Dictionary <string, object>(); dic.Add("@ID_Usuariario_Trilha", usuarioTrilha.ID); var solucaoesDaTrilha = new BMItemTrilha().ExecutarProcedure <DTOSolucoesDaTrilha>("SP_solucoes_da_trilha", dic); var solucaoesDaTrilhaOnline = new BMItemTrilha().ExecutarProcedure <DTOCursosOnlineUCSebrae>("SP_cursos_online_ucsebrae", dic); var solucaoesDoTrilheiro = new BMItemTrilha().ExecutarProcedure <DTOSolucoesTrilheiro>("SP_solucoes_do_trilheiro", dic); var solucaoesDesempenhoGeral = new BMItemTrilha().ExecutarProcedure <DTOSolucaoesDesempenhoGeral>("SP_solucoes_do_desempenho_geral", dic); /* -- Solução da trilha --*/ rptPontosSebraeUsuario.DataSource = solucaoesDaTrilha; rptPontosSebraeUsuario.DataBind(); var rptPontosSebraeUsuarioObjetivos = (HtmlTableCell)e.Item.FindControl("rptPontosSebraeUsuarioObjetivos"); rptPontosSebraeUsuarioObjetivos.InnerText = solucaoesDaTrilha.Count().ToString(); var rptPontosSebraeUsuarioTotalHoras = (HtmlTableCell)e.Item.FindControl("rptPontosSebraeUsuarioTotalHoras"); rptPontosSebraeUsuarioTotalHoras.InnerText = solucaoesDaTrilha.Sum(x => x.CargaHoraria).ToString() + "h"; var rptPontosSebraeUsuarioMoedas = (HtmlTableCell)e.Item.FindControl("rptPontosSebraeUsuarioMoedas"); rptPontosSebraeUsuarioMoedas.InnerText = solucaoesDaTrilha.Sum(x => x.Moedas).ToString(); /* -- Solução da trilha --*/ /* -- Solução da trilha online --*/ rptsolucaoesDaTrilhaOnline.DataSource = solucaoesDaTrilhaOnline; rptsolucaoesDaTrilhaOnline.DataBind(); var rptsolucaoesDaTrilhaOnlineObjetivo = (HtmlTableCell)e.Item.FindControl("rptsolucaoesDaTrilhaOnlineObjetivo"); rptsolucaoesDaTrilhaOnlineObjetivo.InnerText = solucaoesDaTrilhaOnline.Count().ToString(); var rptsolucaoesDaTrilhaOnlineMoedasProvaFinal = (HtmlTableCell)e.Item.FindControl("rptsolucaoesDaTrilhaOnlineMoedasProvaFinal"); rptsolucaoesDaTrilhaOnlineMoedasProvaFinal.InnerText = solucaoesDaTrilhaOnline.Sum(x => x.Moedas).ToString(); var rptsolucaoesDaTrilhaOnlineTotal = (HtmlTableCell)e.Item.FindControl("rptsolucaoesDaTrilhaOnlineTotal"); rptsolucaoesDaTrilhaOnlineTotal.InnerText = solucaoesDaTrilhaOnline.Sum(x => x.CargaHoraria).ToString(); /* -- Solução da trilha online --*/ /* -- Solução do trilheiro --*/ rptsolucaoesDoTrilheiro.DataSource = solucaoesDoTrilheiro; rptsolucaoesDoTrilheiro.DataBind(); /* -- Solução do trilheiro --*/ /* --Desempenho geral-- */ rptsolucaoesDesempenhoGeral.DataSource = solucaoesDesempenhoGeral; rptsolucaoesDesempenhoGeral.DataBind(); }
/// <summary> /// Método Construtor da classe /// </summary> public ManterItemTrilha() : base() { bmItemTrilha = new BMItemTrilha(); }