コード例 #1
0
        private void BaixarArquivo()
        {
            int idItemTrilha = 0;

            if (ViewState["idItemTrilha"] != null)
            {
                //Obtém o Id do Item Trilha do viewstate
                idItemTrilha = (int)ViewState["idItemTrilha"];
            }

            if (idItemTrilha > 0)
            {
                ItemTrilha itemTrilha = new ManterItemTrilha().ObterItemTrilhaPorID(idItemTrilha);

                if (itemTrilha != null)
                {
                    string caminhoFisicoDoDiretorioDeUpload =
                        ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.RepositorioUpload).Registro;
                    string caminhoLogicoDoArquivo = string.Concat(caminhoFisicoDoDiretorioDeUpload,
                                                                  "\\" + itemTrilha.FileServer.NomeDoArquivoNoServidor);

                    if (!File.Exists(caminhoLogicoDoArquivo))
                    {
                        throw new FileNotFoundException("Arquivo não encontrado no servidor!");
                    }

                    Response.ContentType = itemTrilha.FileServer.TipoArquivo;
                    Response.AddHeader("content-disposition",
                                       String.Format("attachment; filename={0}", itemTrilha.FileServer.NomeDoArquivoOriginal));
                    HttpContext.Current.Response.WriteFile(caminhoLogicoDoArquivo);
                    Response.End();
                }
            }
        }
コード例 #2
0
 protected void ValidarRowCommandPorSolucaoEducacionalAprovacao(object sender, GridViewCommandEventArgs e)
 {
     if (e.CommandName == "Page")
     {
         return;
     }
     if (e.CommandName.Equals("excluir"))
     {
         var idItemTrilha = int.Parse(e.CommandArgument.ToString());
         try {
             var manterItemTrilha = new ManterItemTrilha();
             var manterUsuario    = new ManterUsuario();
             var usuarioLogado    = manterUsuario.ObterUsuarioLogado();
             manterItemTrilha.ExcluirSolucaoEducacionalAutoIndicativa(idItemTrilha, usuarioLogado.CPF, usuarioLogado);
             PreencherSolucoesEducacionaisSugeridas();
             WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "Registro excluído com sucesso!");
         }catch (AcademicoException ex) {
             WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message);
         }catch (Exception ex) {
             WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message);
         }
         return;
     }
     if (e.CommandName.Equals("editar"))
     {
         Response.Redirect("~/Cadastros/SeAutoindicativa/EdicaoSeAutoindicativa.aspx?id=" + e.CommandArgument.ToString());
         return;
     }
 }
コード例 #3
0
        public object informarParticipacaoConheciGame(DTOParticipacaoConheciGame dtoParicipacao)
        {
            var manterItemTrilha = new ManterItemTrilha();
            var usuarioTrilha    = new ManterUsuarioTrilha().ObterPorId(dtoParicipacao.ID_UsuarioTrilha);
            var itemTrilha       = manterItemTrilha.ObterItemTrilhaPorID(dtoParicipacao.ID_ItemTrilha);

            if (dtoParicipacao.QuantidadeAcertos >= itemTrilha.QuantidadeAcertosTema && itemTrilha.Moedas.HasValue)
            {
                var manterMoedas = new ManterUsuarioTrilhaMoedas();

                if (!manterMoedas.ObterTodosIQueryable()
                    .Select(x => new { ID_ItemTrilha = x.ItemTrilha.ID, ID_UsuaioTrilha = x.UsuarioTrilha.ID })
                    .Any(x => x.ID_ItemTrilha == itemTrilha.ID && x.ID_UsuaioTrilha == usuarioTrilha.ID))
                {
                    manterMoedas.Incluir(usuarioTrilha, itemTrilha, null, 0, dtoParicipacao.QuantidadeAcertos);
                    return(new
                    {
                        Aprovado = true,
                        QuantidadeMoedas = itemTrilha.Moedas
                    });
                }
            }

            return(new
            {
                Aprovado = false,
                QuantidadeMoedas = itemTrilha.Moedas
            });
        }
