コード例 #1
0
        public void AtribuirRespostaTest()
        {
            var resposta = new RespostaNumero
            {
            };


            resposta.AtribuirResposta(new DTO.RespostaDTO
            {
                PerguntaID = 1,
                Valor      = 20,
            });

            Assert.AreEqual(1, resposta.PerguntaID);
            Assert.AreEqual(20, resposta.Valor);
        }
コード例 #2
0
        public Resposta CriarResposta(RespostaDTO respostaDTO, eTipoPergunta tipoPergunta)
        {
            Resposta resposta = null;

            switch (tipoPergunta)
            {
            case eTipoPergunta.Texto:
                resposta = new RespostaTexto();
                break;

            case eTipoPergunta.Anexo:
                resposta = new RespostaAnexo();
                break;

            case eTipoPergunta.EscolhaUnica:
                resposta = new RespostaUnica();
                break;

            case eTipoPergunta.Numero:
                resposta = new RespostaNumero();
                break;

            case eTipoPergunta.Data:
                resposta = new RespostaData();
                break;

            case eTipoPergunta.Grade:
                resposta = new RespostaGrade();
                break;

            case eTipoPergunta.MultiplaEscolha:
                resposta = new RespostaMultipla();
                break;

            default:
                throw new NotImplementedException();
            }

            resposta.AtribuirResposta(respostaDTO);

            return(resposta);
        }
