public void DeveRetornarUmaNovaInstaciaDeQuestionarioComNomeETipoQuestionario() { var questionario = new Questionario(); questionario.Nome = "Question 01"; questionario.TipoQuestionario = new TipoQuestionario(); var newQuestionario = questionario.NovoQuestionario(questionario); Assert.That(Object.ReferenceEquals(newQuestionario, questionario), "Não deve Ser a Mesma Referencia"); Assert.True(newQuestionario.Nome == questionario.Nome); Assert.True(newQuestionario.TipoQuestionario == questionario.TipoQuestionario); }
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); }