コード例 #4
0
        public dynamic MatriculaTurma(UserIdentity usuarioLogado, int idTurma, int itemTrilhaId)
        {
            var turma = new ManterTurma().ObterTurmaPorID(idTurma);

            if (turma == null)
            {
                throw new ResponseException(enumResponseStatusCode.TurmaNaoEncontrada, "Turma não encontrada");
            }

            var itemTrilha = new ManterItemTrilha().ObterItemTrilhaPorID(itemTrilhaId);

            if (itemTrilha == null)
            {
                throw new ResponseException(enumResponseStatusCode.TurmaNaoEncontrada, "Solução não encontrada");
            }

            try
            {
                new ManterSolucaoEducacionalService().MatricularTurma(usuarioLogado.Usuario.ID, turma.ID, null, null,
                                                                      usuarioLogado.Usuario.CPF, itemTrilha);
            }
            catch (AcademicoException ex)
            {
                throw new ResponseException(enumResponseStatusCode.ErroRegraNegocioSgus, ex.Message);
            }
            catch
            {
                throw new ResponseException(enumResponseStatusCode.ErroRegraNegocioSgus,
                                            "Não foi possível realizar a matrícula na turma");
            }

            return(null);
        }
コード例 #5
0
        private void PreencherComboSolucaoSebrae()
        {
            var manter = new ManterItemTrilha();
            var query  = manter.ObterTodosIQueryable();

            query = cblTipoSolucao.Items[0].Selected ? query.Where(x => x.Usuario == null) : query.Where(x => x.Usuario != null);
            query = FiltrarItensTrilhaPorSelecao(query);

            var solucoes = query.ToList();

            WebFormHelper.PreencherLista(solucoes, ddlSoucaoEducacional, false, true);
        }
コード例 #6
0
        private void SetarValorNaComboItemTrilha(string iditemtrilha, classes.ItemTrilha itemTrilha)
        {
            ManterItemTrilha manterItemTrilha = new ManterItemTrilha();

            if (!string.IsNullOrWhiteSpace(iditemtrilha))
            {
                itemTrilha = manterItemTrilha.ObterItemTrilhaPorID(int.Parse(iditemtrilha));
                ddlItemTrilha.Items.Add(new ListItem(itemTrilha.Nome, itemTrilha.ID.ToString()));
                WebFormHelper.SetarValorNaCombo(iditemtrilha.ToString(), ddlItemTrilha, true);
            }
            else if (itemTrilha != null)
            {
                ddlItemTrilha.Items.Add(new ListItem(itemTrilha.Nome, itemTrilha.ID.ToString()));
                WebFormHelper.SetarValorNaCombo(itemTrilha.ID.ToString(), ddlItemTrilha, true);
            }
        }
コード例 #7
0
        void PreencherCampos(int idItemTrilha)
        {
            var manterItemTrilha = new ManterItemTrilha();
            var itemTrilha       = manterItemTrilha.ObterItemTrilhaPorID(idItemTrilha);

            if (itemTrilha == null)
            {
                WebFormHelper.ExibirMensagem(enumTipoMensagem.Alerta, "Solução Educacional Autoindicativa não encontrada!", "ListarSeAutoindicativa.aspx");
                return;
            }

            lblTipoItemTrilha.Text       = itemTrilha.FormaAquisicao.Nome;
            txtTituloItemTrilha.Text     = itemTrilha.Nome;
            lblObjetivoItemTrilha.Text   = itemTrilha.Objetivo.NomeExibicao;
            txtLinkAcessoItemTrilha.Text = itemTrilha.LinkConteudo;
            txtReferenciaBibliograficaItemTrilha.Text = itemTrilha.ReferenciaBibliografica;
            txtLocalItemTrilha.Text = itemTrilha.Local;
        }
