public IActionResult DatosParaVacunacion(string Municipio)//Creacion Para Verificar a los primeros de la cola { Singleton.Instance.ListaMuesraPrimerosCola.Clear(); Singleton.Instance.ListaParaFechas.Clear(); if (Municipio != null) { DelegadosN Prioridad = new DelegadosN(CallDatosPersona.CompareToPrioridad); DatosPaciente PrimerPaciente = new DatosPaciente(); DatosPaciente SegundoPaciente = new DatosPaciente(); DatosPaciente TercerPaciente = new DatosPaciente(); DatosPaciente NodoDefault = new DatosPaciente(); NodoDefault.NombrePaciente = "Ya no se encuentra ninguno mas"; PrimerPaciente = Singleton.Instance.HospitalesColas.RetornarEstructura(Regex.Replace(Municipio, @"\s", "").ToUpper()).returnNode(Prioridad, NodoDefault); Singleton.Instance.HospitalesColas.RetornarEstructura(Regex.Replace(Municipio, @"\s", "").ToUpper()).HeapSort(Prioridad); Singleton.Instance.ListaMuesraPrimerosCola.Add(PrimerPaciente); Singleton.Instance.ListadePacientesParaV.Add(PrimerPaciente); SegundoPaciente = Singleton.Instance.HospitalesColas.RetornarEstructura(Regex.Replace(Municipio, @"\s", "").ToUpper()).returnNode(Prioridad, NodoDefault); Singleton.Instance.HospitalesColas.RetornarEstructura(Regex.Replace(Municipio, @"\s", "").ToUpper()).HeapSort(Prioridad); Singleton.Instance.ListaMuesraPrimerosCola.Add(SegundoPaciente); Singleton.Instance.ListadePacientesParaV.Add(SegundoPaciente); TercerPaciente = Singleton.Instance.HospitalesColas.RetornarEstructura(Regex.Replace(Municipio, @"\s", "").ToUpper()).returnNode(Prioridad, NodoDefault); Singleton.Instance.HospitalesColas.RetornarEstructura(Regex.Replace(Municipio, @"\s", "").ToUpper()).HeapSort(Prioridad); Singleton.Instance.ListaMuesraPrimerosCola.Add(TercerPaciente); Singleton.Instance.ListadePacientesParaV.Add(TercerPaciente); return(View(Singleton.Instance.ListaMuesraPrimerosCola)); } return(View(Singleton.Instance.ListaMuesraPrimerosCola)); }
public IActionResult DatosParaAceptarPaciente(string ValidarCe, string DeclinarCe) { Singleton.Instance.ListaParaFechas.Clear(); if (ValidarCe != null && Singleton.Instance.ListadePacientesParaV.Count != 0) { for (int i = 0; i < 3; i++) { if (Singleton.Instance.ListadePacientesParaV[i].Edad != 0) { if (Singleton.Instance.Contador >= 0 && Singleton.Instance.Contador <= 2) { DateTime Nueva = LLamadoFecha.FechaParaAsignar(); Singleton.Instance.EstructuraParaCitas.RetornarEstructura(Singleton.Instance.ListadePacientesParaV[i].Municipio).InsertarFecha(Singleton.Instance.ListadePacientesParaV[i], Nueva); Singleton.Instance.ListaParaFechas.Add(Singleton.Instance.ListadePacientesParaV[i]); } else if (Singleton.Instance.Contador >= 3 && Singleton.Instance.Contador <= 5) { DateTime Nueva = LLamadoFecha.FechaParaAsignar(); Singleton.Instance.EstructuraParaCitas.RetornarEstructura(Singleton.Instance.ListadePacientesParaV[i].Municipio).InsertarFecha(Singleton.Instance.ListadePacientesParaV[i], Nueva); Singleton.Instance.ListaParaFechas.Add(Singleton.Instance.ListadePacientesParaV[i]); } else { DateTime Nueva = LLamadoFecha.FechaParaAsignar(); Singleton.Instance.EstructuraParaCitas.RetornarEstructura(Singleton.Instance.ListadePacientesParaV[i].Municipio).InsertarFecha(Singleton.Instance.ListadePacientesParaV[i], Nueva); Singleton.Instance.ListaParaFechas.Add(Singleton.Instance.ListadePacientesParaV[i]); } } } Singleton.Instance.ListadePacientesParaV.Clear(); return(RedirectToAction("FechadeCitas")); } else if (DeclinarCe != null && Singleton.Instance.ListadePacientesParaV.Count != 0) { for (int i = 0; i < 3; i++) { if (Singleton.Instance.ListadePacientesParaV[i].Edad > 0) { DelegadosN Ordenar = new DelegadosN(CallDatosPersona.CompareToPrioridad); Singleton.Instance.HospitalesColas.RetornarEstructura(Singleton.Instance.ListadePacientesParaV[i].Municipio).InsertQueue(Singleton.Instance.ListadePacientesParaV[i]); Singleton.Instance.HospitalesColas.RetornarEstructura(Singleton.Instance.ListadePacientesParaV[i].Municipio).HeapSort(Ordenar); } } Singleton.Instance.ListadePacientesParaV.Clear(); return(RedirectToAction("Index")); } else { return(RedirectToAction("Index")); } }
public IActionResult CrearCita(IFormCollection collection) { FuncionesDeApoyo CallFunc = new FuncionesDeApoyo(); int PrioridadEdad = 0, PrioridadEnfermedad = 16, PrioridadTrabajo = 0; if (collection["Enfermedades"] == "1") { PrioridadEnfermedad = 7; } if (Singleton.Instance.ListaParaView[0].Edad >= 70) { PrioridadEdad = 7; } else if (Singleton.Instance.ListaParaView[0].Edad >= 50 && Singleton.Instance.ListaParaView[0].Edad <= 69) { PrioridadEdad = 8; } else if (Singleton.Instance.ListaParaView[0].Edad >= 40 && Singleton.Instance.ListaParaView[0].Edad <= 49) { PrioridadEdad = 13; } else { PrioridadEdad = 14; } PrioridadTrabajo = Convert.ToInt32(collection["Trabajo"]); int PrioridadTotal = CallFunc.Menor(PrioridadEdad, PrioridadEnfermedad, PrioridadTrabajo); var NuevaCrearCita = new Models.DatosPaciente { NombrePaciente = Singleton.Instance.ListaParaView[0].NombrePaciente, ApellidoPaciente = Singleton.Instance.ListaParaView[0].ApellidoPaciente, DPIPartidadenacimiento = Singleton.Instance.ListaParaView[0].DPIPartidadenacimiento, Edad = Singleton.Instance.ListaParaView[0].Edad, Departamento = Singleton.Instance.ListaParaView[0].Departamento, Enfermedades = Regex.Replace(collection["Enfermedades"], @"\s", ""), Municipio = Regex.Replace(collection["Municipio"], @"\s", "").ToUpper(), Prioridad = PrioridadTotal, EstadoVacunado = "No" }; novacunados += 1; //Ingreso de la posicion a la estructura de tabla hash int posicion = Singleton.Instance.TablaHashPacientes.FuncionHash(NuevaCrearCita.NombrePaciente, NuevaCrearCita.ApellidoPaciente, NuevaCrearCita.DPIPartidadenacimiento); NodoHash <DatosPaciente> datospaciente = new NodoHash <DatosPaciente>(); datospaciente = Singleton.Instance.TablaHashPacientes.CrearNodo(NuevaCrearCita); Singleton.Instance.TablaHashPacientes.ArrayHash[posicion].insertarNodo(datospaciente); //Insertar datos en los arboles AVL //Nombre DelegadosN InvocarNombre = new DelegadosN(CallDatosPersona.CompareToNombre); Singleton.Instance.AccesoArbol.Insertar(NuevaCrearCita, InvocarNombre); //Apellido DelegadosN InvocarApellido = new DelegadosN(CallDatosPersona.CompareToApellido); Singleton.Instance.ArbolGeneralApellido.Insertar(NuevaCrearCita, InvocarApellido); //DPI DelegadosN InvocarDPI = new DelegadosN(CallDatosPersona.CompareToDPI); Singleton.Instance.ArbolGeneralDPI.Insertar(NuevaCrearCita, InvocarApellido); //Insertar en los hospitales DelegadosN Ordenar = new DelegadosN(CallDatosPersona.CompareToPrioridad); Singleton.Instance.HospitalesColas.RetornarEstructura(NuevaCrearCita.Municipio).InsertQueue(NuevaCrearCita); Singleton.Instance.HospitalesColas.RetornarEstructura(NuevaCrearCita.Municipio).HeapSort(Ordenar); Singleton.Instance.BusquedadHospitales.RetornarEstructura(NuevaCrearCita.Municipio).Insertar(NuevaCrearCita, InvocarNombre); Singleton.Instance.BusquedadHospitalApellido.RetornarEstructura(NuevaCrearCita.Municipio).Insertar(NuevaCrearCita, InvocarApellido); Singleton.Instance.BusquedadHospitalDPI.RetornarEstructura(NuevaCrearCita.Municipio).Insertar(NuevaCrearCita, InvocarDPI); Singleton.Instance.ListaParaView.Clear(); return(RedirectToAction("Index")); }