public void AtribuirPerguntaTest() { PerguntaData p = (PerguntaData) new PerguntaData().AtribuirPergunta(new DTO.PerguntaDTO { CasasDecimais = 0, Deleted = false, Descricao = "Desc", Obrigatorio = true, PatternRegex = @"\w*", PerguntaID = 1, PerguntaCondicionalID = null, PerguntaCondicional = null, Prefixo = "R$", Sufixo = "%", TamanhoMaximo = 8, TipoEntrada = (byte)eTipoEntrada.Data_CaixaDeTexto, TipoPergunta = eTipoPergunta.Texto, TamanhoMaximoBytes = 100, Titulo = "Titulo", UsuarioID = "ADMIN", ValidadorID = (byte)eTipoValidador.Texto_Regex, Opcoes = new List <OpcaoDTO> { new OpcaoDTO { OpcaoID = 1, Descricao = "M" }, new OpcaoDTO { OpcaoID = 2, Descricao = "F" } }, LinhasGrade = new List <DTO.LinhasGradeDTO> { new DTO.LinhasGradeDTO { LinhaID = 1, Descricao = "Nível" }, new DTO.LinhasGradeDTO { LinhaID = 2, Descricao = "SubNível" } } }); Assert.AreEqual("Desc", p.Descricao); Assert.AreEqual("Titulo", p.Titulo); Assert.AreEqual(DateTime.Now.Date, p.ControleAtualizacao.Data.Date); Assert.AreEqual("ADMIN", p.ControleAtualizacao.UsuarioID); Assert.AreEqual((byte)eTipoEntrada.Data_CaixaDeTexto, p.TipoEntradaID); }
public Pergunta CriarPergunta(PerguntaDTO perguntaDTO) { Pergunta pergunta = null; switch (perguntaDTO.TipoPergunta) { case eTipoPergunta.Texto: pergunta = new PerguntaTexto(); break; case eTipoPergunta.Anexo: pergunta = new PerguntaAnexo(); break; case eTipoPergunta.EscolhaUnica: pergunta = new PerguntaEscolhaUnica(); break; case eTipoPergunta.Numero: pergunta = new PerguntaNumero(); break; case eTipoPergunta.Data: pergunta = new PerguntaData(); break; case eTipoPergunta.Grade: pergunta = new PerguntaGradeDeOpcoes(); break; case eTipoPergunta.MultiplaEscolha: pergunta = new PerguntaMultiplaEscolha(); break; default: throw new NotImplementedException(); } pergunta.AtribuirPergunta(perguntaDTO); foreach (var item in perguntaDTO.LeiautePergunta) { pergunta.LeiautePerguntas.Add(CriarLeiautePergunta(item)); } return(pergunta); }
public void ValidarCondicionalTest() { PerguntaData p = (PerguntaData) new PerguntaData().AtribuirPergunta(new DTO.PerguntaDTO { CasasDecimais = 0, Deleted = false, Descricao = "Desc", Obrigatorio = true, PatternRegex = @"\w*", PerguntaID = 1, PerguntaCondicionalID = null, PerguntaCondicional = null, Prefixo = "R$", Sufixo = "%", TamanhoMaximo = 8, TipoEntrada = (byte)eTipoEntrada.Texto_CaixaDeTexto, TipoPergunta = eTipoPergunta.Texto, TamanhoMaximoBytes = 100, Titulo = "Titulo", UsuarioID = "ADMIN", ValidadorID = (byte)eTipoValidador.Texto_Regex, Opcoes = new List <OpcaoDTO> { new OpcaoDTO { OpcaoID = 1, Descricao = "M" }, new OpcaoDTO { OpcaoID = 2, Descricao = "F" } }, LinhasGrade = new List <DTO.LinhasGradeDTO> { new DTO.LinhasGradeDTO { LinhaID = 1, Descricao = "Nível" }, new DTO.LinhasGradeDTO { LinhaID = 2, Descricao = "SubNível" } } }); PerguntaCondicionalData pCondicionalData = (PerguntaCondicionalData) new PerguntaCondicionalData().AtribuirCondicional(new PerguntaCondicionalDTO { OpcoesAtivacao = new List <long> { 1, 2 }, PerguntaCondicionalID = 1, PerguntaID = p.PerguntaID, OperacaoCondicional = (byte)eOperacaoCondicional.Data_Maior, PerguntasGrade = new List <long> { 1, 2, 3 }.ToDictionary(d => d, e => "Opcao_" + e.ToString()), TipoPergunta = eTipoPergunta.Data, ValorAtivacao = DateTime.Now.AddDays(2).Date }, p); Assert.AreEqual(1, pCondicionalData.PerguntaCondicionalID); Assert.AreEqual(eOperacaoCondicional.Data_Maior, pCondicionalData.Operacao); Assert.AreEqual(DateTime.Now.AddDays(2).Date, pCondicionalData.ValorAtivacao); RespostaData resposta = (RespostaData) new RespostaData().AtribuirResposta(new DTO.RespostaDTO { Valor = DateTime.Now.AddDays(1).Date, Extensao = "pdf", NomeArquivo = "Documento", UsuarioID = "admin" }); Assert.AreEqual(false, pCondicionalData.VerificarAtivacaoCondicional(resposta)); pCondicionalData.ValorAtivacao = DateTime.Now.Date; Assert.AreEqual(true, pCondicionalData.VerificarAtivacaoCondicional(resposta)); }
protected PerguntaDTO CriarPerguntaDTO(Perguntas.Pergunta p) { try { PerguntaCondicional pCondicional = p.PerguntaCondicional; eTipoPergunta tipoPergunta = CreateTipoPergunta(p); PerguntaCondicionalDTO perguntaCondicionalDTO = CriarPerguntaCondicionalDTO(p.PerguntaCondicional); PerguntaDTO pergunta = new PerguntaDTO { Descricao = p.Descricao, TipoPergunta = tipoPergunta, Titulo = p.Titulo, PerguntaID = p.PerguntaID, PerguntaCondicionalID = p.PerguntaCondicionalID, PerguntaCondicional = perguntaCondicionalDTO, Obrigatorio = p.Obrigatorio, Deleted = false, TamanhoMaximo = null, //PerguntasGrade = null, //GradeOpcoes = null, Opcoes = null, ValidadorID = null, PatternRegex = null, TipoEntrada = p.TipoEntradaID, LeiautesPergunta = p.LeiautePerguntas.Select(c => new LeiautePerguntaDTO { LeiautePerguntaID = c.LeiautePerguntaID, PerguntaID = c.PerguntaID, LeiautesPerguntaItem = c.LeiauteItem.Select(d => new LeiautePerguntaItemDTO { LeiautePerguntaID = d.LeiautePerguntaID, LeiautePerguntaItemID = d.LeiautePerguntaItemID, TamanhoTela = d.Responsivo, Coluna = d.Tamanho, }).ToList() }).ToList() }; switch (tipoPergunta) { case eTipoPergunta.Texto: PerguntaTexto pTexto = p as PerguntaTexto; pergunta.PatternRegex = pTexto.PatternRegex; pergunta.TamanhoMaximo = pTexto.TamanhoMaximo; pergunta.ValidadorID = (short?)pTexto.TipoValidadorID; pergunta.TipoEntrada = pTexto.TipoEntradaID; break; case eTipoPergunta.EscolhaUnica: case eTipoPergunta.MultiplaEscolha: pergunta.Opcoes = (p as Perguntas.PerguntaComOpcoes).Opcoes.Select(c => new OpcaoDTO { OpcaoID = c.OpcaoID, Descricao = c.Descricao }).ToList(); break; case eTipoPergunta.Grade: PerguntaGradeDeOpcoes pGrade = (p as Perguntas.PerguntaGradeDeOpcoes); pergunta.Opcoes = (p as Perguntas.PerguntaGradeDeOpcoes).Opcoes .Select(c => new OpcaoDTO { OpcaoID = c.OpcaoID, Descricao = c.Descricao }).ToList(); pergunta.LinhasGrade = (p as Perguntas.PerguntaGradeDeOpcoes).Linhas .Select(c => new LinhasGradeDTO { LinhaID = c.LinhaPerguntaGradeID, Descricao = c.Titulo }).ToList(); break; case eTipoPergunta.Anexo: PerguntaAnexo pAnexo = p as PerguntaAnexo; pergunta.TipoEntrada = pAnexo.TipoEntradaID; break; case eTipoPergunta.Numero: PerguntaNumero pNumero = p as PerguntaNumero; pergunta.TipoEntrada = pNumero.TipoEntradaID; pergunta.CasasDecimais = pNumero.CasasDecimais; pergunta.Prefixo = pNumero.Prefixo; pergunta.Sufixo = pNumero.Sufixo; break; case eTipoPergunta.Data: PerguntaData pData = p as PerguntaData; pergunta.TipoEntrada = pData.TipoEntradaID; break; default: throw new NotImplementedException(); } pergunta.TipoEntrada = p.TipoEntradaID; pergunta.ValidadorID = (short?)p.TipoValidadorID; return(pergunta); } catch (Exception) { throw; } }
public PerguntaBusiness() { _perguntaData = new PerguntaData(); }