Example #1
0
        public Questionario DuplicarQuestionario(Questionario questionarioOriginal, bool salvar = true)
        {
            var questionario = questionarioOriginal.NovoQuestionario(questionarioOriginal);

            if (questionario == null)
            {
                return(null);
            }

            var novoQuestionario = new Questionario
            {
                TipoQuestionario = questionario.TipoQuestionario,
                Nome             = questionario.Nome + " - V2",
                PrazoMinutos     = questionario.PrazoMinutos,
                QtdQuestoesProva = questionario.QtdQuestoesProva,
                TextoEnunciado   = questionario.TextoEnunciado
            };

            novoQuestionario.TipoQuestionario = questionario.TipoQuestionario;
            novoQuestionario.Nome             = questionario.Nome;
            novoQuestionario.Descricao        = questionario.Descricao;

            foreach (var itemQuestionario in questionario.ListaItemQuestionario.ToList())
            {
                var novoItemQuestionario = new ItemQuestionario
                {
                    Questionario           = novoQuestionario,
                    InAvaliaProfessor      = itemQuestionario.InAvaliaProfessor,
                    TipoItemQuestionario   = itemQuestionario.TipoItemQuestionario,
                    EstiloItemQuestionario = itemQuestionario.EstiloItemQuestionario,
                    Feedback     = itemQuestionario.Feedback,
                    NomeGabarito = itemQuestionario.NomeGabarito,
                    Questao      = itemQuestionario.Questao,
                    Comentario   = itemQuestionario.Comentario,
                    ValorQuestao = itemQuestionario.ValorQuestao
                };

                foreach (var opcao in itemQuestionario.ListaItemQuestionarioOpcoes.ToList())
                {
                    var novoItemQuestionarioOpcao = new ItemQuestionarioOpcoes
                    {
                        ItemQuestionario = novoItemQuestionario,
                        Nome             = opcao.Nome,
                        RespostaCorreta  = opcao.RespostaCorreta,
                        TipoDiagnostico  = opcao.TipoDiagnostico
                    };

                    novoItemQuestionario.ListaItemQuestionarioOpcoes.Add(novoItemQuestionarioOpcao);
                }

                novoQuestionario.ListaItemQuestionario.Add(novoItemQuestionario);
            }

            foreach (var permissao in questionario.ListaQuestionarioPermissao)
            {
                var novaPermissao = new QuestionarioPermissao
                {
                    Descricao        = permissao.Descricao,
                    FormaAquisicao   = permissao.FormaAquisicao,
                    NivelOcupacional = permissao.NivelOcupacional,
                    Nome             = permissao.Nome,
                    Perfil           = permissao.Perfil,
                    Questionario     = novoQuestionario,
                    Uf = permissao.Uf
                };

                novoQuestionario.ListaQuestionarioPermissao.Add(novaPermissao);
            }

            novoQuestionario.Uf = questionarioOriginal.Uf;

            if (salvar)
            {
                Salvar(novoQuestionario);
            }

            return(novoQuestionario);
        }
Example #2
0
 public void Salvar(QuestionarioPermissao qp)
 {
     repositorio.Salvar(qp);
 }