public override void AtribuirResposta(RespostaDTO resposta) { base.AtribuirResposta(resposta); if (resposta.RespostaGrade != null) { foreach (var item in resposta.RespostaGrade) { var itemRespondido = Respostas.SingleOrDefault(d => d.LinhaPerguntaGradeID == item.LinhaPerguntaGradeID); if (itemRespondido == null) { itemRespondido = new RespostaLinhaPerguntaGrade { LinhaPerguntaGradeID = item.LinhaPerguntaGradeID, OpcaoRespondidaID = item.OpcaoRespondidaID }; Respostas.Add(itemRespondido); } else { itemRespondido.OpcaoRespondidaID = item.OpcaoRespondidaID; itemRespondido.LinhaPerguntaGradeID = item.LinhaPerguntaGradeID; } } } ControleAtualizacao = ControleUsuario.Criar(resposta.UsuarioID); }
public async Task <IActionResult> PutFaqtb004Sessao([FromBody] RespostaDTO resposta) { ListaConversaDTO lsResposta = new ListaConversaDTO(); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Faqtb004Sessao faqtb004Sessao = _context.Faqtb004Sessao .Include(s => s.Faqtb006Envio) .Where(s => s.NuSessao == resposta.nuSessao) .FirstOrDefault() ; int nuUltimaConversa = faqtb004Sessao .Faqtb006Envio .OrderByDescending(e => e.DhEnvio) .FirstOrDefault().NuConversa; Faqtb002Conversa ultima = _context.Faqtb002Conversa .Include(c => c.Faqtb003RegraNuConversaAnteriorNavigation) .Include(c => c.IcTipoConversaNavigation) .Where(c => c.NuConversa == nuUltimaConversa) .FirstOrDefault() ; Faqtb005Resposta faqtb005Resposta = new Faqtb005Resposta(resposta.deResposta, ultima, resposta.nuSessao); _context.Faqtb005Resposta.Add(faqtb005Resposta); await _context.SaveChangesAsync(); MotorConversa(lsResposta, faqtb004Sessao, ultima); await _context.SaveChangesAsync(); lsResposta.nuSessao = faqtb004Sessao.NuSessao; return(Ok(lsResposta)); }
public override void AtribuirResposta(RespostaDTO resposta) { base.AtribuirResposta(resposta); if (resposta.Valor != null) { Convert.ToDecimal(resposta.Valor); } }
public override void AtribuirResposta(RespostaDTO resposta) { base.AtribuirResposta(resposta); if (resposta.Valor != null) { Valor = Convert.ToDateTime(resposta.Valor); } }
public override void AtribuirResposta(RespostaDTO resposta) { base.AtribuirResposta(resposta); if (resposta.Valor != null) { Valor = resposta.Valor.ToString(); } }
public override void AtribuirResposta(RespostaDTO resposta) { base.AtribuirResposta(resposta); if (resposta.OpcaoID != null && resposta.OpcaoID.HasValue) { OpcaoEscolhidaID = resposta.OpcaoID.Value; } }
private RespostaDTO CriaRespostaSemPreenchimento(int totalDeAlunos, int quantidadeTotalRespostasPergunta) { var respostaSemPreenchimento = new RespostaDTO(); respostaSemPreenchimento.Nome = "Sem preenchimento"; respostaSemPreenchimento.quantidade = totalDeAlunos - quantidadeTotalRespostasPergunta; respostaSemPreenchimento.porcentagem = (respostaSemPreenchimento.quantidade > 0 ? (respostaSemPreenchimento.quantidade * 100) / (Double)totalDeAlunos : 0).ToString("0.00"); respostaSemPreenchimento.porcentagem = respostaSemPreenchimento.porcentagem; return(respostaSemPreenchimento); }
public override Resposta AtribuirResposta(RespostaDTO resposta) { base.AtribuirResposta(resposta); if (resposta.Valor != null) { Valor = Convert.ToDecimal(resposta.Valor); } return(this); }
public override Resposta AtribuirResposta(RespostaDTO resposta) { base.AtribuirResposta(resposta); if (resposta.Valor != null) { Valor = resposta.Valor.ToString(); } return(this); }
public override void AtribuirResposta(RespostaDTO resposta) { base.AtribuirResposta(resposta); OpcoesEscolhida.Clear(); OpcoesEscolhida = resposta.Opcoes.Select(c => new OpcaoRespondida { OpcaoID = c, RespostaID = resposta.RespostaID, ControleAtualizacao = ControleUsuario.Criar(resposta.UsuarioID) }).ToList(); }
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); }
private void CalculaPercentualRespostas(int totalDeAlunos, PerguntaDTO pergunta, List <PerguntasRespostasDTO> listaPr, int totalRespostas) { foreach (var item in listaPr) { var resposta = new RespostaDTO(); resposta.Nome = item.RespostaDescricao; resposta.quantidade = item.QtdRespostas; resposta.porcentagem = (item.QtdRespostas > 0 ? (item.QtdRespostas * 100) / (Double)totalDeAlunos : 0).ToString("0.00"); pergunta.Respostas.Add(resposta); } var respostaSempreenchimento = CriaRespostaSemPreenchimento(totalDeAlunos, totalRespostas); pergunta.Respostas.Add(respostaSempreenchimento); }
private List <OrdemDTO> RetornaRelatorioPorOrdens(int totalDeAlunos, List <IGrouping <string, OrdemPerguntaRespostaDTO> > relatorioAgrupado) { var ListaOrdens = new List <OrdemDTO>(); relatorioAgrupado.ForEach(ordemItem => { var ordem = new OrdemDTO(); ordem.Ordem = ordemItem.Where(y => y.OrdermId == ordemItem.Key).First().Ordem; ordem.Perguntas = new List <PerguntaDTO>(); var relatorioAgrupadoPergunta = ordemItem.GroupBy(x => x.PerguntaId); relatorioAgrupadoPergunta.ForEach(x => { var pergunta = new PerguntaDTO(); pergunta.Nome = x.Where(y => y.PerguntaId == x.Key).First().PerguntaDescricao; pergunta.Total = new TotalDTO() { Quantidade = totalDeAlunos, }; pergunta.Total.Porcentagem = (pergunta.Total.Quantidade > 0 ? (pergunta.Total.Quantidade * 100) / (Double)totalDeAlunos : 0).ToString("0.00"); pergunta.Respostas = new List <RespostaDTO>(); var totalRespostas = x.Where(y => y.PerguntaId == x.Key).Sum(q => q.QtdRespostas); var listaPr = x.Where(y => y.PerguntaId == x.Key).ToList(); foreach (var item in listaPr) { var resposta = new RespostaDTO(); resposta.Nome = item.RespostaDescricao; resposta.quantidade = item.QtdRespostas; resposta.porcentagem = (item.QtdRespostas > 0 ? (item.QtdRespostas * 100) / (Double)totalDeAlunos : 0).ToString("0.00"); pergunta.Respostas.Add(resposta); } var respostaSempreenchimento = CriaRespostaSemPreenchimento(totalDeAlunos, totalRespostas); pergunta.Respostas.Add(respostaSempreenchimento); ordem.Perguntas.Add(pergunta); }); ListaOrdens.Add(ordem); }); return(ListaOrdens); }
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 override void AtribuirResposta(RespostaDTO resposta) { Valor = new Respostas.RespostaAnexoContent { AnexoID = 0, Checksum = null, Conteudo = Convert.FromBase64String((resposta.Valor ?? "").ToString()), Extensao = resposta.Extensao, Nome = resposta.NomeArquivo, //Resposta = null, //RespostaID = resposta.RespostaID, UniqueIdentifier = Guid.NewGuid(), ControleUsuario = new ComplexProperties.ControleUsuario { Data = DateTime.Now, UsuarioID = resposta.UsuarioID } }.ComputeChecksum(); Valor.Checksum = Valor.Conteudo.Checksum(); }
public override Resposta AtribuirResposta(RespostaDTO resposta) { if (Valor == null) { Valor = new RespostaAnexoContent(); } Valor.AnexoID = Valor?.AnexoID ?? 0; Valor.Checksum = null; Valor.Conteudo = Convert.FromBase64String((resposta.Valor ?? "").ToString()); Valor.Extensao = resposta.Extensao; Valor.Nome = resposta.NomeArquivo; Valor.ControleUsuario = new ComplexProperties.ControleUsuario { Data = DateTime.Now, UsuarioID = resposta.UsuarioID }; Valor.ComputeChecksum(); return(this); }
public virtual Resposta AtribuirResposta(RespostaDTO resposta) { this.PerguntaID = resposta.PerguntaID; return(this); }
public void Add(RespostaDTO reposta) { throw new NotImplementedException(); }
public void Update(RespostaDTO pergunta) { throw new NotImplementedException(); }
public virtual void AtribuirResposta(RespostaDTO resposta) { this.PerguntaID = resposta.PerguntaID; }
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; } }