コード例 #8
0
        public dynamic ConsultarDisponibilidadeMatriculaSolucaoEducacional(UserIdentity usuarioLogado, int idItemTrilha)
        {
            try
            {
                var itemTrilha = new ManterItemTrilha().ObterItemTrilhaPorID(idItemTrilha);

                if (itemTrilha.SolucaoEducacionalAtividade == null)
                {
                    throw new ResponseException(enumResponseStatusCode.SolucaoEducacionalNaoEncontrada,
                                                enumResponseStatusCode.SolucaoEducacionalNaoEncontrada.GetDescription());
                }

                var disponibilidade =
                    new ConsultarStatusMatriculaSolucaoEducacional().ConsultarDisponibilidadeMatriculaSolucaoEducacional(
                        usuarioLogado.Usuario.ID, itemTrilha.SolucaoEducacionalAtividade.ID);

                var se = itemTrilha.SolucaoEducacionalAtividade;

                return(new
                {
                    IdSolucaoEducacional = se.ID,
                    IdOferta = disponibilidade.IdOferta,
                    IdTurma = disponibilidade.IdTurma,
                    NomeSolucao = se.Nome,
                    Prazo = disponibilidade.Prazo,
                    CargaHoraria = disponibilidade.CargaHoraria,
                    DataInicioInscricoes = disponibilidade.DataInicioInscricoes,
                    DataFimInscricoes = disponibilidade.DataFimInscricoes,
                    Descricao = se.Apresentacao,
                    TermoDeAceite = disponibilidade.TextoTermoAceite,
                    PoliticaDeConsequencia = disponibilidade.TextoPoliticaConsequencia,
                    InformacaoAdicional = disponibilidade.TextoInformacaoAdicional,
                    TextoDisponibilidade = disponibilidade.TextoDisponibilidade,
                    CodigoDisponibilidade = disponibilidade.CodigoDisponibilidade,
                    OfertasDisponiveis = disponibilidade.OfertasDisponiveis
                });
            }
            catch
            {
                throw new ResponseException(enumResponseStatusCode.RegistroNaoEncontrado, "Não foi possível consultar a disponibilidade");
            }
        }
コード例 #9
0
        public object InformarAvaliacao(int idItemTrilha, string resenha, int avaliacao, UsuarioTrilha matricula)
        {
            var manter           = new ManterItemTrilhaAvaliacao();
            var manterItemTrilha = new ManterItemTrilha();

            var usuario    = new ManterUsuarioTrilha().ObterPorId(matricula.ID);
            var itemTrilha = manterItemTrilha.ObterItemTrilhaPorID(idItemTrilha);

            var avaliacaoSolucaoSebrae = new ItemTrilhaAvaliacao(resenha, avaliacao, usuario, itemTrilha);

            manter.Salvar(avaliacaoSolucaoSebrae);

            return(new
            {
                ItemTrilha = itemTrilha.ID,
                TotalAvaliacoes = itemTrilha.Avaliacoes.Count,
                MediaAvaliacoes = itemTrilha.ObterMediaAvaliacoes(),
                usuarioAvaliou = itemTrilha.ChecarAvaliacao(matricula)
            });
        }
コード例 #10
0
        public dynamic MatriculaSolucaoEducacional(UserIdentity usuarioLogado, int idSolucaoEducacional, int ofertaId, int itemTrilhaId)
        {
            var se = new ManterSolucaoEducacional().ObterSolucaoEducacionalPorId(idSolucaoEducacional);

            if (se == null)
            {
                throw new ResponseException(enumResponseStatusCode.SolucaoEducacionalNaoEncontrada, "Solução Educacional não encontrada");
            }

            var oferta = se.ListaOferta.Where(x => x.ID == ofertaId).FirstOrDefault();

            if (oferta == null)
            {
                throw new ResponseException(enumResponseStatusCode.OfertaNaoEncontrada, "Oferta não encontrada");
            }

            var itemTrilha = new ManterItemTrilha().ObterItemTrilhaPorID(itemTrilhaId);

            if (itemTrilha == null)
            {
                throw new ResponseException(enumResponseStatusCode.TurmaNaoEncontrada, "Solução não encontrada");
            }

            try
            {
                new ManterSolucaoEducacionalService().MatricularSolucaoEducacional(usuarioLogado.Usuario.ID, se.ID,
                                                                                   oferta.ID, null,
                                                                                   null, usuarioLogado.Usuario.CPF, null, itemTrilha);
            }
            catch (AcademicoException ex)
            {
                throw new ResponseException(enumResponseStatusCode.ErroRegraNegocioSgus, ex.Message);
            }
            catch
            {
                throw new ResponseException(enumResponseStatusCode.ErroRegraNegocioSgus,
                                            "Não foi possível realizar a matrícula na turma");
            }

            return(true);
        }
