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)); }
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; } }