示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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));
        }
示例#4
0
        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();
 }