private async void ApresentarCondicoes(List <Condicao> condicoes) { if (condicoes.Count > 0) { experimentoRealizado.RegistrarEvento(new Evento($"Iniciando apresentação de {condicoes.Count.ToString()} condições", "Intervalo")); foreach (Condicao condicao in condicoes) { taskCondicaoAtual = new TaskCompletionSource <bool>(false); ApresentarCondicao(condicao); await taskCondicaoAtual.Task; experimentoRealizado.RegistrarEvento(new Evento($"Apresentação da condição '{condicao.Nome}' finalizada", "Condição")); } if (timerPontosPassivos != null) { timerPontosPassivos.Stop(); } } else { experimentoRealizado.RegistrarEvento(new Evento($"Não existem condições nesse experimento para serem apresentadas", "Intervalo")); } experimentoRealizado.RegistrarEvento(new Evento($"Fim do experimento!", "Finalização")); ExperimentoRealizadoService.Salvar(experimentoRealizado); new GeradorDeRelatorios(experimentoRealizado).GerarRelatorio(); Close(); }
private void btnSelecionarExperimento_Click(object sender, EventArgs e) { if (listViewExperimento.SelectedItems.Count == 0) { MessageBox.Show("Nenhum Experimento selecionado!", "Advertência"); return; } ExperimentoRealizado experimento = ExperimentoRealizadoService.GetById(ViewHelper.GetIdSelecionadoInListView(listViewExperimento)); new GeradorDeRelatorios(experimento).GerarRelatorio(); MessageBox.Show("Relatório gerado! Nome do arquivo: " + experimento.GetNomeArquivo(), "Sucesso"); }
private void CarregarListaExperimento() { List <ExperimentoRealizado> experimentos = ExperimentoRealizadoService.GetAll(); experimentos.OrderBy(it => it.DataHoraInicio); listViewExperimento.Items.Clear(); listViewExperimento.Items.AddRange(experimentos.Select(it => { var item = new ListViewItem(it.Nome); item.SubItems.Add(it.Id.ToString()); return(item); }).Cast <ListViewItem>().ToArray()); }
private void btnDeletarExperimento_Click(object sender, EventArgs e) { if (listViewExperimento.SelectedItems.Count == 0) { MessageBox.Show("Nenhum Experimento selecionado!", "Advertência"); return; } ExperimentoRealizado experimento = ExperimentoRealizadoService.GetById(ViewHelper.GetIdSelecionadoInListView(listViewExperimento)); ExperimentoRealizadoService.Deletar(experimento); listViewExperimento.Items.Remove(listViewExperimento.SelectedItems[0]); MessageBox.Show("Arquivo de relatório deletado!", "Sucesso"); }
private void GeraRelatorioNovamente(long idExperimentoRealizado) { var experimentoRealizado = ExperimentoRealizadoService.GetById(idExperimentoRealizado); var geradorRelatorio = new GeradorRelatorios(experimentoRealizado); if (geradorRelatorio.ExperimentoJaTemRelatorioNaPasta()) { MessageBox.Show("Esse relatório já está na pasta de relatórios!", "Aviso"); return; } try { geradorRelatorio.GerarRelatorio(); } catch (NullReferenceException) { MessageBox.Show("Esse relatório não pode ser gerado novamente! Provavelmente algo na configuração dele foi deletado.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Stop); return; } MessageBox.Show("Relatório gerado novamente com sucesso!", "Sucesso"); }
private async void IniciarNovoNumero() { string novoNumero; if (experimentoAtual == 1) { novoNumero = experimentoUmRealizado.GeraNumero(); // Iniciamos o experimento 2 if (novoNumero == null) { experimentoAtual++; experimentoDoisRealizado.SetTamanhoSequencia(experimentoUmRealizado.tamanhoMaximoLinhaDeBase); experimentoDoisRealizado.SetTamanhoBlocoTentativas(experimentoUm.TamanhoBlocoTentativas); experimentoDoisRealizado.DateTimeInicio = DateTime.Now; ExperimentoDoisRealizadoService.Salvar(experimentoDoisRealizado); Opacity = 0; RegistrarEvento($"Tela preta para instrução do experimento dois. Opacidade: {Opacity}", true); new TelaMensagem(experimentoDois.InstrucaoInicial, true).ShowDialog(); IniciarNovaFase(); return; } } else { novoNumero = experimentoDoisRealizado.GerarNumero(); // Acabou o experimento if (novoNumero == null) { ExperimentoRealizadoService.Salvar(experimentoRealizado); var geradorRelatorio = new GeradorRelatorios(experimentoRealizado); geradorRelatorio.GerarRelatorio(); Close(); return; } if (experimentoDoisRealizado.faseAtual > 0) { MostrarMensagem(experimentoDoisRealizado.GrauAtual()); } } lblNumero.Font = new Font(lblNumero.Font.Name, tamanhoFonteOriginal, lblNumero.Font.Style); lblNumero.Text = novoNumero; while (TextRenderer.MeasureText(lblNumero.Text, lblNumero.Font).Width >= pnNumero.Size.Width) { var novaFonte = new Font(lblNumero.Font.Name, lblNumero.Font.Size - 1, lblNumero.Font.Style); lblNumero.Font = novaFonte; tbInput.Font = novaFonte; } lblNumero.Location = new Point { Y = (pnNumero.Size.Height - lblNumero.Size.Height) / 2, X = (pnNumero.Size.Width - lblNumero.Size.Width) / 2 }; RegistrarEvento($"Inciando apresentação de um novo número: {novoNumero}"); pnNumero.Visible = true; await FadeIn(this, 1); await Task.Delay(experimentoUm.TempoApresentacaoEstimulo * 1000); pnNumero.Visible = false; if (experimentoAtual == 1 && experimentoUmRealizado.faseAtual == 0) { PreparaParaReceberInput(); } else { SortearPosicaoBotoes(); btnCerteza.Visible = true; btnTalvez.Visible = true; btnCerteza.Enabled = true; btnTalvez.Enabled = true; btnInvisivel.Focus(); } }