// GET: AtencionHorarios/Details/5 public async Task <ActionResult> Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } AtencionHorario atencionHorario = await db.AtencionHorarios.FindAsync(id); if (atencionHorario == null) { return(HttpNotFound()); } return(View(atencionHorario)); }
// GET: AtencionHorarios/Edit/5 public async Task <ActionResult> Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } AtencionHorario atencionHorario = await db.AtencionHorarios.FindAsync(id); if (atencionHorario == null) { return(HttpNotFound()); } ViewBag.ConsultorioId = new SelectList(db.Consultorios, "Id", "Nombre", atencionHorario.ConsultorioId); ViewBag.MedicoId = new SelectList(db.Medicos, "Id", "Nombre", atencionHorario.MedicoId); return(View(atencionHorario)); }
public async Task <ActionResult> Create([Bind(Include = "Id,ConsultorioId,MedicoId,Dia,HoraInicio,HoraFin")] AtencionHorario atencionHorario) { var todosHorarios = db.AtencionHorarios .Join(db.Consultorios, a => a.ConsultorioId, c => c.Id, (a, c) => new { a.MedicoId, a.ConsultorioId, a.Dia, horaInicio = a.HoraInicio, horaFin = a.HoraFin }) .Join(db.Medicos, a => a.MedicoId, m => m.Id, (a, m) => new { a.MedicoId, a.ConsultorioId, a.Dia, HoraInicio = a.horaInicio, HoraFin = a.horaFin }) .Where(a => a.Dia == atencionHorario.Dia && a.MedicoId == atencionHorario.MedicoId && a.HoraInicio.Hour <atencionHorario.HoraFin.Hour && a.HoraFin.Hour >= atencionHorario.HoraFin.Hour || a.Dia == atencionHorario.Dia && a.MedicoId == atencionHorario.MedicoId && a.HoraInicio.Hour <= atencionHorario.HoraInicio.Hour && a.HoraFin.Hour> atencionHorario.HoraInicio.Hour || a.Dia == atencionHorario.Dia && a.ConsultorioId == atencionHorario.ConsultorioId && a.HoraInicio.Hour <atencionHorario.HoraFin.Hour && a.HoraFin.Hour >= atencionHorario.HoraFin.Hour || a.Dia == atencionHorario.Dia && a.ConsultorioId == atencionHorario.ConsultorioId && a.HoraInicio.Hour <= atencionHorario.HoraInicio.Hour && a.HoraFin.Hour> atencionHorario.HoraInicio.Hour).ToList(); if (ModelState.IsValid) { if (todosHorarios.Count == 0) { db.AtencionHorarios.Add(atencionHorario); await db.SaveChangesAsync(); TempData[Application.MessageViewBagName] = new GenericMessageViewModel { Message = "Registrado agregado a la base de datos.", MessageType = GenericMessages.success }; return(RedirectToAction("Index")); } else { TempData[Application.MessageViewBagName] = new GenericMessageViewModel { Message = "El medico o el consultorio se encuentra ocupado", MessageType = GenericMessages.danger }; return(RedirectToAction("Create")); } } ViewBag.ConsultorioId = new SelectList(db.Consultorios, "Id", "Nombre", atencionHorario.ConsultorioId); ViewBag.MedicoId = new SelectList(db.Medicos, "Id", "Nombre", atencionHorario.MedicoId); return(View(atencionHorario)); }
public async Task <ActionResult> DeleteConfirmed(int id) { try { AtencionHorario consultorioAsociado = await db.AtencionHorarios.FirstOrDefaultAsync(t => t.ConsultorioId == id); if (consultorioAsociado != null) { TempData[Application.MessageViewBagName] = new GenericMessageViewModel { Message = "No se puede eliminar consultorio, está asignado a un Médico.", MessageType = GenericMessages.warning }; return(RedirectToAction("Index")); } Consultorio consultorio = await db.Consultorios.FindAsync(id); //db.Consultorios.Remove(consultorio); consultorio.BaseEstado = Shared.BaseEstado.ELIMINADO; await db.SaveChangesAsync(); TempData[Application.MessageViewBagName] = new GenericMessageViewModel { Message = "Consultorio eliminado exitosamente.", MessageType = GenericMessages.success }; return(RedirectToAction("Index")); } catch (Exception ex) { var err = $"Error al eliminar consultorio: {ex.Message}"; TempData[Application.MessageViewBagName] = new GenericMessageViewModel { Message = err, MessageType = GenericMessages.danger }; return(RedirectToAction("Index")); } }