コード例 #1
0
        protected void AtualizarParticipacoesPontoSebrae()
        {
            var ponto         = new ManterPontoSebrae().ObterPorId(int.Parse(Request["Id"]));
            var participacoes = new ManterItemTrilhaParticipacao().ObterTodosPorPontoSebrae(ponto.ID);

            var manterItemTrilhaParticipacao = new ManterItemTrilhaParticipacao();

            participacoes = manterItemTrilhaParticipacao.ObterParticipacoesPontoSebraeInativo(participacoes);
            manterItemTrilhaParticipacao.ExcluirTodosAsync(participacoes);
        }
コード例 #2
0
        private DTOMensagemGuia VerificarConclusaoMetadeSolucoesLoja(UsuarioTrilha matricula, PontoSebrae pontoSebrae)
        {
            try
            {
                var trilha = new ManterTrilha().ObterTrilhaPorId(matricula.TrilhaNivel.Trilha.ID);

                // Refresh básico da loja. Foi mal, mas estamos com pressa.
                pontoSebrae = new ManterPontoSebrae().ObterPorId(pontoSebrae.ID);

                var momento = enumMomento.ConcluirMetadeSolucoesLoja;

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

                var solucoesSebrae = pontoSebrae.ObterItensTrilha();

                if (!new ManterUsuarioTrilhaMensagemGuia().ObterTodos()
                    .Any(
                        x =>
                        x.UsuarioTrilha.ID == matricula.ID &&
                        x.ItemTrilha.Missao.PontoSebrae.ID == pontoSebrae.ID && x.MensagemGuia.ID == momento))
                {
                    var concluidos =
                        solucoesSebrae
                        .Count(
                            x =>
                            x.Usuario == null && x.Missao.PontoSebrae.TrilhaNivel.ID == matricula.TrilhaNivel.ID && x.PodeExibir() &&
                            x.ObterStatusParticipacoesItemTrilha(matricula) == enumStatusParticipacaoItemTrilha.Aprovado && x.Ativo.Value);

                    if (concluidos > 0)
                    {
                        var mensagem = new ManterMensagemGuia().ObterPorId(momento);

                        var ids = solucoesSebrae.Select(x => new { x.ID }).Select(x => x.ID).ToList();

                        var solucaoSebraeMetade =
                            solucoesSebrae
                            .FirstOrDefault(x => ids.IndexOf(x.ID) >= concluidos / 2);

                        var visualizacao = RegistrarVisualizacao(matricula, mensagem, null, solucaoSebraeMetade);

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

                return(null);
            }
            catch (Exception)
            {
                return(null);
            }
        }
コード例 #3
0
        private void PreencherComboPontoSebrae(TrilhaNivel trilhaNivel)
        {
            var listaPontoSebrae = new ManterPontoSebrae().ObterPorTrilhaNivelAtivos(trilhaNivel);

            if (listaPontoSebrae != null && listaPontoSebrae.Any())
            {
                WebFormHelper.PreencherLista(listaPontoSebrae, ddlPontoSebrae, false, true);
            }
            else
            {
                ddlPontoSebrae.Items.Clear();
            }
        }
コード例 #4
0
        protected void ddlTrilhaNivel_SelectedIndexChanged(object sender, EventArgs e)
        {
            int idSelecionado;

            if (int.TryParse(ddlTrilhaNivel.SelectedValue, out idSelecionado))
            {
                var pontosSebrae = new ManterPontoSebrae().ObterPorTrilhaNivel(new TrilhaNivel
                {
                    ID = idSelecionado
                }).OrderBy(x => x.Nome);

                WebFormHelper.PreencherLista(pontosSebrae, ddlPontoSebrae, false, true);
            }

            PreencherComboSolucaoSebrae();
        }
コード例 #5
0
        private void PreencherPontosSebrae()
        {
            int idNivelTrilha;

            if (int.TryParse(drpNivelTrilha.SelectedValue, out idNivelTrilha))
            {
                if (idNivelTrilha <= 0)
                {
                    WebFormHelper.PreencherLista(new List <object> {
                        new { ID = 0, Nome = "-- Selecione um Nível da Trilha --" }
                    }, drpPontoSebrae);
                    return;
                }

                List <PontoSebrae> pontosSebrae = new ManterPontoSebrae().ObterPorTrilhaNivel(idNivelTrilha).ToList();
                WebFormHelper.PreencherLista(pontosSebrae, drpPontoSebrae, true, false);
            }
        }
コード例 #6
0
        protected void ddlTrilhaNivel_OnSelectedIndexChanged(object sender, EventArgs e)
        {
            if (ddlTrilha.SelectedIndex <= 0 || ddlTrilhaNivel.SelectedIndex <= 0)
            {
                return;
            }

            var idTrilhaNivel = int.Parse(ddlTrilhaNivel.SelectedValue);

            ddlMissao.Items.Clear();

            var listaPontoSebrae =
                new ManterPontoSebrae().ObterPorTrilhaNivel(new Dominio.Classes.TrilhaNivel {
                ID = idTrilhaNivel
            });

            WebFormHelper.PreencherLista(listaPontoSebrae.ToList(), ddlPontoSebrae, false, true);

            PreencherTabelas();
        }
コード例 #7
0
        protected void ddlAtivo_OnSelectedIndexChanged(object sender, EventArgs e)
        {
            if (ddlAtivo.SelectedValue == "N" && Request["Id"] != null)
            {
                int id;
                if (int.TryParse(Request["Id"], out id))
                {
                    var pontoSebrae = new ManterPontoSebrae().ObterPorId(id);

                    var itensTrilha = pontoSebrae?.ObterItensTrilha().Where(x => x.Missao != null && x.Usuario == null).ToList();

                    if (itensTrilha != null && itensTrilha.Any())
                    {
                        // Informando total de itens
                        totalItemTrilha.Text     = itensTrilha.Count.ToString();
                        rptItemTrilha.DataSource = itensTrilha;
                        rptItemTrilha.DataBind();

                        ExibirModal();
                    }
                }
            }
        }
コード例 #8
0
        protected void btnPesquisar_Click(object sender, EventArgs e)
        {
            try
            {
                componenteGeracaoRelatorio.Visible = false;

                var usuarioTrilha = ObterObjetoUsuarioTrilha();

                manterMatriculaTrilha = new ManterMatriculaTrilha();

                if (usuarioTrilha == null)
                {
                    WebFormHelper.ExibirMensagem(enumTipoMensagem.Alerta, "Nenhuma Informação Encontrada");
                }
                else
                {
                    if (ucLupaUsuario.SelectedUser != null)
                    {
                        usuarioTrilha.Usuario = ucLupaUsuario.SelectedUser;
                    }
                }

                // Ufs selecionados
                var ufsSelecionados = ucMultiplosUF.RecuperarIdsSelecionados <int>();

                //var listaUsuarioTrilha = manterMatriculaTrilha.ObterMatriculaTrilhaPorFiltro(usuarioTrilha, ufsSelecioandos).Take(10);
                var listaUsuarioTrilha = manterMatriculaTrilha.ObterMatriculaTrilhaPorFiltro(usuarioTrilha, ufsSelecionados);

                // Filtro por status de matrícula para que a consulta fique menor no momento do bind
                int idStatus;
                if (int.TryParse(ddlStatus.SelectedValue, out idStatus) && idStatus > 0)
                {
                    listaUsuarioTrilha = listaUsuarioTrilha.Where(x =>
                                                                  x.ListaItemTrilhaParticipacao.Any(p => p.ItemTrilha.ObterStatusParticipacoesItemTrilha(p.UsuarioTrilha) == (enumStatusParticipacaoItemTrilha)idStatus)).ToList();
                }

                var niveisOcupacionais = ucSelectNivelOcupacional.RecuperarIdsSelecionados <int>().ToList();
                listaUsuarioTrilha = niveisOcupacionais.Any() ?
                                     listaUsuarioTrilha.Where(x => niveisOcupacionais.Contains(x.NivelOcupacional.ID)).ToList() :
                                     listaUsuarioTrilha;

                // Filtro por data limite de conclusão
                listaUsuarioTrilha = !string.IsNullOrEmpty(txtDataLimite.Text) ?
                                     listaUsuarioTrilha.Where(x => x.DataLimite <= DateTime.Parse(txtDataLimite.Text)).ToList() :
                                     listaUsuarioTrilha;

                // Filtro por data inicio de conclusão
                listaUsuarioTrilha = !string.IsNullOrEmpty(txtPeriodoInicial.Text) ?
                                     listaUsuarioTrilha.Where(x => x.DataInicio >= DateTime.Parse(txtPeriodoInicial.Text)).ToList() :
                                     listaUsuarioTrilha;

                // Filtro por data fim de conclusão
                listaUsuarioTrilha = !string.IsNullOrEmpty(txtPeriodoFinal.Text) ?
                                     listaUsuarioTrilha.Where(x => x.DataFim <= DateTime.Parse(txtPeriodoFinal.Text)).ToList() :
                                     listaUsuarioTrilha;

                if (listaUsuarioTrilha.Any())
                {
                    componenteGeracaoRelatorio.Visible = true;

                    rptUsuariosTrilha.DataSource = listaUsuarioTrilha;
                    rptUsuariosTrilha.DataBind();


                    Cache["dsRelatorioHistoricoParticipacao"]        = listaUsuarioTrilha;
                    Cache["dsCamposRelatorioHistoricoParticipacao"]  = chkListaCamposVisiveis;
                    Cache["dsFiltrosRelatorioHistoricoParticipacao"] = new DTOFiltrosHistoricoParticipacaoTrilha
                    {
                        ddlPontoSebrae     = ddlPontoSebrae.SelectedValue,
                        ddlMissao          = ddlMissao.SelectedValue,
                        rblTipoSolucao     = cblTipoSolucao.Items[0].Selected ? "0" : "1",
                        ddlStatus          = ddlStatus.SelectedValue,
                        usuarioTrilha      = usuarioTrilha,
                        niveisSelecionados = ucSelectNivelOcupacional.RecuperarIdsSelecionados <int>().ToList()
                    };

                    var query = new ManterPontoSebrae().ObterTodosIqueryable();

                    // Recupera ponto sebrae selecionado
                    int idPontoSebraeSelecionado;
                    if (int.TryParse(ddlPontoSebrae.SelectedValue, out idPontoSebraeSelecionado) && idPontoSebraeSelecionado != 0)
                    {
                        query = query.Where(x => x.ID == idPontoSebraeSelecionado);
                    }

                    // Filtrar pro trilha nível
                    query = query.Where(x => x.TrilhaNivel.ID == usuarioTrilha.TrilhaNivel.ID);

                    var niveisSelecionados = ucSelectNivelOcupacional.RecuperarIdsSelecionados <int>();

                    // Filtra pro nível ocupacional
                    query = niveisSelecionados.Any() ?
                            query.Where(x => x.TrilhaNivel.ListaPermissao.Where(p => p.NivelOcupacional != null).Any(p => niveisSelecionados.Contains(p.NivelOcupacional.ID)))
                        : query;

                    var dtoPontoSebrae = query.OrderBy(x => x.ID).Select(p => new DTOPontoSebrae
                    {
                        ID = p.ID.ToString(),
                        NomePontoSebrae = p.NomeExibicao
                    }).ToList();

                    // rptPontosSebrae.DataSource = dtoPontoSebrae;
                    // rptPontosSebrae.DataBind();

                    pnlParticipacaoTrilha.Visible = true;

                    //if (!chkListaCamposVisiveis.Items.FindByValue("CPF").Selected)  CPF.Visible = false;
                    //if (!chkListaCamposVisiveis.Items.FindByValue("DataAlteracaoStatusParticipacao").Selected) DataInclusaoTrilha.Visible = false;
                    //if (!chkListaCamposVisiveis.Items.FindByValue("DataInclusaoTrilha").Selected) DataInclusaoTrilha.Visible = false;

                    //WebFormHelper.ValidarVisibilidadeCamposGrid(dgRelatorio, chkListaCamposVisiveis.Items);
                }
                else
                {
                    pnlParticipacaoTrilha.Visible = false;
                    WebFormHelper.ExibirMensagem(enumTipoMensagem.Alerta, "Nenhuma Informação Encontrada");
                }
            }
            catch (AcademicoException ex)
            {
                WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message);
            }
        }
コード例 #9
0
        public void ObterPontosSebraeAtivos()
        {
            var pontosSebrae = new ManterPontoSebrae().ObterAtivos().ToList();

            pontosSebrae.ForEach(x => Assert.True(x.Ativo));
        }
コード例 #10
0
        private DTOMensagemGuia VerificarConclusaoTodasSolucoesLoja(UsuarioTrilha matricula, PontoSebrae pontoSebrae)
        {
            try
            {
                var trilha = new ManterTrilha().ObterTrilhaPorId(matricula.TrilhaNivel.Trilha.ID);

                // Refresh básico da loja. Foi mal, mas estamos com pressa.
                pontoSebrae = new ManterPontoSebrae().ObterPorId(pontoSebrae.ID);

                var momento = enumMomento.ConclusoesTodasSolucoesLoja;

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

                if (
                    !new ManterUsuarioTrilhaMensagemGuia().ObterTodos()
                    .Any(
                        x =>
                        x.UsuarioTrilha.ID == matricula.ID &&
                        x.ItemTrilha.Missao.PontoSebrae.ID == pontoSebrae.ID && x.MensagemGuia.ID == momento))
                {
                    var total =
                        pontoSebrae.ObterItensTrilha()
                        .Count(
                            x =>
                            x.Usuario == null && x.Missao.PontoSebrae.TrilhaNivel.ID == matricula.TrilhaNivel.ID &&
                            x.PodeExibir() && x.Ativo.Value);

                    var concluidos =
                        pontoSebrae.ObterItensTrilha()
                        .Count(
                            x =>
                            x.Usuario == null && x.Missao.PontoSebrae.TrilhaNivel.ID == matricula.TrilhaNivel.ID &&
                            x.PodeExibir() &&
                            x.ObterStatusParticipacoesItemTrilha(matricula) == enumStatusParticipacaoItemTrilha.Aprovado && x.Ativo.Value);

                    if (total > 0 && concluidos == total)
                    {
                        var mensagem = new ManterMensagemGuia().ObterPorId(momento);

                        var ultimaSolucaoSebrae =
                            pontoSebrae.ObterItensTrilha()
                            .LastOrDefault(
                                x =>
                                x.Missao.PontoSebrae.ID == pontoSebrae.ID &&
                                x.ListaItemTrilhaParticipacao.Any() &&
                                x.ListaItemTrilhaParticipacao.FirstOrDefault().UsuarioTrilha.ID == matricula.ID);

                        var visualizacao = RegistrarVisualizacao(matricula, mensagem, null, ultimaSolucaoSebrae);

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

                return(null);
            }
            catch
            {
                return(null);
            }
        }
コード例 #11
0
 public ListarPontoSebrae()
 {
     _manterPontoSebrae = new ManterPontoSebrae();
 }