コード例 #11
0
        private List <DTOMensagemGuia> VerificarDemaisConclusoesSolucaoSebrae(UsuarioTrilha matricula)
        {
            var retorno = new List <DTOMensagemGuia>();

            if (matricula != null && matricula.ID != 0)
            {
                var trilha = new ManterTrilha().ObterTrilhaPorId(matricula.TrilhaNivel.Trilha.ID);

                // Refresh básico da matrícula. Foi mal, mas estamos com pressa.
                matricula = new ManterUsuarioTrilha().ObterPorId(matricula.ID);

                var momento = enumMomento.DemaisConclusoesSolucaoSebrae;

                var visualizacoes =
                    matricula.ListaVisualizacoesMensagemGuia.Where(
                        x => x.MensagemGuia.ID == momento && x.Visualizacao == null && x.ItemTrilha != null).AsQueryable();

                // Contar a partir da segunda aprovação.
                if (matricula.ListaItemTrilhaParticipacao.Count(x => x.Autorizado == true) > 1 && visualizacoes.Any())
                {
                    foreach (var visualizacao in visualizacoes)
                    {
                        var mensagem = new ManterMensagemGuia().ObterPorId(momento);

                        // Salvar visualização dessa mensagem.
                        visualizacao.Visualizacao = DateTime.Now;
                        new ManterUsuarioTrilhaMensagemGuia().Salvar(visualizacao);

                        // Refresh básico da Solução Sebrae. Foi mal, mas estamos com pressa.
                        var solucaoSebrae = new ManterItemTrilha().ObterItemTrilhaPorID(visualizacao.ItemTrilha.ID);

                        retorno.Add(new DTOMensagemGuia(visualizacao.ID,
                                                        mensagem.ObterTexto(trilha, matricula, solucaoSebrae: solucaoSebrae)));
                    }
                }
            }

            return(retorno);
        }
コード例 #12
0
        private IEnumerable <ItemTrilha> ObterListaItemTrilha()
        {
            var itemTrilha = new ItemTrilha {
            };

            if (!string.IsNullOrEmpty(ddlTrilha.SelectedValue))
            {
                if (itemTrilha.Missao.PontoSebrae.TrilhaNivel == null)
                {
                    itemTrilha.Missao.PontoSebrae.TrilhaNivel = new classes.TrilhaNivel();
                }
                itemTrilha.Missao.PontoSebrae.TrilhaNivel.Trilha = new Trilha {
                    ID = Convert.ToInt32(ddlTrilha.SelectedValue)
                };
            }

            if (!string.IsNullOrEmpty(ddlTrilhaNivel.SelectedValue))
            {
                if (itemTrilha.Missao.PontoSebrae.TrilhaNivel == null)
                {
                    itemTrilha.Missao.PontoSebrae.TrilhaNivel = new classes.TrilhaNivel();
                }
                itemTrilha.Missao.PontoSebrae.TrilhaNivel.ID = Convert.ToInt32(ddlTrilhaNivel.SelectedValue);
            }

            if (!string.IsNullOrEmpty(ddlTopicoTematico.SelectedValue))
            {
                if (itemTrilha.TrilhaTopicoTematico == null)
                {
                    itemTrilha.TrilhaTopicoTematico = new TrilhaTopicoTematico();
                }
                itemTrilha.TrilhaTopicoTematico.ID = Convert.ToInt32(ddlTopicoTematico.SelectedValue);
            }

            var lista = new ManterItemTrilha().ObterItemTrilhaPorFiltro(itemTrilha);

            return(lista);
        }
