public static void GeraRelatorio(RelatorioSessao relatorioSessao) { CreateDirectoryIfNotExists(); StringBuilder relatorio = new StringBuilder(); relatorio.Append(GetCabecalhoExperimento(relatorioSessao)); relatorio.Append(GetInformacoesExperimentador(relatorioSessao.Experimentador)); relatorio.Append(GetInformacoesParticipante(relatorioSessao.Participante)); List <long> sessoesIds = relatorioSessao.IdSessoesSelecionadas; List <ContingenciaColateral> contingeciasColaterais = new List <ContingenciaColateral>(); foreach (long sessaoId in sessoesIds) { contingeciasColaterais.AddRange(CCPorSessaoService.GetAllCCBySessaoId(sessaoId)); } HashSet <ContingenciaColateral> contingenciasColateraisDoExperimento = new HashSet <ContingenciaColateral>(contingeciasColaterais); List <ContingenciaInstrucional> contingeciasInstrucionais = new List <ContingenciaInstrucional>(); foreach (ContingenciaColateral contingenciaColateral in contingenciasColateraisDoExperimento) { if (contingenciaColateral.CI != null) { contingeciasInstrucionais.Add(contingenciaColateral.CI); } } if (contingeciasInstrucionais.Count > 0) { HashSet <ContingenciaInstrucional> contingeciasInstrucionaisDoExperimento = new HashSet <ContingenciaInstrucional>(contingeciasInstrucionais); relatorio.Append(GetInformacoesCIs(contingeciasInstrucionaisDoExperimento)); } relatorio.Append(GetInformacoesCCs(contingenciasColateraisDoExperimento)); relatorio.Append(GetInformacoeSessoes(SessaoService.GetAllByIds(sessoesIds))); relatorio.Append(GetInformacoesEventos(relatorioSessao)); File.WriteAllText(GetPath(relatorioSessao.GetNomeArquivo()) + ".txt", relatorio.ToString()); }
public static void Deletar(ContingenciaColateral CC) { CCPorSessaoService.DeletarAllByCCId(CC.Id); AbstractService.Deletar(CC, "ContingenciaColateral"); UnidadeDoExperimentoService.DeletarAll(new List <UnidadeDoExperimento>() { CC.sModelo, CC.SC1, CC.SC2, CC.SC3 }); }
public static void Salvar(Sessao sessao) { if (sessao.CriterioNumeroTentativas == 0 && sessao.CriterioAcertosConcecutivos == 0 && sessao.CriterioDuracaoSegundos == 0) { throw new Exception("Uma sessão não pode ser criada sem possuir ao menos um critério de encerramento."); } if (sessao.CCs.Count == 0) { throw new Exception("Uma sessão deve possuir pelo menos um MTS"); } AbstractService.Salvar(sessao, "Sessao", "INSERT INTO Sessao (Nome, OrdemAleatoria, CriterioNumeroTentativas, CriterioDuracaoSegundos, CriterioAcertosConcecutivos, IdInstrucao) VALUES (@Nome, @OrdemAleatoria, @CriterioNumeroTentativas, @CriterioDuracaoSegundos, @CriterioAcertosConcecutivos, @IdInstrucao); SELECT CAST(last_insert_rowid() as int)", "UPDATE Sessao SET Nome = @Nome, OrdemAleatoria = @OrdemAleatoria, CriterioNumeroTentativas = @CriterioNumeroTentativas, CriterioDuracaoSegundos = @CriterioDuracaoSegundos, CriterioAcertosConcecutivos = @CriterioAcertosConcecutivos IdInstrucao = @IdInstrucao WHERE Id = @Id"); CCPorSessaoService.SalvarAll(sessao.Id, sessao.CCs); }
public static void Deletar(Sessao sessao) { AbstractService.Deletar(sessao, "Sessao"); CCPorSessaoService.DeletarAllBySessaoId(sessao.Id); }
public static void ObterObjetosFilhos(Sessao sessao) { sessao.CCs = CCPorSessaoService.GetAllCCBySessaoId(sessao.Id); sessao.Instrucao = InstrucaoService.GetById(sessao.IdInstrucao); }