示例#1
0
        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
     });
 }
示例#3
0
 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);
 }
示例#4
0
 public static void Deletar(Sessao sessao)
 {
     AbstractService.Deletar(sessao, "Sessao");
     CCPorSessaoService.DeletarAllBySessaoId(sessao.Id);
 }
示例#5
0
 public static void ObterObjetosFilhos(Sessao sessao)
 {
     sessao.CCs       = CCPorSessaoService.GetAllCCBySessaoId(sessao.Id);
     sessao.Instrucao = InstrucaoService.GetById(sessao.IdInstrucao);
 }