public IHttpActionResult GetPergunta(int id, [FromUri] int idRodada) { Pergunta pergunta = db.Perguntas.Find(id, idRodada); List <RespostaVM> listRespostas = new List <RespostaVM>(); if (pergunta == null) { return(NotFound()); } PerguntaVM perguntavm = new PerguntaVM() { IdPergunta = pergunta.IdPergunta, Rodada = pergunta.Rodada, Pergunta = pergunta.Pergunta1, Premio = pergunta.Premio }; perguntavm.Respostas = getRespostas(pergunta.Respostas, id, idRodada); return(Ok(perguntavm)); }
// GET: api/Perguntas public List <PerguntaVM> GetPerguntas() { IQueryable <Pergunta> perguntas = db.Perguntas; List <PerguntaVM> listPerguntas = new List <PerguntaVM>(); List <RespostaVM> listRespostas = new List <RespostaVM>(); foreach (var item in perguntas) { PerguntaVM pergunta = new PerguntaVM() { IdPergunta = item.IdPergunta, Rodada = item.Rodada, Pergunta = item.Pergunta1, Premio = item.Premio }; pergunta.Respostas = getRespostas(item.Respostas, pergunta.IdPergunta, item.Rodada); listPerguntas.Add(pergunta); } return(listPerguntas); }
public ActionResult Index(int solicitacaoID) { try { //TODO: Nelson Neto - RETIRAR OS COMENTÁRIOS //int idSolicitacao = 124; int solicitacaoTipoID = 1; int papelID = 1; var contratanteID = (int)Geral.PegaAuthTicket("ContratanteId"); ViewBag.Fluxo = solicitacaoTipoID; ViewBag.Bancos = _bancoBP.ListarTodosPorNome(); #region Ficha Cadastral FichaCadastralWebForLinkVM modelo = new FichaCadastralWebForLinkVM { DadosBancarios = new List <DadosBancariosVM>(), DadosContatos = new List <DadosContatoVM>(), SolicitacaoFornecedor = new SolicitacaoFornecedorVM { Documentos = new List <SolicitacaoDocumentosVM>() }, Aprovacao = new AprovacaoVM(), Solicitacao = new SolicitacaoVM { Fluxo = new FluxoVM() }, DadosBloqueio = new DadosBloqueioVM(), FornecedorRobo = new FornecedorRoboVM(), FornecedoresUnspsc = new List <FornecedorUnspscVM>() }; #region BPs SOLICITACAO solicitacao = _solicitacaoService.BuscarPorSolicitacaoId(solicitacaoID); if (solicitacao == null) { throw new Exception(string.Format("Solicitação com id {0} inexistente.", solicitacaoID)); } SolicitacaoCadastroFornecedor cadastroPJPF = solicitacao.SolicitacaoCadastroFornecedor.FirstOrDefault(); List <SolicitacaoModificacaoDadosBancario> cadastroBanco = solicitacao.SolicitacaoModificacaoDadosBancario.ToList(); List <SolicitacaoModificacaoDadosContato> cadastroContatos = solicitacao.SolicitacaoModificacaoDadosContato.ToList(); #endregion FichaCadastralWebForLinkVM fichaCadastralVM = new FichaCadastralWebForLinkVM() { ID = solicitacao.ID, ContratanteID = solicitacao.CONTRATANTE_ID, ContratanteFornecedorID = 0, NomeEmpresa = cadastroPJPF != null ? cadastroPJPF.RAZAO_SOCIAL : string.Empty, RazaoSocial = cadastroPJPF.RAZAO_SOCIAL, NomeFantasia = cadastroPJPF.NOME_FANTASIA, //CNAE = cadastroPJPF.CNAE, CNPJ_CPF = cadastroPJPF.CNPJ ?? cadastroPJPF.CPF, InscricaoEstadual = cadastroPJPF.INSCR_ESTADUAL, InscricaoMunicipal = cadastroPJPF.INSCR_MUNICIPAL, TipoLogradouro = cadastroPJPF.TP_LOGRADOURO, Endereco = cadastroPJPF.ENDERECO, Numero = cadastroPJPF.NUMERO, Complemento = cadastroPJPF.COMPLEMENTO, Cep = cadastroPJPF.CEP, Bairro = cadastroPJPF.BAIRRO, Cidade = cadastroPJPF.CIDADE, Estado = cadastroPJPF.UF, Pais = cadastroPJPF.PAIS, Observacao = cadastroPJPF.OBSERVACAO, TipoFornecedor = cadastroPJPF.PJPF_TIPO, DadosBancarios = cadastroBanco.Select(x => new DadosBancariosVM() { Agencia = x.AGENCIA, Digito = x.AG_DV, Banco = x.BANCO_ID, ContaCorrente = x.CONTA, ContaCorrenteDigito = x.CONTA_DV, NomeBanco = x.T_BANCO.BANCO_NM, }).ToList(), DadosContatos = cadastroContatos.Select(x => new DadosContatoVM() { Celular = x.CELULAR, ContatoID = x.CONTATO_PJPF_ID ?? 0, EmailContato = x.EMAIL, NomeContato = x.NOME, Telefone = x.TELEFONE }).ToList() }; #endregion List <QUESTIONARIO> questionarioList = _cadastroUnicoBP.BuscarPorIdContratante(contratanteID); foreach (QUESTIONARIO questionario in questionarioList) { List <QUESTIONARIO_ABA> abasQuestionario = questionario .QIC_QUEST_ABA .OrderBy(x => x.ORDEM) .ToList(); List <AbaVM> questionarioAbas = new List <AbaVM>(); foreach (QUESTIONARIO_ABA aba in abasQuestionario) { List <QUESTIONARIO_PERGUNTA> perguntasAba = aba .QIC_QUEST_ABA_PERG .OrderBy(x => x.ORDEM) .ToList(); List <PerguntaVM> abaPerguntas = new List <PerguntaVM>(); foreach (QUESTIONARIO_PERGUNTA pergunta in perguntasAba) { QUESTIONARIO_PAPEL papelPergunta = pergunta .QIC_QUEST_ABA_PERG_PAPEL .FirstOrDefault(x => x.PAPEL_ID == papelID); WFD_INFORM_COMPL resposta = pergunta .WFD_INFORM_COMPL .FirstOrDefault(x => x.PERG_ID == pergunta.ID); if (papelPergunta.LEITURA) { PerguntaVM perguntaVM = Mapper.Map <PerguntaVM>(pergunta); Mapper.Map <PerguntaVM>(papelPergunta); if (pergunta.TP_DADO == "DOMINIO" && pergunta.DOMINIO == true) { perguntaVM.DominioList = Mapper.Map <List <QUESTIONARIO_RESPOSTA>, List <SelectListItem> >(pergunta .QIC_QUEST_ABA_PERG_RESP .OrderBy(x => x.ORDEM).ToList()); perguntaVM.DominioList.Insert(0, new SelectListItem() { Value = "0", Text = "--Selecione", Selected = true }); perguntaVM.DominioListId = !string.IsNullOrEmpty(perguntaVM.Resposta) ? int.Parse(perguntaVM.Resposta) : 0; } if (pergunta.PERG_PAI != null) { int pergPai = pergunta.PERG_PAI ?? 0; WFD_INFORM_COMPL informaCompl = _informacaoComplementarBP.BuscarPorPerguntaId(pergPai); //TODO: Validar LEITURA ///Validar se pode ser desbloqueado por resposta do pai /// pelo papel /// pela resposta anterior perguntaVM.Leitura = informaCompl != null; perguntaVM.PaiRespondido = informaCompl != null ? informaCompl.PERG_ID : 0; } //perguntaVM.Leitura = papelPergunta. abaPerguntas.Add(perguntaVM); } } //Mapear Lista de aba com Modelo de aba AbaVM abaModelo = Mapper.Map <QUESTIONARIO_ABA, AbaVM>(aba); abaModelo.PerguntaList = abaPerguntas; questionarioAbas.Add(abaModelo); } //Mapear Lista de Questionários com Modelo de Questionários QuestionarioVM questionarioModelo = Mapper.Map <QUESTIONARIO, QuestionarioVM>(questionario); questionarioModelo.AbaList = questionarioAbas; fichaCadastralVM.Questionarios.QuestionarioDinamicoList.Add(questionarioModelo); } return(View(fichaCadastralVM)); } catch (Exception ex) { Log.Error(ex); ViewBag.Message = ex.Message; return(View(new FichaCadastralWebForLinkVM())); } }