コード例 #13
0
 protected void dgvItemTrilha_RowCommand(object sender, GridViewCommandEventArgs e)
 {
     if (e.CommandName.Equals("excluir"))
     {
         try
         {
             _manterItemTrilha = new ManterItemTrilha();
             int idItemTrilha = int.Parse(e.CommandArgument.ToString());
             _manterItemTrilha.ExcluirItemTrilha(idItemTrilha);
             WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "Registro excluído com sucesso!", "ListarSolucaoSebrae.aspx");
         }
         catch (AcademicoException ex)
         {
             WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message);
         }
     }
     else if (e.CommandName.Equals("editar"))
     {
         int idTrilhaTopicoTematico = int.Parse(e.CommandArgument.ToString());
         //Session.Add("ItemTrilhaEdit", idTrilhaTopicoTematico);
         Response.Redirect("EdicaoSolucaoSebrae.aspx?Id=" + idTrilhaTopicoTematico.ToString(), false);
     }
 }
コード例 #14
0
        public dynamic ObterAcessoJogo(int solucaoId, UsuarioTrilha matricula)
        {
            var solucaoSebrae = new ManterItemTrilha().ObterItemTrilhaPorID(solucaoId);

            if (solucaoSebrae == null)
            {
                throw new ResponseException(enumResponseStatusCode.SolucaoSebraeNaoEncontrada);
            }

            var ultimaParticipacao =
                solucaoSebrae.ListaItemTrilhaParticipacao.LastOrDefault(
                    x => x.UsuarioTrilha.ID == matricula.ID && x.Autorizado == null);

            // Criar participação sem autorização, se não existir.
            if (ultimaParticipacao == null)
            {
                // Criar uma participação que servirá de "Dummy" para relacionar o aluno com a aprovação do jogo.
                var participacao = new ItemTrilhaParticipacao
                {
                    UsuarioTrilha    = matricula,
                    ItemTrilha       = solucaoSebrae,
                    DataEnvio        = DateTime.Now,
                    TipoParticipacao = enumTipoParticipacaoTrilha.Jogo,
                    Auditoria        = new Auditoria(matricula.Usuario.CPF),
                    FileServer       = null
                };

                // Criar participação.
                new BP.ManterItemTrilhaParticipacao().Salvar(participacao);
            }

            return(new
            {
                LinkJogo = ConsultarLinkJogo(solucaoSebrae, matricula)
            });
        }
コード例 #15
0
        private DTOMensagemGuia VerificarPrimeiraConclusaoSolucaoSebrae(UsuarioTrilha matricula)
        {
            if (matricula != null && matricula.ID != 0)
            {
                // Refresh básico da matrícula. Foi mal, mas estamos com pressa.
                matricula = new ManterUsuarioTrilha().ObterPorId(matricula.ID);

                var trilha = new ManterTrilha().ObterTrilhaPorId(matricula.TrilhaNivel.Trilha.ID);

                var momento = enumMomento.PrimeiraConclusaoSolucaoSebrae;

                if (matricula.ListaVisualizacoesMensagemGuia.All(x => x.MensagemGuia.ID != momento))
                {
                    var primeiraConclusao =
                        matricula.ListaItemTrilhaParticipacao.OrderBy(x => x.DataEnvio)
                        .FirstOrDefault(x => x.Autorizado == true);

                    if (primeiraConclusao == null)
                    {
                        return(null);
                    }

                    var mensagem = new ManterMensagemGuia().ObterPorId(momento);

                    var visualizacao = RegistrarVisualizacao(matricula, mensagem);

                    // Refresh básico da Solução Sebrae. Foi mal, mas estamos com pressa.
                    var solucaoSebrae = new ManterItemTrilha().ObterItemTrilhaPorID(primeiraConclusao.ItemTrilha.ID);

                    return(new DTOMensagemGuia(visualizacao.ID, mensagem.ObterTexto(trilha, matricula, solucaoSebrae: solucaoSebrae)));
                }
            }


            return(null);
        }
コード例 #16
0
ファイル: Teste.aspx.cs プロジェクト: lincoln-alves/sgus
 protected void Page_Load(object sender, EventArgs e)
 {
     var itemTrilha = new ManterItemTrilha().ObterItemTrilhaPorID(1433);
 }