Пример #1
0
        public override void GerarArquivo(Teste teste, string caminho, int tipo)
        {
            ITesteRepositorio testeRepositorio = base.Repositorio as ITesteRepositorio;

            XML xml = new XML();
            CSV csv = new CSV();

            if (teste == null)
            {
                IList <Teste> ListaTeste = new List <Teste>();
                ListaTeste = testeRepositorio.BuscarTodos();

                foreach (var item in ListaTeste)
                {
                    item.Questoes = BuscarQuestoes(item);
                    foreach (var itemQuestao in item.Questoes)
                    {
                        itemQuestao.Respostas = BuscarRespostas(itemQuestao);
                    }
                }

                if (tipo == 2)
                {
                    csv.GeraCSV(caminho, ListaTeste);
                }
                else if (tipo == 3)
                {
                    xml.GeraXml(caminho, ListaTeste);
                }
            }
            else
            {
                teste.Questoes = BuscarQuestoes(teste);
                foreach (var itemQuestao in teste.Questoes)
                {
                    itemQuestao.Respostas = BuscarRespostas(itemQuestao);
                }

                if (tipo == 2)
                {
                    csv.GeraCSVPorItem(teste, caminho);
                }
                else if (tipo == 3)
                {
                    xml.GeraItemXML(caminho, teste);
                }
                else
                if (!CriarPDFTeste(teste))
                {
                    throw new Exception("Não foi possível criar o PDF no caminho especificado. Verifique se o arquivo está sendo utilizado ou não existe");
                }
            }
        }
Пример #2
0
 public IList <Teste> CarregarPorNome(string nome)
 {
     try
     {
         ITesteRepositorio testeRepositorio = base.Repositorio as ITesteRepositorio;
         return(testeRepositorio.ConsultarPorNome(nome));
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Пример #3
0
        public override IList <Teste> Pesquisar(string pesquisa)
        {
            ITesteRepositorio testeRepositorio = base.Repositorio as ITesteRepositorio;

            try
            {
                return(testeRepositorio.PesquisarTeste(pesquisa));
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Пример #4
0
 public void ValidarExistenciaNome(string nome, int id)
 {
     try
     {
         ITesteRepositorio testeRepositorio = base.Repositorio as ITesteRepositorio;
         IList <Teste>     questoes         = testeRepositorio.ConsultarPorNomeEId(nome, id);
         if (questoes.Count > 0)
         {
             throw new ValidacaoException("Esta resposta já foi cadastrada.");
         }
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Пример #5
0
        public override Teste Atualizar(Teste teste)
        {
            try
            {
                ITesteRepositorio testeRepositorio = base.Repositorio as ITesteRepositorio;
                teste.Validar();

                IList <Questao> questoesFiltradas = ListaFiltradaDesordenada(teste);

                testeRepositorio.ExcluirQuestoes(teste.Id);

                if (questoesFiltradas.Count >= teste.NumeroQuestoes)
                {
                    //se a quantidade de questões filtradas for maior ou igual a número de questões inseridas, adicione teste, questões de testes e gere pdf
                    teste          = Repositorio.Atualizar(teste);
                    teste.Questoes = questoesFiltradas;

                    foreach (var questao in questoesFiltradas)
                    {
                        testeRepositorio.AdicionarQuestoes(questao, teste);
                    }

                    if (!CriarPDFTeste(teste))
                    {
                        throw new Exception("Não foi possível criar o PDF no caminho especificado. Verifique se o arquivo está sendo utilizado ou não existe");
                    }
                }
                else
                {
                    throw new Exception("Quantidade de questões superior ao número de questões cadastradas para este Teste");
                }

                return(teste);
            }
            catch (DuplicadaException e)
            {
                throw new DuplicadaException(e.Message);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Пример #6
0
 public TesteProcesso(ITesteRepositorio testeRepositorio)
 {
     _testeRepositorio = testeRepositorio;
 }
Пример #7
0
 public TesteController(ITesteRepositorio testeRepositoriio)
 {
     _testeRepositoriio = testeRepositoriio;
 }