private string ObterPerguntaDaSondagem(AlunoSondagemMatematicaDto alunoDto, string perguntaId) { var resposta = alunoDto.Respostas.First(); perguntaId = resposta.Pergunta; return(perguntaId); }
private void MapearAlunosListagemMatematica(List <AlunoSondagemMatematicaDto> listagem, List <Sondagem> lsondagem) { var listaAlunosDto = new List <AlunoSondagemMatematicaDto>(); var listCodigoAlunoEol = new List <string>(); lsondagem.ForEach(s => { s.AlunosSondagem.ForEach(a => { var alunoDto = new AlunoSondagemMatematicaDto(); alunoDto.Id = a.Id != null ? a.Id.ToString() : null; alunoDto.AnoLetivo = s.AnoLetivo; alunoDto.AnoTurma = s.AnoTurma; alunoDto.CodigoAluno = a.CodigoAluno; alunoDto.NomeAluno = a.NomeAluno; alunoDto.ComponenteCurricular = s.ComponenteCurricularId.ToString(); alunoDto.CodigoUe = s.CodigoUe; alunoDto.CodigoDre = s.CodigoDre; alunoDto.CodigoTurma = s.CodigoTurma; alunoDto.Respostas = new List <AlunoRespostaDto>(); a.ListaRespostas.ForEach(r => { var Resposta = new AlunoRespostaDto() { Resposta = r.RespostaId, Pergunta = r.PerguntaId, PeriodoId = s.PeriodoId }; alunoDto.Respostas.Add(Resposta); }); listaAlunosDto.Add(alunoDto); listCodigoAlunoEol.Add(a.CodigoAluno); }); }); foreach (var codigoAluno in listCodigoAlunoEol.Distinct()) { var listaResposta = new List <AlunoRespostaDto>(); var alunoDto = listaAlunosDto.Where(a => a.CodigoAluno == codigoAluno).FirstOrDefault(); var listaAlunoResposta = listaAlunosDto.Where(a => a.CodigoAluno == codigoAluno).ToList(); listaAlunoResposta.ForEach(lr => { lr.Respostas.ForEach(r => { listaResposta.Add(r); }); }); alunoDto.Respostas = listaResposta; if (alunoDto != null) { listagem.Add(alunoDto); } } }
private async Task SalvarAlunoComResposta(SMEManagementContextData contexto, AlunoSondagemMatematicaDto aluno, SondagemAutoral alunoAutoral) { foreach (var resposta in aluno.Respostas) { var alunoSalvar = await CriarObtejetoSalvar(contexto, resposta, alunoAutoral, aluno); await AdicicionarOuAlterar(contexto, alunoSalvar); } }
private static void AtualizaNovasRespostas(AlunoSondagemMatematicaDto aluno, SondagemAluno alunoSondagem, string periodoId) { foreach (var resposta in aluno.Respostas) { if (resposta.PeriodoId == periodoId) { var respostaSondagem = alunoSondagem.ListaRespostas.Where(x => x.PerguntaId == resposta.Pergunta).FirstOrDefault(); if (respostaSondagem != null && aluno.Respostas.Any(r => r.PeriodoId == periodoId)) { respostaSondagem.RespostaId = resposta.Resposta; } else { var respostaNova = CriaNovaRespostaAluno(alunoSondagem, resposta); alunoSondagem.ListaRespostas.Add(respostaNova); } } } }
private static SondagemAluno CriaNovoAlunoSondagem(Sondagem sondagem, AlunoSondagemMatematicaDto alunoDto) { var aluno = new SondagemAluno() { Id = Guid.NewGuid(), CodigoAluno = alunoDto.CodigoAluno, SondagemId = sondagem.Id, NomeAluno = alunoDto.NomeAluno, ListaRespostas = new List <SondagemAlunoRespostas>() }; var listaRespostasPeriodo = alunoDto.Respostas.Where(r => r.PeriodoId == sondagem.PeriodoId); foreach (var respostaDto in listaRespostasPeriodo) { var resposta = CriaNovaRespostaAluno(aluno, respostaDto); aluno.ListaRespostas.Add(resposta); } return(aluno); }
private async Task <SondagemAutoral> CriarObtejetoSalvar(SMEManagementContextData contexto, AlunoRespostaDto resposta, SondagemAutoral alunoAutoral, AlunoSondagemMatematicaDto aluno) { var alunoBanco = await contexto.SondagemAutoral .FirstOrDefaultAsync(sondagem => sondagem.PerguntaId == resposta.Pergunta && sondagem.PeriodoId == resposta.PeriodoId && sondagem.CodigoAluno == alunoAutoral.CodigoAluno && sondagem.CodigoTurma == alunoAutoral.CodigoTurma); if (alunoBanco == null) { alunoBanco = new SondagemAutoral(alunoAutoral); } alunoBanco.PerguntaId = resposta.Pergunta; alunoBanco.RespostaId = resposta.Resposta; alunoBanco.PeriodoId = resposta.PeriodoId; return(alunoBanco); }
private static void RemoveRespostasSemValor(SMEManagementContextData contexto, AlunoSondagemMatematicaDto aluno, SondagemAluno alunoSondagem) { var ListaRespostasRemovidas = new List <SondagemAlunoRespostas>(); if (alunoSondagem.ListaRespostas.Any(x => x.RespostaId != "")) { foreach (var alunoResposta in alunoSondagem.ListaRespostas) { var respostaSondagem = aluno.Respostas.Where(x => x.Pergunta == alunoResposta.PerguntaId && x.Resposta != "").FirstOrDefault(); if (respostaSondagem == null) { ListaRespostasRemovidas.Add(alunoResposta); } } if (ListaRespostasRemovidas.Count > 0) { contexto.SondagemAlunoRespostas.RemoveRange(ListaRespostasRemovidas); } } else { contexto.SondagemAluno.Remove(alunoSondagem); } }
private static void AdicionaOUAlteraAlunosERespostas(SMEManagementContextData contexto, Sondagem sondagem, AlunoSondagemMatematicaDto aluno) { var alunoSondagem = sondagem.AlunosSondagem.Where(a => a.CodigoAluno == aluno.CodigoAluno).FirstOrDefault(); if (alunoSondagem != null) { if (aluno.Respostas == null || aluno.Respostas.Count == 0) { contexto.SondagemAluno.Remove(alunoSondagem); } else { AtualizaNovasRespostas(aluno, alunoSondagem, sondagem.PeriodoId); RemoveRespostasSemValor(contexto, aluno, alunoSondagem); } } else { if (aluno.Respostas != null) { if (aluno.Respostas.Any(r => r.PeriodoId == sondagem.PeriodoId)) { var alunoNovoSondagem = CriaNovoAlunoSondagem(sondagem, aluno); sondagem.AlunosSondagem.Add(alunoNovoSondagem); } } } }