public AvaliacaoProfessor AvaliarProfessor(AvaliacaoProfessor avaliacao, long alunoId) { _logger.LogDebug("AvaliarProfessor"); var avaliacaoExistente = _repositorio.AulaParaAvaliacao(alunoId, avaliacao.ProfessorId, avaliacao.AulaId); if (!avaliacaoExistente) { throw new BusinessException("Não existe aula para ser avaliada"); } var avaliacaoConcluida = _repositorio.AvaliarProfessor(avaliacao); return(avaliacaoConcluida); }
public AvaliacaoProfessor AvaliarProfessor(AvaliacaoProfessor avaliacao) { _logger.LogDebug("AvaliarProfessor"); try { var aula = _contexto.Set <ContratoAula>().SingleOrDefault(x => x.Id == avaliacao.AulaId); aula.Avaliado = true; _contexto.Add(avaliacao); _contexto.Update(aula); _contexto.SaveChanges(); return(avaliacao); } catch (DbException ex) { _logger.LogError(ex, $"AvaliarProfessor error: {ex.Message}"); throw; } }
public AvaliarProfessorViewModel(Avaliacao avaliacao, IList <Professor> selecionados) { this.avaliacao = avaliacao; this.selecionados = selecionados; avaliacaoProfessor = new AvaliacaoProfessor(selecionados[0]); ProximoCommand = new Command(() => { avaliacao.AvaliacaoProfessores.Add(avaliacaoProfessor); selecionados?.RemoveAt(0); if (selecionados.Count > 0) { avaliacaoProfessor = new AvaliacaoProfessor(selecionados[0]); OnPropertyChanged(nameof(Nome)); OnPropertyChanged(nameof(Simpatia)); OnPropertyChanged(nameof(InstrucaoTecnica)); OnPropertyChanged(nameof(Atencao)); OnPropertyChanged(nameof(ResultadoExercicio)); OnPropertyChanged(nameof(Comentario)); } else { using (var dao = new AvaliacaoDAO()) { avaliacao.AvaliacaoProfessores.ForEach((av) => { av.AvaliacaoId = avaliacao.ID; }); dao.Insert(avaliacao); App.Current.MainPage.DisplayAlert("Avaliação", "Avaliação registrada com sucesso.\nMuito obrigado!", "OK"); App.Current.MainPage.Navigation.PopToRootAsync(); } } }, () => { return(Simpatia > 0 && InstrucaoTecnica > 0 && Atencao > 0 && ResultadoExercicio > 0); }); }