Ejemplo n.º 1
0
        // 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));
        }
Ejemplo n.º 2
0
        public ActionResult Create([Bind(Include = "Id,IdDoctor,IdSala,TipoEspecialidad,HorarioTurno,Dia")] Atencion atencion)
        {
            if (ModelState.IsValid)
            {
                RepositoryDoctor repositoryDoctor = new RepositoryDoctor();

                foreach (var item in repositoryDoctor.List())
                {
                    if (item.Id == atencion.IdDoctor)
                    {
                        atencion.TipoEspecialidad = item.TipoEspecialidad;
                    }
                }


                int valor = 0;
                RepositoryAtencion repository = new RepositoryAtencion();

                valor = atencion.verificardisponibilidadsala(repository, atencion);
                //foreach (var x in repository.List())
                //{
                //    if (x.Dia == atencion.Dia && x.HorarioTurno == atencion.HorarioTurno && x.IdSala == atencion.IdSala)
                //    {
                //        valor = 1;
                //    }
                //}

                if (valor == 1)
                {
                    string aviso = "Ya se encuentra un Empleado en ese dia, ese turno y esa sala.";
                    ViewBag.advertencia = aviso;
                }
                else
                {
                    db.Atenciones.Add(atencion);
                    db.SaveChanges();
                    log.Info("Creacion de atencion");
                    return(RedirectToAction("Index"));
                }
            }

            ViewBag.IdDoctor = new SelectList(db.Doctores, "Id", "Nombre", atencion.IdDoctor);
            ViewBag.IdSala   = new SelectList(db.Salas, "Id", "Nombre", atencion.IdSala);
            return(View(atencion));
        }
Ejemplo n.º 3
0
        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));
        }