public IActionResult CrearPaciente(IFormCollection collection) { var NuevoPaciente = new Models.DatosPaciente { NombrePaciente = Regex.Replace(collection["NombrePaciente"], @"\s", "").ToUpper(), ApellidoPaciente = Regex.Replace(collection["ApellidoPaciente"], @"\s", "").ToUpper(), DPIPartidadenacimiento = Regex.Replace(collection["DPIPartidadenacimiento"], @"\s", ""), Edad = Convert.ToInt32(Regex.Replace(collection["Edad"], @"\s", "")), Departamento = Regex.Replace(collection["Departamento"], @"\s", "").ToUpper(), }; Singleton.Instance.ListaParaView.Add(NuevoPaciente); return(RedirectToAction("CrearCita")); }
public IActionResult CamasVacunacion(string Municipio, string Paciente1, string Paciente2, string Paciente3) { Singleton.Instance.ListaParaFechas.Clear(); if (Municipio != null) { NodoFecha <DatosPaciente> Primero = new NodoFecha <DatosPaciente>(); NodoFecha <DatosPaciente> Segundo = new NodoFecha <DatosPaciente>(); NodoFecha <DatosPaciente> Tercero = new NodoFecha <DatosPaciente>(); Primero = Singleton.Instance.EstructuraParaCitas.RetornarEstructura(Regex.Replace(Municipio, @"\s", "").ToUpper()).Vacunacion(); if (Primero != null) { Singleton.Instance.Listacamasvacunacion.Add(Primero.Data); Segundo = Primero.PrimerHijo; if (Segundo != null) { Singleton.Instance.Listacamasvacunacion.Add(Segundo.Data); Tercero = Primero.SegundoHijo; if (Tercero != null) { Singleton.Instance.Listacamasvacunacion.Add(Tercero.Data); } } } } if (Paciente1 != null) { if (Paciente1 == "Si") { var NuevoHash = new Models.DatosPaciente { NombrePaciente = Singleton.Instance.Listacamasvacunacion[0].NombrePaciente, ApellidoPaciente = Singleton.Instance.Listacamasvacunacion[0].ApellidoPaciente, DPIPartidadenacimiento = Singleton.Instance.Listacamasvacunacion[0].DPIPartidadenacimiento }; int posicion = Singleton.Instance.TablaHashPacientes.FuncionHash(NuevoHash.NombrePaciente, NuevoHash.ApellidoPaciente, NuevoHash.DPIPartidadenacimiento); for (int i = 0; i < Singleton.Instance.TablaHashPacientes.ArrayHash[posicion].lista.Length; i++) { if (Singleton.Instance.TablaHashPacientes.ArrayHash[posicion].lista[i].Data.NombrePaciente == NuevoHash.NombrePaciente) { Singleton.Instance.TablaHashPacientes.ArrayHash[posicion].lista[i].Data.EstadoVacunado = "Si"; Singleton.Instance.ListadoVacunados.Add(Singleton.Instance.TablaHashPacientes.ArrayHash[posicion].lista[i].Data); vacunados += 1; novacunados -= 1; } } } else { DateTime Nuevo = LLamadoFecha.FechaParaAsignar(); Singleton.Instance.EstructuraParaCitas.RetornarEstructura(Singleton.Instance.Listacamasvacunacion[0].Municipio).InsertarFecha(Singleton.Instance.ListadePacientesParaV[0], Nuevo); } } if (Paciente2 != null) { if (Paciente2 == "Si") { var NuevoHash = new Models.DatosPaciente { NombrePaciente = Singleton.Instance.Listacamasvacunacion[1].NombrePaciente, ApellidoPaciente = Singleton.Instance.Listacamasvacunacion[1].ApellidoPaciente, DPIPartidadenacimiento = Singleton.Instance.Listacamasvacunacion[1].DPIPartidadenacimiento }; int posicion = Singleton.Instance.TablaHashPacientes.FuncionHash(NuevoHash.NombrePaciente, NuevoHash.ApellidoPaciente, NuevoHash.DPIPartidadenacimiento); for (int i = 0; i < Singleton.Instance.TablaHashPacientes.ArrayHash[posicion].lista.Length; i++) { if (Singleton.Instance.TablaHashPacientes.ArrayHash[posicion].lista[i].Data.NombrePaciente == NuevoHash.NombrePaciente) { Singleton.Instance.TablaHashPacientes.ArrayHash[posicion].lista[i].Data.EstadoVacunado = "Si"; Singleton.Instance.ListadoVacunados.Add(Singleton.Instance.TablaHashPacientes.ArrayHash[posicion].lista[i].Data); vacunados += 1; novacunados -= 1; } } } else { DateTime Nuevo = LLamadoFecha.FechaParaAsignar(); Singleton.Instance.EstructuraParaCitas.RetornarEstructura(Singleton.Instance.Listacamasvacunacion[1].Municipio).InsertarFecha(Singleton.Instance.Listacamasvacunacion[1], Nuevo); } } if (Paciente3 != null) { if (Paciente3 == "Si") { var NuevoHash = new Models.DatosPaciente { NombrePaciente = Singleton.Instance.Listacamasvacunacion[2].NombrePaciente, ApellidoPaciente = Singleton.Instance.Listacamasvacunacion[2].ApellidoPaciente, DPIPartidadenacimiento = Singleton.Instance.Listacamasvacunacion[2].DPIPartidadenacimiento }; int posicion = Singleton.Instance.TablaHashPacientes.FuncionHash(NuevoHash.NombrePaciente, NuevoHash.ApellidoPaciente, NuevoHash.DPIPartidadenacimiento); for (int i = 0; i < Singleton.Instance.TablaHashPacientes.ArrayHash[posicion].lista.Length; i++) { if (Singleton.Instance.TablaHashPacientes.ArrayHash[posicion].lista[i].Data.NombrePaciente == NuevoHash.NombrePaciente) { Singleton.Instance.TablaHashPacientes.ArrayHash[posicion].lista[i].Data.EstadoVacunado = "Si"; Singleton.Instance.ListadoVacunados.Add(Singleton.Instance.TablaHashPacientes.ArrayHash[posicion].lista[i].Data); vacunados += 1; novacunados = -1; } } } else { DateTime Nuevo = LLamadoFecha.FechaParaAsignar(); Singleton.Instance.EstructuraParaCitas.RetornarEstructura(Singleton.Instance.Listacamasvacunacion[2].Municipio).InsertarFecha(Singleton.Instance.ListadePacientesParaV[2], Nuevo); } } return(View(Singleton.Instance.Listacamasvacunacion)); }
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")); }