public ActionResult Create(Consulta consulta) { ViewBag.Title = tituloCadastro; try { using (var db = new ClinicaEntities()) { var Consultas = db.Consulta.Where(i => i.Data == consulta.Data) .Where(i => i.MedicoId == consulta.MedicoId) .Where(i => i.Status == (int)Status.Agendada) .OrderBy(i => i.Hora); foreach (var item in Consultas.ToList()) { TimeSpan hora30MinDepois = item.Hora.Add(new TimeSpan(0, 30, 0)); /* Se for menor que a (hora+30min) e maior que a hora */ if ((consulta.Hora.CompareTo(hora30MinDepois)<=0)&& (consulta.Hora.CompareTo(item.Hora)>=0)) { ModelState.AddModelError("Hora", "Médico com consulta agendada as " + item.Hora.ToString() + " horas, é necessario dar intervalo de 30 minutos."); return View(consulta); } } consulta.Status = (int)Status.Agendada; db.Consulta.Add(consulta); db.SaveChanges(); } return RedirectToAction("Index"); } catch (Exception e) { ViewBag.Error = e; return View("Error"); } }
public ActionResult DesmarcarConsulta(int id, Consulta consulta) { ViewBag.Title = tituloCadastro; try { using (var db = new ClinicaEntities()) { /* Se for desmarcada antes da Data prevista a Consulta será excluída. */ if (consulta.Data >= DateTime.Now) { return View("Delete", db.Consulta.Find(consulta.ConsultaId)); } /* Caso contrario será marcada como não comparecimento */ else { consulta.Status = (int)Status.Nao_Comparecido; db.Entry(consulta).State = System.Data.EntityState.Modified; db.SaveChanges(); } return RedirectToAction("Index"); } } catch (Exception e) { ViewBag.Error = e; return View("Error"); } }
public ActionResult RealizarConsulta(int id, Consulta consulta) { ViewBag.Title = tituloCadastro; try { using (var db = new ClinicaEntities()) { consulta.Status = (int)Status.Realizada; db.Entry(consulta).State = System.Data.EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } } catch (Exception e) { ViewBag.Error = e; return View("Error"); } }
public ActionResult Delete(int id, Consulta consulta) { ViewBag.Title = tituloCadastro; try { using (var db = new ClinicaEntities()) { db.Entry(consulta).State = System.Data.EntityState.Deleted; db.SaveChanges(); } return RedirectToAction("Index"); } catch (Exception e) { ViewBag.Error = e; return View("Error"); } }