public IActionResult EliminarDeveloper(int id)
        {
            var TempListaDev = new DoubleLinkedList <Developer>();

            TempListaDev = F.Tareas.Clone() as DoubleLinkedList <Developer>;
            var Temp = new Developer();

            Temp = TempListaDev.GetbyIndex(id);
            var Temp2 = new ArbolDePrioridad <LlaveArbolPrioridad>(LlaveArbolPrioridad.Compare_Llave_Arbol);

            Temp2 = Temp.Tarea.Clone();
            var Temp3 = new LlaveArbolPrioridad();

            Temp3 = Temp2.Remove();
            F.Tabla_Hash.Remove(Temp3.CodigoHash, Temp3.CodigoHash);
            var TempListaDev2 = F.Tareas;
            var TempB         = TempListaDev2.GetbyIndex(id);

            TempB.Tarea.Remove();
            string mydocs = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            string folder = "LAB04";
            string R      = mydocs + '\\' + folder;

            Escribir(R + "\\Dev.txt", EscribirDatos());
            Escribir(R + "\\Tabla.txt", EscribirDatos2());
            Escribir(R + "\\subdatos.txt", EscribirDatos3());
            return(RedirectToAction("Developer"));
        }
        public IActionResult ProjectManager()
        {
            for (int i = 1; i <= 10; i++)
            {
                for (int f = 1; f <= F.Tareas.Count2(); f++)
                {
                    var TempListaDev = new DoubleLinkedList <Developer>();
                    TempListaDev = F.Tareas.Clone() as DoubleLinkedList <Developer>;

                    var Temp = new Developer();
                    Temp = TempListaDev.GetbyIndex(f);
                    var Temp2 = new ArbolDePrioridad <LlaveArbolPrioridad>(LlaveArbolPrioridad.Compare_Llave_Arbol);
                    if (!Temp.Tarea.isempty())
                    {
                        Temp2 = Temp.Tarea.Clone();
                        while (!Temp2.isempty())
                        {
                            var Temp3 = new LlaveArbolPrioridad();
                            Temp3 = Temp2.Remove();
                            var Temp4 = new Tarea();
                            Temp4 = F.Tabla_Hash.Remove2(Temp3.CodigoHash, Temp3.CodigoHash);
                            if (Temp4.Prioridad == i)
                            {
                                Viewlista.Add(Temp4);
                            }
                        }
                    }
                }
            }


            return(View(Viewlista));
        }
        // Persistir informacion de los developers
        public string EscribirDatos()
        {
            string st = "";

            for (int i = 1; i <= F.Tareas.Count2(); i++)
            {
                var TempListaDev = new DoubleLinkedList <Developer>();
                TempListaDev = F.Tareas.Clone() as DoubleLinkedList <Developer>;
                var Temp = new Developer();
                Temp = TempListaDev.GetbyIndex(i);
                st   = st + Temp.Id + "," + Temp.Name + "\n";
                var Temp2 = new ArbolDePrioridad <LlaveArbolPrioridad>(LlaveArbolPrioridad.Compare_Llave_Arbol);
                if (!Temp.Tarea.isempty())
                {
                    Temp2 = Temp.Tarea.Clone();
                    while (!Temp2.isempty())
                    {
                        var Temp3 = new LlaveArbolPrioridad();
                        Temp3 = Temp2.Remove();
                        st    = st + "T" + "," + Temp3.CodigoHash + "," + Temp3.Prioridad + "\n";
                    }
                }
                st = st + "u" + "\n";
            }
            return(st);
        }
        public IActionResult ListaVacunados()
        {
            PacienteComp Comparador = Hospitales.Compare_Municipio;
            Hospitales   hospital   = new Hospitales();

            hospital = F.hospitales.Find(m => Comparador(m, HttpContext.Session.GetString("municipio")) == 0);
            var TempViewPaciente = new DoubleLinkedList <Paciente>();

            var Temparbol = new ArbolDePrioridad <LlaveArbolPrioridad>(LlaveArbolPrioridad.Compare_Llave_Arbol);

            if (!hospital.vacunados.isempty())
            {
                Temparbol = hospital.vacunados.Clone();
                while (!Temparbol.isempty())
                {
                    var Templlave = new LlaveArbolPrioridad();
                    Templlave = Temparbol.Remove();
                    var Temppaciente = new Paciente();
                    Temppaciente = hospital.PacientesVacunados.Find(Convert.ToString(Templlave.CodigoHash));
                    TempViewPaciente.Add(Temppaciente);
                }
            }


            return(View(TempViewPaciente));
        }
        public IActionResult Realizarinjeccion()
        {
            PacienteComp Comparador = Hospitales.Compare_Municipio;
            Hospitales   hospital   = new Hospitales();

            hospital = F.hospitales.Find(m => Comparador(m, HttpContext.Session.GetString("municipio")) == 0);

            ArbolDePrioridad <LlaveArbolPrioridad> TempArbol = new ArbolDePrioridad <LlaveArbolPrioridad>(LlaveArbolPrioridad.Compare_Llave_Arbol);

            if (hospital.Espera.isempty())
            {
                return(RedirectToAction("Vacunacion2"));
            }
            TempArbol = hospital.Espera.Clone();
            DoubleLinkedList <Paciente> ViewVacunacion = new DoubleLinkedList <Paciente>();

            for (int i = 0; i < hospital.CantidadPasar; i++)
            {
                if (!TempArbol.isempty())
                {
                    LlaveArbolPrioridad Templlave = new LlaveArbolPrioridad();
                    Templlave = TempArbol.Remove();
                    Paciente ViewVacunar = new Paciente();
                    ViewVacunar = hospital.Pacientes.Find(Convert.ToString(Templlave.CodigoHash));
                    ViewVacunacion.Add(ViewVacunar);
                }
            }
            return(View(ViewVacunacion));
        }
        public void restablecerfechas()
        {
            PacienteComp Comparador = Hospitales.Compare_Municipio;
            var          hospital   = F.hospitales.Find(m => Comparador(m, HttpContext.Session.GetString("municipio")) == 0);

            ArbolDePrioridad <LlaveArbolPrioridad> TempArbol = new ArbolDePrioridad <LlaveArbolPrioridad>(LlaveArbolPrioridad.Compare_Llave_Arbol);

            hospital.TempFecha = new DateTime();
            hospital.TempFecha = DateTime.Today;
            if (hospital.Registrar.isempty())
            {
                return;
            }
            TempArbol          = hospital.Registrar.Clone();
            hospital.TempFecha = hospital.TempFecha.AddDays(7);
            hospital.TempFecha = hospital.TempFecha.AddHours(8);
            while (!TempArbol.isempty())
            {
                for (int i = 0; i < hospital.CantidadPasar; i++)
                {
                    if (!TempArbol.isempty())
                    {
                        LlaveArbolPrioridad Temp = new LlaveArbolPrioridad();
                        Temp = TempArbol.Remove();
                        Paciente ViewVacunar = new Paciente();
                        ViewVacunar = hospital.Pacientes.Find(Convert.ToString(Temp.CodigoHash));
                        hospital.Pacientes.Remove(Convert.ToString(Temp.CodigoHash));
                        ViewVacunar.Fecha = hospital.TempFecha;
                        hospital.Pacientes.Add(Convert.ToString(ViewVacunar.DPI), ViewVacunar);
                    }
                }
                hospital.TempFecha = hospital.TempFecha.AddMinutes(15);
            }
        }
        public IActionResult Vacunacion2()
        {
            PacienteComp Comparador = Hospitales.Compare_Municipio;
            Hospitales   hospital   = new Hospitales();

            hospital = F.hospitales.Find(m => Comparador(m, HttpContext.Session.GetString("municipio")) == 0);

            restablecerfechas2();
            DoubleLinkedList <Paciente>            TempView  = new DoubleLinkedList <Paciente>();
            ArbolDePrioridad <LlaveArbolPrioridad> TempArbol = new ArbolDePrioridad <LlaveArbolPrioridad>(LlaveArbolPrioridad.Compare_Llave_Arbol);

            if (hospital.Espera.isempty())
            {
                return(View(TempView));
            }
            TempArbol = hospital.Espera.Clone();
            do
            {
                LlaveArbolPrioridad Temp = new LlaveArbolPrioridad();
                Temp = TempArbol.Remove();
                Paciente ViewVacunar = new Paciente();
                ViewVacunar = hospital.Pacientes.Find(Convert.ToString(Temp.CodigoHash));
                TempView.Add(ViewVacunar);
            } while (!TempArbol.isempty());
            return(View(TempView));
        }
        public IActionResult Index()
        {
            var          ViewPaciente = new DoubleLinkedList <Paciente>();
            PacienteComp Comparador   = Hospitales.Compare_Municipio;
            Hospitales   hospital     = new Hospitales();

            ;
            hospital = F.hospitales.Find(m => Comparador(m, HttpContext.Session.GetString("municipio")) == 0);
            ArbolDePrioridad <LlaveArbolPrioridad> Temparbol = new ArbolDePrioridad <LlaveArbolPrioridad>(LlaveArbolPrioridad.Compare_Llave_Arbol);

            if (hospital.Registrar.isempty())
            {
                return(View(ViewPaciente));
            }
            Temparbol = hospital.Registrar.Clone();
            LlaveArbolPrioridad Tempprioridad;

            do
            {
                Tempprioridad = new LlaveArbolPrioridad();
                if (!Temparbol.isempty())
                {
                    Tempprioridad = Temparbol.Remove();
                    if (Tempprioridad != null)
                    {
                        Paciente TempPaciente = new Paciente();
                        TempPaciente           = hospital.Pacientes.Find(Convert.ToString(Tempprioridad.CodigoHash));
                        TempPaciente.Prioridad = Tempprioridad.Prioridad;
                        ViewPaciente.Add(TempPaciente);
                    }
                }
            } while (Tempprioridad.CodigoHash != 0);
            return(View(ViewPaciente));
        }
        public IActionResult Consulta()
        {
            TareaD    comparador = Tarea.Compare_Titulo2;
            Developer Temp       = F.Tareas.Find(m => comparador(m, F.Developer) == 0);

            if (Temp.Tarea.isempty())
            {
                return(RedirectToAction("ErrorNull"));
            }
            LlaveArbolPrioridad Primer = Temp.Tarea.Peek();
            Tarea Realizar             = F.Tabla_Hash.Remove2(Primer.CodigoHash, Primer.CodigoHash);

            Realizar.Id = F.actualid;
            return(View(Realizar));
        }
        public IActionResult Buscar()
        {
            if (F.verificar == 0)
            {
                F.verificar = 1;
                Cargardatos();
            }
            DoubleLinkedList <Paciente> vista = new DoubleLinkedList <Paciente>();

            for (int i = 1; i <= F.hospitales.Count2(); i++)
            {
                Hospitales Temphospital = new Hospitales();
                Temphospital = F.hospitales.GetbyIndex(i);
                var Temparbol = new ArbolDePrioridad <LlaveArbolPrioridad>(LlaveArbolPrioridad.Compare_Llave_Arbol);

                if (!Temphospital.Registrar.isempty())
                {
                    Temparbol = Temphospital.Registrar.Clone();
                    while (!Temparbol.isempty())
                    {
                        var templlave = new LlaveArbolPrioridad();
                        templlave = Temparbol.Remove();
                        vista.Add(Temphospital.Pacientes.Find(Convert.ToString(templlave.CodigoHash)));
                    }
                }
                if (!Temphospital.vacunados.isempty())
                {
                    Temparbol = Temphospital.vacunados.Clone();
                    while (!Temparbol.isempty())
                    {
                        var templlave = new LlaveArbolPrioridad();
                        templlave = Temparbol.Remove();
                        vista.Add(Temphospital.PacientesVacunados.Find(Convert.ToString(templlave.CodigoHash)));
                    }
                }
                if (!Temphospital.Espera.isempty())
                {
                    Temparbol = Temphospital.Espera.Clone();
                    while (!Temparbol.isempty())
                    {
                        var templlave = new LlaveArbolPrioridad();
                        templlave = Temparbol.Remove();
                        vista.Add(Temphospital.Pacientes.Find(Convert.ToString(templlave.CodigoHash)));
                    }
                }
            }
            return(View(vista));
        }
        public void restablecerfechas2()
        {
            PacienteComp Comparador = Hospitales.Compare_Municipio;
            var          hospital   = F.hospitales.Find(m => Comparador(m, HttpContext.Session.GetString("municipio")) == 0);

            ArbolDePrioridad <LlaveArbolPrioridad> TempArbolvacuna = new ArbolDePrioridad <LlaveArbolPrioridad>(LlaveArbolPrioridad.Compare_Llave_Arbol);

            if (!hospital.Espera.isempty())
            {
                TempArbolvacuna = hospital.Espera.Clone();
                LlaveArbolPrioridad TempF = new LlaveArbolPrioridad();
                TempF = TempArbolvacuna.Remove();
                Paciente Nuevo = new Paciente();
                Nuevo = hospital.Pacientes.Find(Convert.ToString(TempF.CodigoHash));
                if (TempF.Prioridad > 4.1)
                {
                    hospital.TempFecha = Nuevo.Fecha.AddMinutes(15);
                }
                else
                {
                    hospital.TempFecha = Nuevo.Fecha;
                }
            }
            else
            {
                return;
            }
            ArbolDePrioridad <LlaveArbolPrioridad> TempArbol = new ArbolDePrioridad <LlaveArbolPrioridad>(LlaveArbolPrioridad.Compare_Llave_Arbol);

            TempArbol = hospital.Espera.Clone();
            while (!TempArbol.isempty())
            {
                for (int i = 0; i < hospital.CantidadPasar; i++)
                {
                    if (!TempArbol.isempty())
                    {
                        LlaveArbolPrioridad Temp = new LlaveArbolPrioridad();
                        Temp = TempArbol.Remove();
                        Paciente ViewVacunar = new Paciente();
                        ViewVacunar = hospital.Pacientes.Find(Convert.ToString(Temp.CodigoHash));
                        hospital.Pacientes.Remove(Convert.ToString(Temp.CodigoHash));
                        ViewVacunar.Fecha = hospital.TempFecha;
                        hospital.Pacientes.Add(Convert.ToString(ViewVacunar.DPI), ViewVacunar);
                    }
                }
                hospital.TempFecha = hospital.TempFecha.AddMinutes(15);
            }
        }
        public IActionResult Realizarinjeccion2()
        {
            PacienteComp Comparador = Hospitales.Compare_Municipio;
            var          hospital   = F.hospitales.Find(m => Comparador(m, HttpContext.Session.GetString("municipio")) == 0);

            DoubleLinkedList <Paciente>            ViewEspera      = new DoubleLinkedList <Paciente>();
            ArbolDePrioridad <LlaveArbolPrioridad> PacienteNollego = new ArbolDePrioridad <LlaveArbolPrioridad>(LlaveArbolPrioridad.Compare_Llave_Arbol);

            for (int i = 0; i < hospital.CantidadPasar; i++)
            {
                if (!hospital.Espera.isempty())
                {
                    LlaveArbolPrioridad Templlave = new LlaveArbolPrioridad();
                    Templlave = hospital.Espera.Remove();
                    Paciente Temppaciente = new Paciente();
                    Temppaciente = hospital.Pacientes.Find(Convert.ToString(Templlave.CodigoHash));
                    hospital.Pacientes.Remove(Convert.ToString(Templlave.CodigoHash));
                    if (CalcSiLlego())
                    {
                        Temppaciente.Paciente_Llego = true;
                        hospital.vacunados.add(Templlave);
                        hospital.PacientesVacunados.Add(Convert.ToString(Templlave.CodigoHash), Temppaciente);
                        F.vacunados++;
                    }
                    else
                    {
                        Temppaciente.Paciente_Llego = false;
                        Templlave.Prioridad         = Templlave.Prioridad + 4.1;
                        Temppaciente.Prioridad      = Templlave.Prioridad + 4.1;
                        hospital.Pacientes.Add(Convert.ToString(Templlave.CodigoHash), Temppaciente);
                        PacienteNollego.add(Templlave);
                    }
                    ViewEspera.Add(Temppaciente);
                }
            }
            while (!PacienteNollego.isempty())
            {
                hospital.Espera.add(PacienteNollego.Remove());
            }
            string mydocs = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            string folder = "ProyectoF";
            string R      = mydocs + '\\' + folder;

            Escribir(R + "\\Tabla.txt", EscribirDatos());
            return(View(ViewEspera));
        }
        public void Cargardatos()
        {
            string mydocs = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            string folder = "LAB04";
            string R      = mydocs + '\\' + folder;

            using (TextFieldParser Datos = new TextFieldParser(R + "\\Dev.txt"))
            {
                Datos.TextFieldType = FieldType.Delimited;
                Datos.SetDelimiters(",");
                Developer Temp = new Developer();
                Temp.Tarea = new ArbolDePrioridad <LlaveArbolPrioridad>(LlaveArbolPrioridad.Compare_Llave_Arbol);
                while (!Datos.EndOfData)
                {
                    string[] Escrito = Datos.ReadFields();
                    if (Escrito[0] == "u")
                    {
                        F.Tareas.Add(Temp);
                        Temp       = new Developer();
                        Temp.Tarea = new ArbolDePrioridad <LlaveArbolPrioridad>(LlaveArbolPrioridad.Compare_Llave_Arbol);
                    }
                    else
                    {
                        if (Escrito[0] != "T")
                        {
                            Temp.Id   = Convert.ToInt32(Escrito[0]);
                            Temp.Name = Escrito[1];
                        }
                        else
                        {
                            LlaveArbolPrioridad Temp2 = new LlaveArbolPrioridad();
                            Temp2.CodigoHash = Escrito[1];
                            Temp2.Prioridad  = Convert.ToInt32(Escrito[2]);
                            Temp.Tarea.add(Temp2);
                        }
                    }
                }
                Datos.Close();
            }
            Cargardatos2();
        }
        public IActionResult Create([Bind("Id,Titulo,Descripcion,Proyecto,Prioridad,Fecha")] Tarea Tarea, [Bind("Prioridad")] LlaveArbolPrioridad ArbolModel)
        {
            Tarea.Developer = F.Developer;
            TareaD  comparador  = Tarea.Compare_Titulo2;
            TareaD2 comparador2 = Tarea.Compare_Titulo;

            ArbolModel.CodigoHash = Tarea.Titulo;
            Tarea Temp1 = F.Tabla_Hash.Remove2(ArbolModel.CodigoHash, ArbolModel.CodigoHash);

            if (Temp1 != null)
            {
                return(RedirectToAction("ErrorTitulo"));
            }
            Developer Temp     = F.Tareas.Find(m => comparador(m, F.Developer) == 0);
            int       posicion = F.Tareas.Find2(m => comparador(m, F.Developer) == 0);

            Temp.Tarea.add(ArbolModel);
            F.Tareas.replace(Temp, posicion);
            F.Tabla_Hash.Add(Tarea.Titulo, Tarea);
            string mydocs = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            string folder = "LAB04";
            string R      = mydocs + '\\' + folder;

            Escribir(R + "\\Dev.txt", EscribirDatos());
            Escribir(R + "\\Tabla.txt", EscribirDatos2());
            Escribir(R + "\\subdatos.txt", EscribirDatos3());
            return(RedirectToAction("Developer"));
        }
        public void Cargardatos()
        {
            string mydocs = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            string folder = "ProyectoF";
            string R      = mydocs + '\\' + folder;

            using (TextFieldParser Datos = new TextFieldParser(R + "\\Tabla.txt"))
            {
                Datos.TextFieldType = FieldType.Delimited;
                Datos.SetDelimiters(",");
                while (!Datos.EndOfData)
                {
                    int          espacio    = 0;
                    PacienteComp Comparador = Hospitales.Compare_Municipio;

                    Paciente Temp    = new Paciente();
                    string[] Escrito = Datos.ReadFields();
                    if (Escrito[0] == "L")
                    {
                        Hospitales Hosp = new Hospitales();
                        Hosp.Municipio     = Escrito[1];
                        Hosp.TempFecha     = Convert.ToDateTime(Escrito[2]);
                        Hosp.CantidadPasar = Convert.ToInt32(Escrito[3]);
                        F.hospitales.Add(Hosp);

                        espacio = 4;
                    }
                    if (Escrito[0 + espacio] == "T")
                    {
                        Temp.Id             = Convert.ToInt32(Escrito[1 + espacio]);
                        Temp.Nombre         = Escrito[2 + espacio]; Temp.Apellido = Escrito[3 + espacio]; Temp.DPI = Convert.ToInt64(Escrito[4 + espacio]);
                        Temp.Departamento   = Escrito[5 + espacio]; Temp.Municipio = Escrito[6 + espacio];
                        Temp.Edad           = Convert.ToInt32(Escrito[7 + espacio]); Temp.Areadetrabajo = Convert.ToInt32(Escrito[8 + espacio]);
                        Temp.Salud          = Convert.ToInt32(Escrito[9 + espacio]); Temp.Est = Convert.ToInt32(Escrito[10 + espacio]);
                        Temp.Asilo          = Convert.ToInt32(Escrito[11 + espacio]); Temp.Fecha = Convert.ToDateTime(Escrito[12 + espacio]);
                        Temp.Paciente_Llego = Convert.ToBoolean(Escrito[13 + espacio]); Temp.Prioridad = Convert.ToDouble(Escrito[14 + espacio]);
                        var Temphospital = F.hospitales.Find(m => Comparador(m, Temp.Municipio) == 0);
                        var TempTabla    = Temphospital.PacientesVacunados;
                        TempTabla.Add(Convert.ToString(Temp.DPI), Temp);
                        var Temparbol = Temphospital.vacunados;
                        LlaveArbolPrioridad Templlave = new LlaveArbolPrioridad();
                        Templlave.CodigoHash = Convert.ToInt64(Temp.DPI);
                        Templlave.Prioridad  = Convert.ToDouble(Temp.Prioridad);
                        Temparbol.add(Templlave);
                        F.Tabla_Hash.Add(Convert.ToString(Temp.DPI), Temp);
                        //Arboles de busqueda
                        var TempNombre   = new LlaveArbolNombre();
                        var TempDR       = new LlaveArbolNumeroDR();
                        var TempApellido = new LlaveArbolApellido();
                        TempDR.CodigoHash = Temp.DPI;
                        TempDR.NumeroDR   = Temp.DPI;
                        F.Arbol_NumeroDR.Add(TempDR);

                        TempNombre.Nombre     = Temp.Nombre;
                        TempNombre            = F.Arbol_Nombre.Find(TempNombre);
                        TempApellido.Apellido = Temp.Apellido;
                        TempApellido          = F.Arbol_Apellido.Find(TempApellido);
                        if (TempNombre == null)
                        {
                            TempNombre            = new LlaveArbolNombre();
                            TempNombre.CodigoHash = Temp.DPI;
                            TempNombre.Nombre     = Temp.Nombre;
                            F.Arbol_Nombre.Add(TempNombre);
                        }
                        if (TempApellido == null)
                        {
                            TempApellido            = new LlaveArbolApellido();
                            TempApellido.CodigoHash = Temp.DPI;
                            TempApellido.Apellido   = Temp.Apellido;
                            F.Arbol_Apellido.Add(TempApellido);
                        }
                    }
                    else if (Escrito[0 + espacio] == "U")
                    {
                        F.vacunados = Convert.ToInt32(Escrito[1 + espacio]);
                        F.total     = Convert.ToInt32(Escrito[2 + espacio]);
                    }
                    else
                    {
                        Temp.Id             = Convert.ToInt32(Escrito[0 + espacio]);
                        Temp.Nombre         = Escrito[1 + espacio]; Temp.Apellido = Escrito[2 + espacio]; Temp.DPI = Convert.ToInt64(Escrito[3 + espacio]);
                        Temp.Departamento   = Escrito[4 + espacio]; Temp.Municipio = Escrito[5 + espacio];
                        Temp.Edad           = Convert.ToInt32(Escrito[6 + espacio]); Temp.Areadetrabajo = Convert.ToInt32(Escrito[7 + espacio]);
                        Temp.Salud          = Convert.ToInt32(Escrito[8 + espacio]); Temp.Est = Convert.ToInt32(Escrito[9 + espacio]);
                        Temp.Asilo          = Convert.ToInt32(Escrito[10 + espacio]); Temp.Fecha = Convert.ToDateTime(Escrito[11 + espacio]);
                        Temp.Paciente_Llego = Convert.ToBoolean(Escrito[12 + espacio]); Temp.Prioridad = Convert.ToDouble(Escrito[13 + espacio]);
                        var Temphospital = F.hospitales.Find(m => Comparador(m, Temp.Municipio) == 0);
                        var TempTabla    = Temphospital.Pacientes;
                        TempTabla.Add(Convert.ToString(Temp.DPI), Temp);
                        LlaveArbolPrioridad Templlave = new LlaveArbolPrioridad();
                        Templlave.CodigoHash = Convert.ToInt64(Temp.DPI);
                        Templlave.Prioridad  = Convert.ToDouble(Temp.Prioridad);
                        if (Temp.Fecha.Year == 1)
                        {
                            var temparbol = Temphospital.Registrar;
                            temparbol.add(Templlave);
                        }
                        else
                        {
                            var temparbol = Temphospital.Espera;
                            temparbol.add(Templlave);
                        }
                        F.Tabla_Hash.Add(Convert.ToString(Temp.DPI), Temp);
                        //Arboles de busqueda
                        var TempNombre   = new LlaveArbolNombre();
                        var TempDR       = new LlaveArbolNumeroDR();
                        var TempApellido = new LlaveArbolApellido();
                        TempDR.CodigoHash = Temp.DPI;
                        TempDR.NumeroDR   = Temp.DPI;
                        F.Arbol_NumeroDR.Add(TempDR);

                        TempNombre.Nombre     = Temp.Nombre;
                        TempNombre            = F.Arbol_Nombre.Find(TempNombre);
                        TempApellido.Apellido = Temp.Apellido;
                        TempApellido          = F.Arbol_Apellido.Find(TempApellido);
                        if (TempNombre == null)
                        {
                            TempNombre            = new LlaveArbolNombre();
                            TempNombre.CodigoHash = Temp.DPI;
                            TempNombre.Nombre     = Temp.Nombre;
                            F.Arbol_Nombre.Add(TempNombre);
                        }
                        if (TempApellido == null)
                        {
                            TempApellido            = new LlaveArbolApellido();
                            TempApellido.CodigoHash = Temp.DPI;
                            TempApellido.Apellido   = Temp.Apellido;
                            F.Arbol_Apellido.Add(TempApellido);
                        }
                    }
                }
                Datos.Close();
            }
        }
        public IActionResult Registro(int id, [Bind("Nombre,Apellido,DPI,Departamento,Municipio,Edad,Areadetrabajo,Salud,Est,Asilo")] Paciente DatosP)
        {
            var TempNombre   = new LlaveArbolNombre();
            var TempDR       = new LlaveArbolNumeroDR();
            var TempApellido = new LlaveArbolApellido();

            TempDR.NumeroDR       = DatosP.DPI;
            TempDR                = F.Arbol_NumeroDR.Find(TempDR);
            TempNombre.Nombre     = DatosP.Nombre;
            TempNombre            = F.Arbol_Nombre.Find(TempNombre);
            TempApellido.Apellido = DatosP.Apellido;
            TempApellido          = F.Arbol_Apellido.Find(TempApellido);
            if (TempDR == null)
            {
                TempDR            = new LlaveArbolNumeroDR();
                TempDR.CodigoHash = DatosP.DPI;
                TempDR.NumeroDR   = DatosP.DPI;
                F.Arbol_NumeroDR.Add(TempDR);
            }
            else
            {
                return(RedirectToAction("ErrorDPI"));
            }
            if (TempNombre == null)
            {
                TempNombre            = new LlaveArbolNombre();
                TempNombre.CodigoHash = DatosP.DPI;
                TempNombre.Nombre     = DatosP.Nombre;
                F.Arbol_Nombre.Add(TempNombre);
            }
            if (TempApellido == null)
            {
                TempApellido            = new LlaveArbolApellido();
                TempApellido.CodigoHash = DatosP.DPI;
                TempApellido.Apellido   = DatosP.Apellido;
                F.Arbol_Apellido.Add(TempApellido);
            }
            bool Comprobacion        = false;
            LlaveArbolPrioridad Temp = new LlaveArbolPrioridad();

            Temp.CodigoHash = DatosP.DPI;
            if (DatosP.Areadetrabajo > 2)
            {
                if (DatosP.Est == 1)
                {
                    Temp.Prioridad = 1.2;
                    Comprobacion   = true;
                }
                if (DatosP.Areadetrabajo > 5)
                {
                    if (DatosP.Asilo == 1)
                    {
                        Temp.Prioridad = 1.4;
                        Comprobacion   = true;
                    }
                    if (DatosP.Areadetrabajo > 6)
                    {
                        if (DatosP.Salud != 10)
                        {
                            Temp.Prioridad = 2.0;
                            Comprobacion   = true;
                        }
                    }
                }
            }
            if (Comprobacion != true)
            {
                switch (DatosP.Areadetrabajo)
                {
                case 1:
                    Temp.Prioridad = 1.0; break;

                case 2:
                    Temp.Prioridad = 1.1; break;

                case 3:
                    Temp.Prioridad = 1.3; break;

                case 4:
                    Temp.Prioridad = 1.3; break;

                case 5:
                    Temp.Prioridad = 1.3; break;

                case 6:
                    Temp.Prioridad = 1.5; break;

                case 7:
                    Temp.Prioridad = 3.0; break;

                case 8:
                    Temp.Prioridad = 3.1; break;

                case 9:
                    Temp.Prioridad = 3.2; break;

                case 10:
                    Temp.Prioridad = 3.3; break;

                case 11:
                    if (DatosP.Edad >= 70)
                    {
                        Temp.Prioridad = 2.0;
                    }
                    else if (DatosP.Edad >= 50)
                    {
                        Temp.Prioridad = 2.1;
                    }
                    else if (DatosP.Edad >= 40)
                    {
                        Temp.Prioridad = 4.0;
                    }
                    else
                    {
                        Temp.Prioridad = 4.1;
                    }
                    break;
                }
            }
            PacienteComp Comparador = Hospitales.Compare_Municipio;
            Hospitales   hospital   = new Hospitales();

            hospital = F.hospitales.Find(m => Comparador(m, DatosP.Municipio) == 0);
            if (hospital == null)
            {
                Hospitales Nuevohospital = new Hospitales();
                Nuevohospital.Municipio = DatosP.Municipio;
                F.hospitales.Add(Nuevohospital);
                hospital = F.hospitales.Find(m => Comparador(m, DatosP.Municipio) == 0);
            }
            var arbolP = hospital.Registrar;
            var tablah = hospital.Pacientes;

            F.total++;
            arbolP.add(Temp);
            DatosP.Prioridad = Temp.Prioridad;
            tablah.Add(Convert.ToString(DatosP.DPI), DatosP);
            F.Tabla_Hash.Add(Convert.ToString(DatosP.DPI), DatosP);
            HttpContext.Session.SetString("municipio", DatosP.Municipio);
            string mydocs = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            string folder = "ProyectoF";
            string R      = mydocs + '\\' + folder;

            Escribir(R + "\\Tabla.txt", EscribirDatos());
            return(RedirectToAction("Index", "Pacientes"));
        }