public void Corrigir(Exercicio realizado) { ExercicioDAL dal = new ExercicioDAL(); Nota n = new Nota(); Exercicio gabarito = new Exercicio(); gabarito = dal.Consultar(realizado.ID); n = dal.Corrigir(realizado, gabarito); NotaDAL dalnota = new NotaDAL(); dalnota.Inserir(n); DesempenhoDAL daldesempenho = new DesempenhoDAL(); ConteudoDAL dalconteudo = new ConteudoDAL(); gabarito.Conteudo = dalconteudo.Consultar(gabarito.Conteudo.ID); Desempenho desempenho = daldesempenho.Consultar(gabarito.Conteudo.Materia.ID, realizado.Usuario); if (desempenho.ID == 0) { desempenho = new Desempenho { HorasEstudadas = 0, Materia = gabarito.Conteudo.Materia, Porcentagem = 0, Usuario = new Usuario { ID = realizado.Usuario } }; daldesempenho.Inserir(desempenho); } else { daldesempenho.Alterar(desempenho); } }
/// <summary> /// Insere um Desempenho na tabela Desempenho /// Precisando Apenas do ID do Usuario e o ID do Materia /// </summary> /// <param name="D"> parametro do tipo Desempenho | sem id </param> public void Inserir(Desempenho D) { SqlCommand comm = new SqlCommand(@"Select Count(*) From Materia m inner join Conteudo c on m.ID_Materia = c.ID_Materia inner join Exercicio e on e.ID_Conteudo = c.ID_Conteudo Where m.ID_Materia = " + D.Materia.ID, Banco.Abrir()); decimal quantidade = Convert.ToDecimal(comm.ExecuteScalar()) * 10; decimal notas = 0; comm.CommandText = @"Select e.ID_Exercicio, Max(Nota_Nota) From Materia m inner join Conteudo c on m.ID_Materia = c.ID_Materia inner join Exercicio e on e.ID_Conteudo = c.ID_Conteudo inner join Nota n on n.ID_Exercicio = e.ID_Exercicio Where m.ID_Materia = " + D.Materia.ID + " and n.ID_Usuario = " + D.Usuario.ID + " group by e.ID_Exercicio"; SqlDataReader dr = comm.ExecuteReader(); while (dr.Read()) { notas += Convert.ToDecimal(dr.GetValue(1)); } dr.Close(); comm.CommandType = System.Data.CommandType.StoredProcedure; comm.CommandText = "InserirDesempenho"; comm.Parameters.Add("@Usuario", SqlDbType.Int).Value = D.Usuario.ID; comm.Parameters.Add("@Materia", SqlDbType.Int).Value = D.Materia.ID; if (notas > 0) { comm.Parameters.Add("@Porcentagem", SqlDbType.Decimal).Value = notas / quantidade; } else { comm.Parameters.Add("@Porcentagem", SqlDbType.Decimal).Value = 0; } comm.Parameters.Add("@HorasEstudadas", SqlDbType.Decimal).Value = D.HorasEstudadas; comm.ExecuteNonQuery(); comm.Connection.Close(); }
private void Grid_Materais_CellClick(object sender, DataGridViewCellEventArgs e) { foreach (var item in materias.Where(x => x.Nome == Grid_Materais.CurrentRow.Cells[0].Value.ToString())) { try { DesempenhoDAL dal = new DesempenhoDAL(); Desempenho desempenho = dal.Consultar(item.ID, UsuarioAtual.ID); Txt_Porcentagem.Text = (desempenho.Porcentagem * 100).ToString(); if (desempenho.Porcentagem < (decimal)0.5) { Txt_Porcentagem.ForeColor = Color.Red; } else { if (desempenho.Porcentagem >= (decimal)0.5 && desempenho.Porcentagem < (decimal)0.7) { Txt_Porcentagem.ForeColor = Color.Yellow; } else { Txt_Porcentagem.ForeColor = Color.Green; } } int horas = (int)desempenho.HorasEstudadas; int minutos = (int)((desempenho.HorasEstudadas - horas) * 60); Lbl_Horas.Text = "Horas Estudadas = \nHoras: " + horas + " \nMinutos: " + minutos; Lbl_Materia.Text = item.Nome; } catch { MessageBox.Show("Erro de Conexão, tente novamente", "Enigma", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
// Metodo para realizar acao da escolha do usuario de acordo com e-mail selecionado. public void opcao(string resposta) { leituraArquivo = GameObject.Find("LeituraArquivo").GetComponent <LeituraArquivo>() as LeituraArquivo; // Se o e-mail nao foi respondido. if (!isRespondido) { // Busco e-mail, em seguida envio como parametro sua resposta e altero o estado para respondido. this.getEmail(resposta); if (resposta.Equals("aceitar")) { int idProjeto = 0; //Debug.Log ("IdProjeto: " + leituraArquivo.IdProjetoEmail (idEmail)); int.TryParse(leituraArquivo.IdProjetoEmail(idEmail), out idProjeto); if (idProjeto != 0) { Projeto.aumentaQtdProjetos(); //Debug.Log ("Quantidade projetos: " + Projeto.getQtdProjetos ()); //Debug.Log ("Projeto " + Projeto.getQtdProjetos ().ToString ()); Projeto p = GameObject.Find("TelaEstacaoTrabalho").transform.FindChild("TelaInicial/Projeto " + Projeto.getQtdProjetos().ToString()).GetComponent <Projeto> () as Projeto; p.criarProjeto(idProjeto); } else { //Debug.Log ("E-mail nao possui um projeto"); } this.transform.FindChild("UI/Canvas/Respostas").gameObject.SetActive(false); this.transform.FindChild("UI/Canvas/Aceito").gameObject.SetActive(true); // leitura do arquivo de Email.xml leituraArquivo.CarregarArquivo(); //Debug.Log ("clicou para aceitar o email " + idEmail); } else if (resposta.Equals("recusar")) { this.transform.FindChild("UI/Canvas/Respostas").gameObject.SetActive(false); this.transform.FindChild("UI/Canvas/Recusado").gameObject.SetActive(true); Navegador.AdicionarListaNoticias(idEmail); Desempenho.AddProjeto(idEmail, 0, false); } else { //Debug.Log ("Opçao invalida."); } // Marco a resposta da tela atual para respondido e invalidando acesso aos botoes da tela. this.isRespondido = true; } else { //Debug.Log("Este e-mail ja foi respondido e portanto os botoes ficaram sem acao."); } }
private void Awake() { #if UNITY_EDITOR if (instance != null) { Debug.Log("Mais de uma instancia."); } #endif instance = this; }
/// <summary> /// Insere um Desempenho na tabela Desempenho /// Precisando Apenas do ID do Usuario e o ID do Materia /// </summary> /// <param name="D"> parametro do tipo Desempenho | sem id </param> public void Inserir(Desempenho D) { SqlCommand comm = new SqlCommand("", Banco.Abrir()); comm.CommandType = System.Data.CommandType.StoredProcedure; comm.CommandText = "InserirDesempenho"; comm.Parameters.Add("@Usuario", SqlDbType.Int).Value = D.Usuario.ID; comm.Parameters.Add("@Materia", SqlDbType.Int).Value = D.Materia.ID; comm.Parameters.Add("@Porcentagem", SqlDbType.Decimal).Value = D.Porcentagem; comm.Parameters.Add("@HorasEstudadas", SqlDbType.Decimal).Value = D.HorasEstudadas; comm.ExecuteNonQuery(); comm.Connection.Close(); }
public void trabalhar() { if (turnosTotal > 0 && progresso != 100 && Energia.ObterEstado() > 0) { turnosCorridos++; progresso = (100 / turnosTotal) * turnosCorridos; escreverDados(); Energia.Diminuir(); Relogio.MudarPeriodo(); if (turnosTotal - turnosCorridos == 0) { Dinheiro.Receber(valor); Personagem.isPagamento = true; Navegador.GerarNoticias("ProjetoEntregado", idProjeto); Desempenho.AddProjeto(idProjeto, progresso, true); } } }
public static void AvaliarDesempenho() { if (GameObject.Find("TelaEstacaoTrabalho")) { GameObject.Find("TelaEstacaoTrabalho").transform.FindChild("TelaInicial").gameObject.SetActive(true); foreach (GameObject objeto in GameObject.FindGameObjectsWithTag("Projeto")) { if (Projeto.isAndamento(objeto)) { int projeto = objeto.gameObject.GetComponent <Projeto>().idProjeto; int progresso = objeto.gameObject.GetComponent <Projeto>().progresso; Desempenho.AddProjeto(projeto, progresso, true); } } if (!SceneManager.GetActiveScene().name.Equals("Computador")) { GameObject.Find("TelaEstacaoTrabalho").transform.FindChild("TelaInicial").gameObject.SetActive(false); } } }
public void Atualizar(Desempenho D) { DesempenhoDAL dal = new DesempenhoDAL(); int materia = D.Materia.ID, usuario = D.Usuario.ID; decimal hestudadas = D.HorasEstudadas; D = dal.Consultar(D.Materia.ID, D.Usuario.ID); if (D.ID == 0) { D.Materia = new Materia { ID = materia }; D.Usuario = new Usuario { ID = usuario }; dal.Inserir(D); } else { dal.Alterar(D); } }
private void Form_Conteudo_FormClosed(object sender, FormClosedEventArgs e) { try { TimeSpan timeSpan = DateTime.Now - Agora; decimal horas = (decimal)timeSpan.Hours; decimal minutos = 0; if (timeSpan.Minutes > 0) { minutos = (decimal)timeSpan.Minutes / (decimal)60; } if (timeSpan.Days > 0) { horas += 24 * timeSpan.Days; } DesempenhoDAL dal = new DesempenhoDAL(); Desempenho D = new Desempenho(); decimal hestudadas = horas + minutos; D = dal.Consultar(this.materia.ID, UsuarioAtual.ID); if (D.ID == 0) { D.Materia = this.materia; D.Usuario = new Usuario { ID = UsuarioAtual.ID }; D.HorasEstudadas = hestudadas; dal.Inserir(D); } else { D.HorasEstudadas += hestudadas; dal.Alterar(D); } } catch { } }
// Método para enviar os dados. public static void Enviar() { WWWForm form = new WWWForm(); // Comportamento form.AddField("id", jogador); form.AddField("dia", Data.ObterData()); form.AddField("dinheiro", Dinheiro.ObterValor()); form.AddField("despesa", Financeiro.ObterDespesa()); form.AddField("tempoDia", Comportamento.ObterTempo()); form.AddField("socializacao", Sentimento.ObterSocializacao()); form.AddField("cliqueGeral", Comportamento.ObterGeral()); form.AddField("cliqueEmail", Comportamento.ObterEmail()); form.AddField("cliqueProjeto", Comportamento.ObterProjeto()); form.AddField("cliqueTrabalho", Comportamento.ObterTrabalho()); form.AddField("cliqueNavegador", Comportamento.ObterNavegador()); form.AddField("cliqueComputador", Comportamento.ObterComputador()); Comportamento.Reiniciar(); // Desempenho foreach (Desempenho.Projeto projeto in Desempenho.Lista()) { form.AddField("desempenho_projeto[]", projeto.id); form.AddField("desempenho_progresso[]", projeto.progresso); form.AddField("desempenho_situacao[]", projeto.situacao.ToString()); } Desempenho.Reiniciar(); // Conclusao if (Fim.getCenario() != null) { form.AddField("conclusao", Fim.getCenario()); } // Enviando os dados do form através do método post. WWW envio = new WWW(url, form.data, form.headers); }
/// <summary> /// retorna um objeto do tipo Desempenho contendo apenas o ID do Usuario e o ID Da Materia /// </summary> /// <param name="materia"> parametro do tipo inteiro que representa o id da materia</param> /// <param name="usuario">parametro do tipo inteiro que representa o id do usuario</param> /// <returns></returns> public Desempenho Consultar(int materia, int usuario) { SqlCommand comm = new SqlCommand("Select * from Desempenho where ID_Materia = " + materia + " and ID_Usuario = " + usuario, Banco.Abrir()); SqlDataReader dr = comm.ExecuteReader(); Desempenho d = new Desempenho(); while (dr.Read()) { Usuario u = new Usuario(); u.ID = Convert.ToInt32(dr.GetValue(1)); Materia m = new Materia(); m.ID = Convert.ToInt32(dr.GetValue(2)); d = new Desempenho { ID = Convert.ToInt32(dr.GetValue(0)), Usuario = u, Materia = m, Porcentagem = Convert.ToDecimal(dr.GetValue(3)), HorasEstudadas = Convert.ToDecimal(dr.GetValue(4)) }; } comm.Connection.Close(); return(d); }
void Proximo() { if (realizando) { if (enviar == false) { Questao questao = new Questao(); questao.Alternativa = new List <Alternativa>(); foreach (var item in Gabarito.Questao.Where(x => x.Ordem == sequencia[QuestaoAtual])) { questao.ID = item.ID; questao.Ordem = item.Ordem; questao.Tipo = item.Tipo; questao.Pergunta = item.Pergunta; questao.Usuario = UsuarioAtual.ID; questao.AleatorioAlternativa = item.AleatorioAlternativa; questao.Exercicio = item.Exercicio; } if (questao.Tipo.Trim() == "C") { bool validar = true; for (int i = 0; i < textBoxes.Length; i++) { if (textBoxes[i].Text.Trim() == "") { validar = false; } } if (validar) { int ordem = 1; for (int i = 0; i < textBoxes.Length; i++) { Alternativa alternativa = new Alternativa { Conteudo = textBoxes[i].Text.Trim(), Ordem = ordem, Questao = questao, Tipo = "R", Usuario = UsuarioAtual.ID }; questao.Alternativa.Add(alternativa); ordem += 1; } } else { MessageBox.Show("Preencha todos os campos", "Enigma", MessageBoxButtons.OK, MessageBoxIcon.Error); processar = false; } } else { bool validar = false; int resposta = 0; for (int i = 0; i < respostas.Length; i++) { if (respostas[i] == true) { validar = true; resposta = i; } } if (validar) { Alternativa alternativa = new Alternativa(); foreach (var item in Gabarito.Questao.Where(x => x.Ordem == sequencia[QuestaoAtual])) { foreach (var it in item.Alternativa.Where(x => x.Ordem == sequenciaalternativa[resposta])) { alternativa = new Alternativa { Conteudo = it.Conteudo, Ordem = it.Ordem, Questao = it.Questao, Tipo = "R", Usuario = UsuarioAtual.ID }; } } questao.Alternativa.Add(alternativa); } else { MessageBox.Show("Selecione uma alternativa", "Enigma", MessageBoxButtons.OK, MessageBoxIcon.Error); processar = false; } } if (processar) { Resolvido.Questao.Add(questao); if (QuestaoAtual + 1 == Gabarito.Questao.Count) { enviar = true; } else { QuestaoAtual += 1; MostrarQuestao(); } } } if (enviar) { try { Program.PanelCarregando.Visible = true; Program.PanelCarregando.Refresh(); ExercicioDAL dal = new ExercicioDAL(); NotaDAL dalnota = new NotaDAL(); Nota n = new Nota(); n = dal.Corrigir(Resolvido, Gabarito); dalnota.Inserir(n); DesempenhoDAL daldesempenho = new DesempenhoDAL(); ConteudoDAL dalconteudo = new ConteudoDAL(); Gabarito.Conteudo = dalconteudo.Consultar(Gabarito.Conteudo.ID); Desempenho desempenho = daldesempenho.Consultar(Gabarito.Conteudo.Materia.ID, Resolvido.Usuario); if (desempenho.ID == 0) { desempenho = new Desempenho { HorasEstudadas = 0, Materia = Gabarito.Conteudo.Materia, Porcentagem = 0, Usuario = new Usuario { ID = Resolvido.Usuario } }; daldesempenho.Inserir(desempenho); } else { daldesempenho.Alterar(desempenho); } Form frm = new Form_ExibirNota(dalnota.ConsultarUltimo(UsuarioAtual.ID, Gabarito.ID)); frm.ShowDialog(); LimparCampos(); } catch { MessageBox.Show("Erro de Conexão, tente novamente", "Enigma", MessageBoxButtons.OK, MessageBoxIcon.Error); } Program.PanelCarregando.Visible = false; } processar = true; } }
// GET: CategoriaLivros public async Task <IActionResult> Index() { var result = from obj in _context.Categoria select obj; List <Desempenho> desempenhos = new List <Desempenho>(); Desempenho desempenho = new Desempenho(); desempenho.CoSeqCategoriaAvaliacao = 1; desempenho.desempenhoMes = 20; desempenho.mes = 3; desempenhos.Add(desempenho); desempenho.CoSeqCategoriaAvaliacao = 3; desempenho.desempenhoMes = 20; desempenho.mes = 4; desempenhos.Add(desempenho); desempenho.CoSeqCategoriaAvaliacao = 3; desempenho.desempenhoMes = 20; desempenho.mes = 3; desempenhos.Add(desempenho); desempenho.CoSeqCategoriaAvaliacao = 2; desempenho.desempenhoMes = 20; desempenho.mes = 4; desempenhos.Add(desempenho); desempenho.CoSeqCategoriaAvaliacao = 3; desempenho.desempenhoMes = 50; desempenho.mes = 3; desempenhos.Add(desempenho); var nova = desempenhos.OrderBy(d1 => d1.CoSeqCategoriaAvaliacao).ThenBy(d1 => d1.mes); int sum = nova.Aggregate(0, (d1, d2) => d2.mes == 3 && d2.CoSeqCategoriaAvaliacao == 3 ? d2.mes : d2.mes); foreach (Desempenho d in nova) { Console.WriteLine(d); } Console.WriteLine(sum); desempenhos.ForEach(p => { p.mes += p.mes + 5; }); foreach (Desempenho p in desempenhos) { var w = p.mes; } List <double> listaFloat = new List <double>(); for (int mes = 1; mes <= 4; mes++) { for (int categoria = 1; categoria <= 3; categoria++) { listaFloat.Add(desempenhos.Where(p => p.CoSeqCategoriaAvaliacao == categoria && p.mes == mes).Sum(p => p.desempenhoMes)); } } for (int mes = 1; mes <= 4; mes++) { for (int categoria = 1; categoria <= 3; categoria++) { listaFloat.Add(desempenhos.Where(p => p.CoSeqCategoriaAvaliacao == categoria && p.mes == mes).Select(p => p.desempenhoMes).DefaultIfEmpty(0).Average()); } } for (int mes = 1; mes <= 4; mes++) { for (int categoria = 1; categoria <= 3; categoria++) { listaFloat.Add(desempenhos.Where(p => p.CoSeqCategoriaAvaliacao == categoria && p.mes == mes).Select(p => p.desempenhoMes).Aggregate(0.0, (x, y) => x + y)); } } foreach (float f in listaFloat) { Console.WriteLine(f); } var r1 = desempenhos.GroupBy(p => p.CoSeqCategoriaAvaliacao); foreach (IGrouping <int, Desempenho> grupo in r1) { Console.WriteLine("Categoria: " + grupo.Key); foreach (Desempenho d1 in grupo) { Console.WriteLine(grupo); } } return(View(await result.ToListAsync())); }