Exemplo n.º 1
0
        public IActionResult ProjetosAtuais()
        {
            List <ProjetoAtual> projetosAtuais = new List <ProjetoAtual>();
            string connectionString            = _configuration.GetConnectionString("DefaultConnection");

            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                string sql = $"SELECT * FROM Produtor_Projeto WHERE produtor_id={this.User.Claims.ElementAt(2).Value}";
                using (SqlCommand command = new SqlCommand(sql, connection))
                {
                    connection.Open();
                    using (SqlDataReader dataReader = command.ExecuteReader())
                    {
                        while (dataReader.Read())
                        {
                            ProjetoAtual pa = new ProjetoAtual();
                            pa.id = getIdProjeto(Convert.ToInt32(dataReader["projeto_id"]));
                            int briefingID = getIdBriefing(pa.id);
                            int pcID       = getPCByBriefingID(briefingID);
                            pa.produto    = getProductByPCID(pcID);
                            pa.atribuidor = getNomeCMByID(Convert.ToInt32(dataReader["content_manager_id"]));
                            if (!getEstadoProjeto(pa.id))
                            {
                                projetosAtuais.Add(pa);
                            }
                        }
                    }
                    connection.Close();
                }
            }
            return(View(projetosAtuais));
        }
Exemplo n.º 2
0
    public void DesenvolverProjeto(ProjetoAtual projetoAtual, DadosPerfil perfil, EtapaMetodologia etapaMetodologia)
    {
        Projeto     projeto = projetoAtual.projeto;
        Prioridades prioridadesEscolhidasNormalizadas = projetoAtual.prioridadesEscolhidas.Normalizada();

        // TODO(andre:2018-06-30): Usar data interna do jogo pra calcular o progresso
        float tempoPassado = Time.deltaTime;

        progresso += tempoPassado;

        float pontosDesign     = etapaMetodologia.ObterMultiplicadorDesign(projeto, prioridadesEscolhidasNormalizadas);
        float pontosTecnologia = etapaMetodologia.ObterMultiplicadorTecnologia(projeto, prioridadesEscolhidasNormalizadas);
        // TODO(andre:2018-07-01): Definir como são gerados os pontos de erro
        float pontosErro = 0;
        // TODO(andre:2018-07-01): Definir como são gerados os pontos de pesquisa
        float pontosPesquisa = 0.15f;

        pontosDesign     *= tempoPassado * habilidadeDesign;
        pontosTecnologia *= tempoPassado * habilidadeTecnologia;
        pontosErro       *= tempoPassado * 10;
        pontosPesquisa   *= tempoPassado * habilidadePesquisa;

        // TODO(andre:2018-06-30): Utilizar aleatoriedade
        pontosDesignAcumulados     += pontosDesign;
        pontosTecnologiaAcumulados += pontosTecnologia;
        pontosErroAcumulados       += pontosErro;
        pontosPesquisaAcumulados   += pontosPesquisa;

        if (ultimaAtualizacao + etapaMetodologia.frequenciaAtualizacao < progresso)
        {
            ultimaAtualizacao = progresso;

            float pontosDesignGerados     = Random.Range(pontosDesignAcumulados * 0.5f, pontosDesignAcumulados);
            float pontosTecnologiaGerados = Random.Range(pontosTecnologiaAcumulados * 0.5f, pontosTecnologiaAcumulados);
            float pontosErroGerados       = Random.Range(pontosErroAcumulados * 0.5f, pontosErroAcumulados);
            float pontosPesquisaGerados   = Random.Range(pontosPesquisaAcumulados * 0.1f, pontosPesquisaAcumulados);

            Debug.Log("Pontos gerados: " + pontosDesignGerados + " | " + pontosTecnologiaGerados + " | " + pontosErroGerados + " | " + pontosPesquisaGerados);

            projeto.pontosDesign     += (int)pontosDesignGerados;
            projeto.pontosTecnologia += (int)pontosTecnologiaGerados;
            projeto.pontosErro       += (int)pontosErroGerados;
            perfil.pontosPesquisa    += (int)pontosPesquisaGerados;

            pontosDesignAcumulados     = 0;
            pontosTecnologiaAcumulados = 0;
            pontosErroAcumulados       = 0;
            pontosPesquisaAcumulados   = 0;
        }
    }