Пример #1
0
 public ItemTrilhaAvaliacao(string resenha, int avaliacao, UsuarioTrilha usuarioTrilha, ItemTrilha itemTrilha)
 {
     Resenha       = resenha;
     Avaliacao     = avaliacao;
     UsuarioTrilha = usuarioTrilha;
     ItemTrilha    = itemTrilha;
 }
Пример #2
0
 public virtual int ObterCurtidasPorTipo(ItemTrilha itemTrilha, enumTipoCurtida tipoCurtida)
 {
     return
         (ListaUsuarioTrilhaMoedas.Count(
              m => m.Curtida != null && m.Curtida.ItemTrilha.ID == itemTrilha.ID &&
              m.TipoCurtida == tipoCurtida));
 }
        public classes.ItemTrilha ObterObjetoItemTrilha()
        {
            _itemtrilhaBusca = new classes.ItemTrilha
            {
                Nome   = txtNome.Text.Trim(),
                Missao = new classes.Missao
                {
                    ID          = ddlMissao.SelectedIndex <= 0 ? 0 : int.Parse(ddlMissao.SelectedValue),
                    PontoSebrae = new classes.PontoSebrae
                    {
                        ID          = ddlPontoSebrae.SelectedIndex <= 0 ? 0 : int.Parse(ddlPontoSebrae.SelectedValue),
                        TrilhaNivel = new classes.TrilhaNivel
                        {
                            ID = ddlTrilhaNivel.SelectedIndex <= 0 ? 0 : int.Parse(ddlTrilhaNivel.SelectedValue)
                        }
                    }
                }
            };

            //Ativo
            if (rblAtivo.SelectedItem != null)
            {
                if (rblAtivo.SelectedItem.Value.Equals("S"))
                {
                    _itemtrilhaBusca.Ativo = true;
                }
                else
                {
                    _itemtrilhaBusca.Ativo = false;
                }
            }
            else
            {
                _itemtrilhaBusca.Ativo = null;
            }

            /*
             * //Ativo
             * if (rblAutoIndicativas.SelectedItem != null)
             * {
             *
             *  if (rblAutoIndicativas.SelectedItem.Value.Equals("S"))
             *      itemtrilhaBusca.UsuarioAssociado = true;
             *  else
             *      itemtrilhaBusca.UsuarioAssociado = false;
             * }
             * else
             * {
             *  itemtrilhaBusca.UsuarioAssociado = null;
             * }
             */
            return(_itemtrilhaBusca);
        }
Пример #4
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);
            }
        }
