public ActionResult Create(infAvaliacaoViewModel avaliacao) { if (ModelState.IsValid) { var qtdAvals = db.avaliacoes.Count(q => q.medicos_idMedico == avaliacao.idMedico); if (qtdAvals != 0) { var somaNotas = db.avaliacoes.Where(m => m.medicos_idMedico == avaliacao.idMedico). GroupBy(m => m.medicos_idMedico).Select(n => n.Sum(m => m.notas)).Single(); int total = Convert.ToInt16(somaNotas); total += avaliacao.nota; qtdAvals++; avaliacao.media = Convert.ToDouble(total / qtdAvals); } else { avaliacao.media = avaliacao.nota; } avaliacoes aval = new avaliacoes(); aval.medicos_idMedico = avaliacao.idMedico; aval.notas = avaliacao.nota; aval.media = avaliacao.media; aval.data = DateTime.Today; aval.comentarios = avaliacao.comentario; aval.pacientes_idPaciente = Convert.ToInt16(Session["idUsuario"]); db.avaliacoes.Add(aval); db.SaveChanges(); return(RedirectToAction("Index", "consultas")); } return(View(avaliacao)); }
public ActionResult checkOut(int idConsulta, int idMedico, string data, string hora) { var consulta = db.consultasSet.Where(c => c.idConsulta == idConsulta).Single(); consulta.check_out = 1; var agenda = db.agendaSet.Where(a => a.medicos_idMedico == idMedico && a.data == data && a.horarioAtendimento == hora).Single(); agenda.horarioAgendado = "Check-out realizado"; db.SaveChanges(); infAvaliacaoViewModel aval = new infAvaliacaoViewModel(); aval.idMedico = idMedico; return(RedirectToAction("Create", "avaliacoes", aval)); }