// GET: Turno public ActionResult Index() { RepositoryDoctor repositoryDoctor = new RepositoryDoctor(); RepositoryAtencion repositoryatencion = new RepositoryAtencion(); var turnos = db.Turnos.Include(t => t.Atencion).Include(t => t.Paciente); List <Turno> tur = new List <Turno>(); tur = turnos.ToList(); IEnumerable <Turno> lstordenada = tur.OrderBy(User => User.Fecha); foreach (var item in lstordenada) { foreach (var item2 in repositoryatencion.List()) { if (item.IdAtencion == item2.Id) { item.Atencion = item2; foreach (var item3 in repositoryDoctor.List()) { if (item.Atencion.IdDoctor == item3.Id) { item.Atencion.Doctor = item3; } } } } } return(View(tur)); }
public ActionResult Create([Bind(Include = "Id,TipoEspecialidad,Fecha,IdPaciente,IdAtencion,Hora,Abonado")] Turno turno) { RepositoryAtencion repositoryatencion = new RepositoryAtencion(); RepositoryTurno repositoryTurno = new RepositoryTurno(); RepositoryDoctor repositoryDoctor = new RepositoryDoctor(); int valoratencion = 1; string diaturno; diaturno = turno.Fecha.DayOfWeek.ToString(); List <Atencion> lstatencionvalidas = new List <Atencion>(); if (turno.IdAtencion == 0) { foreach (var item in repositoryatencion.List()) { turno.IdAtencion = item.Id; valoratencion = turno.verificarcoordinacionconatencion(repositoryatencion, turno); if (valoratencion == 0) { if (turno.TipoEspecialidad == item.TipoEspecialidad) { if (turno.Atencion.Dia.ToString() == diaturno) { foreach (var item3 in repositoryDoctor.List()) { if (item.IdDoctor == item3.Id) { item.Doctor = item3; } } lstatencionvalidas.Add(item); } valoratencion = 1; } } } turno.IdAtencion = 0; //IEnumerable<Atencion> lst; //lst = lstatencionvalidas; if (lstatencionvalidas.Count > 0) { //ViewBag.Atenciones = lstatencionvalidas.Select(m => new SelectListItem { Text = m.Id.ToString(), Value = m.Id.ToString() }); ViewBag.IdAtencion = new SelectList(lstatencionvalidas, "Id", "Doctor.Nombre"); } ViewBag.IdPaciente = new SelectList(db.Pacientes, "Id", "Nombre", turno.IdPaciente); return(View(turno)); } //List<Atencion> lstatencion = new List<Atencion>(); //foreach (var item in repositoryatencion.List()) //{ // if (item.TipoEspecialidad == turno.TipoEspecialidad) // { // lstatencion.Add(item); // } //} //ViewBag.IdAtencion = new SelectList(lstatencion, "Id", "Id", turno.IdAtencion); if (ModelState.IsValid) { int valor2 = 0; valor2 = turno.validarhora(turno); Atencion natencion = new Atencion(); natencion = repositoryatencion.GetById(turno.IdAtencion); int valor = 0; valor = turno.verificarrepeticion(repositoryTurno, turno); int valor3 = 1; //valor3 = turno.verificarcoordinacionconatencion(repositoryatencion, turno); valor3 = 0; if (valor3 == 1) { ViewBag.advertencia4 = string.Format("El doctor no se encuentra en este horario, esta en el horario de {0} .", natencion.HorarioTurno); } if (valor == 1) { ViewBag.advertencia = "Ya hay alguien asignado en este horario."; } if (valor2 == 1) { ViewBag.advertencia3 = "La hora ingresada no es valida."; } if (valor == 1 || valor2 == 1 || valor3 == 1) { } else { db.Turnos.Add(turno); db.SaveChanges(); log.Info("Creacion de turno"); //int valor99 = 0; //foreach (var item in repositoryatencion.List()) //{ // if (valor99 < item.Id) // { // valor99 = item.Id; // } //} //repositoryatencion.Delete(valor99); //valor99 = 0; return(RedirectToAction("Index")); } } ViewBag.IdPaciente = new SelectList(db.Pacientes, "Id", "Nombre", turno.IdPaciente); return(View(turno)); }