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")); }
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 ActionResult Search(string Filter, string Param) { if (F.Arbol_Nombre.isempty()) { return(RedirectToAction("ErrorBuscar")); } if (Param == null) { return(RedirectToAction("ErrorBuscar")); } LlaveArbolNombre ANombre; LlaveArbolApellido AApellido; LlaveArbolNumeroDR ANumero; DoubleLinkedList <Paciente> TempVista = new DoubleLinkedList <Paciente>(); switch (Filter) { case "Nombre": try { Int64 pureba1 = Convert.ToInt64(Param); return(RedirectToAction("ErrorBuscar")); } catch { } AVL <LlaveArbolNombre> Temparbol3 = new AVL <LlaveArbolNombre>(LlaveArbolNombre.Compare_Llave_Arbol2); Temparbol3 = F.Arbol_Nombre.Clone(); try { ANombre = new LlaveArbolNombre { Nombre = Param }; ANombre = Temparbol3.Find(ANombre); if (ANombre != null) { Temparbol3.RemoveAt(ANombre); Paciente TempPaciente = new Paciente(); TempPaciente = F.Tabla_Hash.Find(Convert.ToString(ANombre.CodigoHash)); TempVista.Add(TempPaciente); } return(View(TempVista)); } catch { return(RedirectToAction("ErrorBuscar")); } case "Apellido": try { Int64 pureba1 = Convert.ToInt64(Param); return(RedirectToAction("ErrorBuscar")); } catch { } AVL <LlaveArbolApellido> Temparbol2 = new AVL <LlaveArbolApellido>(LlaveArbolApellido.Compare_Llave_Arbol2); Temparbol2 = F.Arbol_Apellido.Clone(); try { AApellido = new LlaveArbolApellido { Apellido = Param }; AApellido = Temparbol2.Find(AApellido); if (AApellido != null) { Temparbol2.RemoveAt(AApellido); Paciente TempPaciente = new Paciente(); TempPaciente = F.Tabla_Hash.Find(Convert.ToString(AApellido.CodigoHash)); TempVista.Add(TempPaciente); } return(View(TempVista)); } catch { return(RedirectToAction("ErrorBuscar")); } case "DPI": AVL <LlaveArbolNumeroDR> Temparbol = new AVL <LlaveArbolNumeroDR>(LlaveArbolNumeroDR.Compare_Llave_Arbol2); Temparbol = F.Arbol_NumeroDR.Clone(); try { Int64 Param2 = Convert.ToInt64(Param); ANumero = new LlaveArbolNumeroDR { NumeroDR = Param2 }; ANumero = Temparbol.Find(ANumero); if (ANumero != null) { Temparbol.RemoveAt(ANumero); Paciente TempPaciente = new Paciente(); TempPaciente = F.Tabla_Hash.Find(Convert.ToString(ANumero.CodigoHash)); TempVista.Add(TempPaciente); } return(View(TempVista)); } catch { return(RedirectToAction("ErrorBuscar")); } default: return(RedirectToAction("Busqueda")); } }