コード例 #3
0
        protected RespostaDTO CriarRespostaDTO(Resposta r)
        {
            try
            {
                RespostaDTO resposta = new RespostaDTO
                {
                    OpcaoID       = null,
                    Opcoes        = null,
                    PerguntaID    = r.PerguntaID,
                    RespostaGrade = null,
                    RespostaID    = r.RespostaID,
                    UsuarioID     = r.ControleAtualizacao.UsuarioID,
                    Valor         = null
                };

                switch (CreateTipoPergunta(r.Pergunta))
                {
                case eTipoPergunta.Texto:
                    RespostaTexto rTexto = r as RespostaTexto;
                    resposta.Valor = rTexto.Valor;
                    break;

                case eTipoPergunta.EscolhaUnica:
                    RespostaUnica rUnica = r as RespostaUnica;
                    resposta.OpcaoID = rUnica.OpcaoEscolhidaID;
                    break;

                case eTipoPergunta.MultiplaEscolha:
                    RespostaMultipla rOpcoes = r as RespostaMultipla;
                    resposta.Opcoes = rOpcoes.OpcoesEscolhida.Select(c => c.OpcaoID).ToList();
                    break;

                case eTipoPergunta.Grade:
                    RespostaGrade rGrade = r as RespostaGrade;
                    resposta.RespostaGrade = rGrade.Respostas.Select(c => new RespostaGradeDTO
                    {
                        LinhaPerguntaGradeID = c.LinhaPerguntaGradeID,
                        OpcaoRespondidaID    = c.OpcaoRespondidaID
                    }).ToList();
                    break;

                case eTipoPergunta.Anexo:
                    RespostaAnexo rAnexo = r as RespostaAnexo;
                    //Lazy to performance
                    resposta.Valor = new { rAnexo.Valor.AnexoID, rAnexo.Valor.Nome, rAnexo.Valor.Extensao };
                    break;

                case eTipoPergunta.Numero:
                    RespostaNumero rNumero = r as RespostaNumero;
                    resposta.Valor = rNumero.Valor;
                    break;

                case eTipoPergunta.Data:
                    RespostaData rData = r as RespostaData;
                    resposta.Valor = rData.Valor;
                    break;

                default:
                    throw new NotImplementedException();
                }

                return(resposta);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #4
0
        public void ValidarTest()
        {
            var resposta = new RespostaNumero
            {
            };

            resposta.AtribuirResposta(new DTO.RespostaDTO
            {
                PerguntaID = 1,
                Valor      = 1,
            });
            resposta.Pergunta = new PerguntaNumero
            {
                Obrigatorio = false
            };


            resposta.Pergunta.Obrigatorio = true;
            Assert.AreEqual(true, resposta.Validar());

            resposta.Valor = null;
            (resposta.Pergunta as PerguntaNumero).Obrigatorio = true;
            Assert.AreEqual(false, resposta.Validar());

            resposta.Valor = 0;
            (resposta.Pergunta as PerguntaNumero).Obrigatorio     = true;
            (resposta.Pergunta as PerguntaNumero).TipoValidadorID = eTipoValidador.Numero_MaiorIgualZero;
            Assert.AreEqual(true, resposta.Validar());

            resposta.Valor = -1;
            (resposta.Pergunta as PerguntaNumero).Obrigatorio     = false;
            (resposta.Pergunta as PerguntaNumero).TipoValidadorID = eTipoValidador.Numero_MaiorIgualZero;
            Assert.AreEqual(false, resposta.Validar());

            resposta.Valor = 1;
            (resposta.Pergunta as PerguntaNumero).Obrigatorio     = true;
            (resposta.Pergunta as PerguntaNumero).TipoValidadorID = eTipoValidador.Numero_MaiorZero;
            Assert.AreEqual(true, resposta.Validar());

            resposta.Valor = 0;
            (resposta.Pergunta as PerguntaNumero).Obrigatorio     = true;
            (resposta.Pergunta as PerguntaNumero).TipoValidadorID = eTipoValidador.Numero_MaiorZero;
            Assert.AreEqual(false, resposta.Validar());

            resposta.Valor = -1;
            (resposta.Pergunta as PerguntaNumero).Obrigatorio     = true;
            (resposta.Pergunta as PerguntaNumero).TipoValidadorID = eTipoValidador.Numero_MenorZero;
            Assert.AreEqual(true, resposta.Validar());

            resposta.Valor = 0;
            (resposta.Pergunta as PerguntaNumero).Obrigatorio     = true;
            (resposta.Pergunta as PerguntaNumero).TipoValidadorID = eTipoValidador.Numero_MenorZero;
            Assert.AreEqual(false, resposta.Validar());

            resposta.Valor = 0;
            (resposta.Pergunta as PerguntaNumero).Obrigatorio     = true;
            (resposta.Pergunta as PerguntaNumero).TipoValidadorID = eTipoValidador.Numero_MenorIgualZero;
            Assert.AreEqual(true, resposta.Validar());

            resposta.Valor = 1;
            (resposta.Pergunta as PerguntaNumero).Obrigatorio     = true;
            (resposta.Pergunta as PerguntaNumero).TipoValidadorID = eTipoValidador.Numero_MenorIgualZero;
            Assert.AreEqual(false, resposta.Validar());
        }
コード例 #5
0
        public void ValidarCondicionalTest()
        {
            PerguntaNumero p = (PerguntaNumero) new PerguntaNumero().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"
                    }
                }
            });

            PerguntaCondicionalNumero pCondicionalNumero = (PerguntaCondicionalNumero) new PerguntaCondicionalNumero().AtribuirCondicional(new PerguntaCondicionalDTO
            {
                OpcoesAtivacao = new List <long> {
                    1, 2
                },
                PerguntaCondicionalID = 1,
                PerguntaID            = p.PerguntaID,
                OperacaoCondicional   = (byte)eOperacaoCondicional.Numero_Maior,
                PerguntasGrade        = new List <long> {
                    1, 2, 3
                }.ToDictionary(d => d, e => "Opcao_" + e.ToString()),
                TipoPergunta  = eTipoPergunta.Numero,
                ValorAtivacao = 1.23
            }, p);

            Assert.AreEqual(1, pCondicionalNumero.PerguntaCondicionalID);
            Assert.AreEqual(eOperacaoCondicional.Numero_Maior, pCondicionalNumero.Operacao);
            Assert.AreEqual(1.23M, pCondicionalNumero.ValorAtivacao);

            RespostaNumero resposta = (RespostaNumero) new RespostaNumero().AtribuirResposta(new DTO.RespostaDTO
            {
                Valor       = 1.24,
                Extensao    = "pdf",
                NomeArquivo = "Documento",
                UsuarioID   = "admin"
            });

            Assert.AreEqual(true, pCondicionalNumero.VerificarAtivacaoCondicional(resposta));

            pCondicionalNumero.ValorAtivacao = 1000;
            Assert.AreEqual(false, pCondicionalNumero.VerificarAtivacaoCondicional(resposta));
        }