protected PerguntaCondicionalDTO CriarPerguntaCondicionalDTO(PerguntaCondicional pCondicional) { if (pCondicional == null) { return(null); } eTipoPergunta tipoPerguntaCondicional = ( pCondicional is PerguntaCondicionalData ? eTipoPergunta.Texto : pCondicional is PerguntaCondicionalAnexo ? eTipoPergunta.Anexo : pCondicional is PerguntaCondicionalUnica ? eTipoPergunta.EscolhaUnica : pCondicional is PerguntaCondicionalMultipla ? eTipoPergunta.MultiplaEscolha : pCondicional is PerguntaCondicionalNumero ? eTipoPergunta.Numero : pCondicional is PerguntaCondicionalData ? eTipoPergunta.Data : new eTipoPergunta?()).Value; PerguntaCondicionalDTO perguntaCondicionalDTO = new PerguntaCondicionalDTO(); switch (tipoPerguntaCondicional) { case eTipoPergunta.Texto: perguntaCondicionalDTO.ValorAtivacao = (pCondicional as PerguntaCondicionalTexto).ValorAtivacao; perguntaCondicionalDTO.OperacaoCondicional = (short)(pCondicional as PerguntaCondicionalTexto).Operacao; break; case eTipoPergunta.Numero: perguntaCondicionalDTO.ValorAtivacao = (pCondicional as PerguntaCondicionalNumero).ValorAtivacao; perguntaCondicionalDTO.OperacaoCondicional = (short)(pCondicional as PerguntaCondicionalNumero).Operacao; break; case eTipoPergunta.Data: perguntaCondicionalDTO.ValorAtivacao = (pCondicional as PerguntaCondicionalData).ValorAtivacao; perguntaCondicionalDTO.OperacaoCondicional = (short)(pCondicional as PerguntaCondicionalData).Operacao; break; case eTipoPergunta.Anexo: perguntaCondicionalDTO.ValorAtivacao = (pCondicional as PerguntaCondicionalAnexo).ValorAtivacao; perguntaCondicionalDTO.OperacaoCondicional = (short)(pCondicional as PerguntaCondicionalAnexo).Operacao; break; case eTipoPergunta.EscolhaUnica: perguntaCondicionalDTO.ValorAtivacao = (pCondicional as PerguntaCondicionalUnica).OpcaoAtivacao.OpcaoID; perguntaCondicionalDTO.OperacaoCondicional = (short)(pCondicional as PerguntaCondicionalUnica).Operacao; break; case eTipoPergunta.MultiplaEscolha: perguntaCondicionalDTO.OpcoesAtivacao = (pCondicional as PerguntaCondicionalMultipla).OpcoesAtivacao.Select(c => c.OpcaoID).ToList(); perguntaCondicionalDTO.OperacaoCondicional = (short)(pCondicional as PerguntaCondicionalMultipla).Operacao; break; case eTipoPergunta.Grade: perguntaCondicionalDTO.OpcoesAtivacao = (pCondicional as PerguntaCondicionalGrade).OpcoesAtivacao.Select(c => c.OpcaoID).ToList(); perguntaCondicionalDTO.OperacaoCondicional = (short)(pCondicional as PerguntaCondicionalGrade).Operacao; perguntaCondicionalDTO.PerguntasGrade = ((pCondicional as PerguntaCondicionalGrade).Pergunta as PerguntaGradeDeOpcoes).Opcoes.ToDictionary(c => c.OpcaoID, d => d.Descricao); break; } perguntaCondicionalDTO.PerguntaID = pCondicional.PerguntaID; perguntaCondicionalDTO.TipoPergunta = tipoPerguntaCondicional; return(perguntaCondicionalDTO); }
protected eTipoPergunta CreateTipoPergunta(Pergunta p) { eTipoPergunta tipoPergunta = ( p is PerguntaTexto ? eTipoPergunta.Texto : p is PerguntaAnexo ? eTipoPergunta.Anexo : p is PerguntaEscolhaUnica ? eTipoPergunta.EscolhaUnica : p is PerguntaMultiplaEscolha ? eTipoPergunta.MultiplaEscolha : p is PerguntaNumero ? eTipoPergunta.Numero : p is PerguntaGradeDeOpcoes ? eTipoPergunta.Grade : p is PerguntaData ? eTipoPergunta.Data : new eTipoPergunta?()).Value; return(tipoPergunta); }
protected Resposta CriarResposta(RespostaDTO respostaDTO, eTipoPergunta tipoPergunta) { Resposta resposta = null; switch (tipoPergunta) { case eTipoPergunta.Texto: resposta = CreateInstance <RespostaTexto>(); break; case eTipoPergunta.Anexo: resposta = CreateInstance <RespostaAnexo>(); break; case eTipoPergunta.EscolhaUnica: resposta = CreateInstance <RespostaUnica>(); break; case eTipoPergunta.Numero: resposta = CreateInstance <RespostaNumero>(); break; case eTipoPergunta.Data: resposta = CreateInstance <RespostaData>(); break; case eTipoPergunta.Grade: resposta = CreateInstance <RespostaGrade>(); break; case eTipoPergunta.MultiplaEscolha: resposta = CreateInstance <RespostaMultipla>(); break; default: throw new NotImplementedException(); } try { resposta.AtribuirResposta(respostaDTO); } catch (Exception) { throw; } return(resposta); }
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); }
public TipoPergunta(eTipoPergunta tipo) { this.TipoPerguntaID = (byte)tipo; this.Descricao = tipo.GetEnumDescription(); }
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 TipoPerguntaAttribute(eTipoPergunta tipo) { this.TipoPergunta = tipo; }