Пример #5
0
        public virtual string ObterTexto(Trilha trilha, UsuarioTrilha matricula, LogLider logLider = null,
                                         ItemTrilha solucaoSebrae      = null, Missao missao = null, PontoSebrae pontoSebrae = null, string corPin = null,
                                         TrilhaTutorial trilhaTutorial = null)
        {
            try
            {
                // Caso tenha um tutorial vinculado
                if (Tipo == enumTipoMensagemGuia.Tutorial && trilhaTutorial != null)
                {
                    var tutorial = Tutoriais.FirstOrDefault(x => x.ID == trilhaTutorial.ID);

                    if (tutorial != null && !string.IsNullOrEmpty(tutorial.Conteudo))
                    {
                        return(tutorial.Conteudo);
                    }
                }

                // Para cada momento, precisa obter os dados personalizados de acordo com a necessidade.
                string texto;

                switch (ID)
                {
                // Esses cases aqui são os que não precisam concatenar nenhum dado. Se isso mudar um dia,
                // tem que mudar aqui.
                case enumMomento.PrimeiroAcessoMapa:
                case enumMomento.PrimeiroAcessoMochila:
                case enumMomento.PrimeiraTentativaCambio:
                case enumMomento.PossuirMoedasProvaFinal:
                case enumMomento.PrimeiroAcessoCriacaoSolucaoTrilheiro:
                    texto = Texto;
                    break;

                case enumMomento.PrimeiroAcessoLoja:
                    if (pontoSebrae == null)
                    {
                        throw new Exception("Ponto Sebrae é obrigatório.");
                    }

                    texto = Texto.Replace("#NOME_PONTO_SEBRAE", pontoSebrae.NomeExibicao);

                    break;

                case enumMomento.PrimeiroLiderLojaUltimoAcesso:
                case enumMomento.AlteracaoLiderLojaUltimoAcesso:
                    if (logLider == null || logLider.Lider == null || logLider.Tempo == null)
                    {
                        texto = Texto;
                        break;
                    }

                    texto = string.Format(Texto, logLider.Lider.Usuario.Nome,
                                          logLider.Tempo != null ? logLider.Lider.ObterTempoConclusaoFormatado(logLider.Tempo) : "0s");

                    if (pontoSebrae == null)
                    {
                        throw new Exception("Ponto Sebrae é obrigatório.");
                    }

                    texto = texto.Replace("#NOME_PONTO_SEBRAE", pontoSebrae.NomeExibicao);
                    break;

                case enumMomento.PrimeiraConclusaoSolucaoSebrae:
                    if (solucaoSebrae == null)
                    {
                        throw new Exception("Solução Sebrae é obrigatória.");
                    }

                    texto = string.Format(Texto, solucaoSebrae.Tipo.Nome, solucaoSebrae.Moedas ?? 0,
                                          solucaoSebrae.Missao.PontoSebrae.TrilhaNivel.QuantidadeMoedasProvaFinal ?? 0);

                    texto = texto.Replace("#NOME_SOLUCAO_SEBRAE", solucaoSebrae.Nome);
                    break;

                // A mensagem é a mesma para a primeira e as demais missões concluídas. Se isso mudar um dia,
                // tem que mudar aqui.
                case enumMomento.PrimeiraConclusaoMissao:
                case enumMomento.DemaisConclusoesMissao:
                    if (missao == null)
                    {
                        throw new Exception("Missão é obrigatória.");
                    }

                    texto = Texto.Replace("#NOME_PONTO_SEBRAE", missao.Nome);
                    break;

                // Os cases abaixo estão juntos porque o dado concatenado é idêntico nos dois casos. Se isso
                // mudar um dia, tem que mudar aqui.
                case enumMomento.ConclusoesTodasSolucoesLoja:
                case enumMomento.ConcluirMetadeSolucoesLoja:
                    if (solucaoSebrae == null)
                    {
                        throw new Exception("Solução Sebrae é obrigatória.");
                    }

                    if (pontoSebrae == null)
                    {
                        throw new Exception("Ponto Sebrae é obrigatório.");
                    }

                    texto = Texto.Replace("#NOME_PONTO_SEBRAE", pontoSebrae.NomeExibicao);
                    break;

                case enumMomento.EvoluirPin:
                    texto = string.Format(Texto, corPin);
                    break;

                case enumMomento.DemaisConclusoesSolucaoSebrae:
                    if (solucaoSebrae == null)
                    {
                        throw new Exception("Solução Sebrae é obrigatória.");
                    }

                    if (pontoSebrae == null)
                    {
                        throw new Exception("Ponto Sebrae é obrigatório.");
                    }

                    texto = string.Format(Texto, solucaoSebrae.Tipo.Nome, solucaoSebrae.Moedas ?? 0);

                    texto = texto.Replace("#NOME_PONTO_SEBRAE", pontoSebrae.NomeExibicao);
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }

                if (trilha == null)
                {
                    throw new Exception("A trilha é obrigatória para gerar a mensagem da guia");
                }

                if (matricula == null)
                {
                    throw new Exception("A matrícula é obrigatória para gerar a mensagem da guia");
                }

                texto = texto
                        .Replace("#NOME_ALUNO", matricula.Usuario.Nome)
                        .Replace("#NOME_TRILHA", trilha.Nome)
                        .Replace("#NOME_NIVEL", matricula.TrilhaNivel.Nome)
                        .Replace("#DATA_MATRICULA", matricula.DataInicio.ToShortDateString())
                        .Replace("#DATA_LIMITE", matricula.DataLimite.ToShortDateString());

                return(texto);
            }
            catch (Exception ex)
            {
                // ReSharper disable once PossibleIntendedRethrow
                throw ex;
            }
        }
Пример #6
0
 public virtual int ObterSomaMoedasPrata(ItemTrilha solucaoTrilheiro)
 {
     return
         (ListaUsuarioTrilhaMoedas.Where(m => m.Curtida != null && m.Curtida.ItemTrilha.ID == solucaoTrilheiro.ID)
          .Sum(x => x.MoedasDePrata));
 }