private async Task AdicionarPendenciaRegistroIndividualAsync(Pendencia pendencia, Turma turma, IEnumerable <AlunoPorTurmaResposta> alunosTurmaComAusenciaRegistroIndividualPorDias) { var pendenciaRegistroIndividual = new PendenciaRegistroIndividual(pendencia, turma); pendenciaRegistroIndividual.Id = await repositorioPendenciaRegistroIndividual.SalvarAsync(pendenciaRegistroIndividual); var codigosDosAlunos = alunosTurmaComAusenciaRegistroIndividualPorDias.Select(x => long.Parse(x.CodigoAluno)); pendenciaRegistroIndividual.AdicionarAlunos(codigosDosAlunos); foreach (var pendenciaRegistroIndividualAluno in pendenciaRegistroIndividual.Alunos) { pendenciaRegistroIndividualAluno.Id = await repositorioPendenciaRegistroIndividualAluno.SalvarAsync(pendenciaRegistroIndividualAluno); } }
private async Task AlterarPendenciaAusenciaRegistroIndividualAsync(PendenciaRegistroIndividual pendenciaRegistroIndividual, IEnumerable <AlunoPorTurmaResposta> alunosTurmaComAusenciaRegistroIndividualPorDias) { var alunosParaSeremAdicionadosNaPendencia = alunosTurmaComAusenciaRegistroIndividualPorDias .Where(x => !pendenciaRegistroIndividual.Alunos.Any(y => y.CodigoAluno.ToString() == x.CodigoAluno && y.Situacao == SituacaoPendenciaRegistroIndividualAluno.Pendente)) .ToList(); if (!alunosParaSeremAdicionadosNaPendencia.Any()) { return; } var codigosDosAlunos = alunosParaSeremAdicionadosNaPendencia.Select(x => long.Parse(x.CodigoAluno)); pendenciaRegistroIndividual.AdicionarAlunos(codigosDosAlunos); foreach (var codigoAluno in codigosDosAlunos) { var pendenciaRegistroIndividualAluno = pendenciaRegistroIndividual.Alunos.First(x => x.CodigoAluno == codigoAluno); pendenciaRegistroIndividualAluno.Id = await repositorioPendenciaRegistroIndividualAluno.SalvarAsync(pendenciaRegistroIndividualAluno); } }