public ActionResult Buscar(string Texto, string Tipo) { List <mPaciente> Encontrados = new List <mPaciente>(); mPaciente paciente = new mPaciente(); switch (Tipo) { case "Nombre": paciente.Nombre = Texto; Encontrados = Caja_BD.Instance.arbol_Nom.Busqueda_Same(paciente, mPaciente.Comparar_Nombre); break; case "Apellido": paciente.Apellido = Texto; Encontrados = Caja_BD.Instance.arbol_Nom.Busqueda_Same(paciente, mPaciente.Comparar_Apellido); break; case "DPI": paciente.Dpi = Texto; if (Caja_BD.Instance.arbol_Nom.Buscar(paciente, mPaciente.Comparar_DPI) != null) { Encontrados.Add(Caja_BD.Instance.arbol_Nom.Buscar(paciente, mPaciente.Comparar_DPI)); } break; } return(View("Busquedas", Encontrados)); }
public ActionResult Buscar(string Texto, string Tipo) { List <mPaciente> Encontrados = new List <mPaciente>(); List <mPaciente> Correct = new List <mPaciente>(); mPaciente paciente = new mPaciente(); switch (Tipo) { case "Nombre": paciente.Nombre = Texto; Encontrados = Caja_BD.Instance.arbol_Nom.Busqueda_Same(paciente, mPaciente.Comparar_Nombre); break; case "Apellido": paciente.Apellido = Texto; Encontrados = Caja_BD.Instance.arbol_Ape.Busqueda_Same(paciente, mPaciente.Comparar_Apellido); break; case "DPI": paciente.Dpi = Texto; if (Caja_BD.Instance.arbol_Dpi.Buscar(paciente, mPaciente.Comparar_DPI) != null) { Encontrados.Add(Caja_BD.Instance.arbol_Dpi.Buscar(paciente, mPaciente.Comparar_DPI)); } break; } if (Encontrados.Count == 0 || Encontrados == null) { ViewBag.Info = "No se encontraron resultados"; } try { foreach (mPaciente elem in Encontrados) { if (elem == null) { Encontrados = null; } else { Correct.Add(elem); } } } catch { ViewBag.Info = "No se encontraron resultados"; } return(View("Busquedas", Correct)); }
// GET: Hospitales/MenuHospital/Infectados public ActionResult Infectados(string hosp) { mPaciente Paciente_Raiz = new mPaciente(); switch (hosp) { case "Guatemala": if (Caja_Hospitales.Instance.hospitals[0].cola_infect.raiz != null) { Paciente_Raiz = Caja_Hospitales.Instance.hospitals[0].cola_infect.raiz.Valor; } ViewBag.Hospital = "Guatemala"; break; case "Petén": if (Caja_Hospitales.Instance.hospitals[1].cola_infect.raiz != null) { Paciente_Raiz = Caja_Hospitales.Instance.hospitals[1].cola_infect.raiz.Valor; } ViewBag.Hospital = "Petén"; break; case "Chiquimula": if (Caja_Hospitales.Instance.hospitals[2].cola_infect.raiz != null) { Paciente_Raiz = Caja_Hospitales.Instance.hospitals[2].cola_infect.raiz.Valor; } ViewBag.Hospital = "Chiquimula"; break; case "Escuintla": if (Caja_Hospitales.Instance.hospitals[3].cola_infect.raiz != null) { Paciente_Raiz = Caja_Hospitales.Instance.hospitals[3].cola_infect.raiz.Valor; } ViewBag.Hospital = "Escuintla"; break; case "Quetzaltenango": if (Caja_Hospitales.Instance.hospitals[4].cola_infect.raiz != null) { Paciente_Raiz = Caja_Hospitales.Instance.hospitals[4].cola_infect.raiz.Valor; } ViewBag.Hospital = "Quetzaltenango"; break; } return(View(Paciente_Raiz)); }
// GET: Hospitales/Sanar/ public ActionResult Curar(string dpi) { mPaciente paciente = new mPaciente { Dpi = dpi }; paciente = Caja_BD.Instance.arbol_Dpi.Buscar(paciente, mPaciente.Comparar_DPI); string Hosp_name = paciente.Name_hosp; int pos = 0; switch (paciente.Name_hosp) { case "Guatemala": pos = 0; break; case "Petén": pos = 1; break; case "Chiquimula": pos = 2; break; case "Escuintla": pos = 3; break; case "Quetzaltenango": pos = 4; break; } Caja_BD.Instance.arbol_Dpi.Modificar_Status(paciente, mPaciente.Cambiar_sano, mPaciente.Comparar_DPI, mPaciente.Comparar_DPI); Caja_Hospitales.Instance.hospitals[pos].camillas.Eliminar(paciente.Dpi, mPaciente.Obt_DPI, mPaciente.Del_CodeHash); Caja_Hospitales.Instance.Stadistica.Recuperados++; Caja_Hospitales.Instance.Stadistica.Activos--; mPaciente paciente_aux = Caja_Hospitales.Instance.hospitals[pos].cola_infect.Eliminar(mPaciente.Comparar_Prioridad, mPaciente.EsPrioritario, mPaciente.Comparar_DPI); if (paciente_aux != null) { Caja_Hospitales.Instance.hospitals[pos].camillas.Guardar_V(paciente_aux.Dpi, paciente_aux, mPaciente.Del_CodeHash); Caja_Hospitales.Instance.Stadistica.Activos++; } ViewBag.Info = "El paciente " + paciente.Nombre + " " + paciente.Apellido + ", identificado con el DPI: " + paciente.Dpi + ". Se ha recuperado."; ViewBag.Hospital = Hosp_name; return(View("MenuHospital")); }
public void Asignar_Camilla(mPaciente paciente_nuevo, int pos) { Caja_Hospitales.Instance.hospitals[pos].cola_infect.Eliminar(mPaciente.Comparar_Prioridad, mPaciente.EsPrioritario, mPaciente.Comparar_DPI); Caja_Hospitales.Instance.hospitals[pos].camillas.Guardar_V(paciente_nuevo.Dpi, paciente_nuevo, mPaciente.Del_CodeHash); Caja_Hospitales.Instance.Stadistica.Activos++; }
// GET: Hospitales/Simular/ public ActionResult Simular(string dpi) { mPaciente paciente = new mPaciente { Dpi = dpi }; paciente = Caja_BD.Instance.arbol_Dpi.Buscar(paciente, mPaciente.Comparar_DPI); string Hosp_name = paciente.Name_hosp; int pos = 0; switch (paciente.Name_hosp) { case "Guatemala": pos = 0; break; case "Petén": pos = 1; break; case "Chiquimula": pos = 2; break; case "Escuintla": pos = 3; break; case "Quetzaltenango": pos = 4; break; } Caja_Hospitales.Instance.hospitals[pos].cola_sospech.Eliminar(mPaciente.Comparar_Prioridad, mPaciente.EsPrioritario, mPaciente.Comparar_DPI); if (Simulacion(paciente.Descripcion_contagio)) { Caja_BD.Instance.arbol_Dpi.Modificar_Status(paciente, mPaciente.Cambiar_infect, mPaciente.Comparar_DPI, mPaciente.Comparar_DPI); /* Caja_BD.Instance.arbol_Nom.Modificar_Status(paciente, mPaciente.Cambiar_infect, mPaciente.Comparar_Nombre, mPaciente.Comparar_DPI); * Caja_BD.Instance.arbol_Ape.Modificar_Status(paciente, mPaciente.Cambiar_infect, mPaciente.Comparar_Apellido, mPaciente.Comparar_DPI); */ Caja_Hospitales.Instance.hospitals[pos].cola_infect.Agregar(Caja_BD.Instance.arbol_Dpi.Buscar(paciente, mPaciente.Comparar_DPI), mPaciente.EsPrioritario); if (Caja_Hospitales.Instance.hospitals[pos].camillas.cant < 10) { Asignar_Camilla(paciente, pos); ViewBag.Info = "El paciente " + paciente.Nombre + " " + paciente.Apellido + ", identificado con el DPI: " + paciente.Dpi + ". Fue ingresado a una camilla."; } else { Caja_Hospitales.Instance.Stadistica.Activos++; ViewBag.Info = "El paciente " + paciente.Nombre + " " + paciente.Apellido + ", identificado con el DPI: " + paciente.Dpi + ". Está infectado."; } } else { Caja_BD.Instance.arbol_Dpi.Modificar_Status(paciente, mPaciente.Cambiar_Noinfect, mPaciente.Comparar_DPI, mPaciente.Comparar_DPI); Caja_Hospitales.Instance.Stadistica.No_Infect++; ViewBag.Info = "El paciente " + paciente.Nombre + " " + paciente.Apellido + ", identificado con el DPI: " + paciente.Dpi + ". No está infectado."; } ViewBag.Hospital = Hosp_name; return(View("MenuHospital")); }
public ActionResult CrearPaciente(FormCollection contenedor) { try { string info = ""; mPaciente paciente_nuevo = new mPaciente(); paciente_nuevo.Nombre = contenedor["Nombre"]; paciente_nuevo.Apellido = contenedor["Apellido"]; paciente_nuevo.Dpi = contenedor["Dpi"]; paciente_nuevo.Fecha_Nac = Convert.ToDateTime(contenedor["Fecha_Nac"]); paciente_nuevo.Municipio_resi = contenedor["Municipio_resi"]; paciente_nuevo.Departamento_resi = contenedor["Depart"]; //Determinar si esta infectado if (contenedor["infectado"].Equals("Si")) { paciente_nuevo.Infectado = true; } else { paciente_nuevo.Infectado = false; } paciente_nuevo.Fecha_ingreso = Convert.ToDateTime(contenedor["Fecha_ingreso"]); paciente_nuevo.Sintomas = contenedor["Sintomas"]; paciente_nuevo.Descripcion_contagio = contenedor["Descripcion_contagio"]; //Verificaciones if (paciente_nuevo.Nombre == null || paciente_nuevo.Apellido == null || paciente_nuevo.Dpi == null || paciente_nuevo.Sintomas == null || paciente_nuevo.Descripcion_contagio == null) { ViewBag.Error = "Debe ingresar datos a los campos de nombre, apellido, DPI, sintomas y descripción de contagio"; return(View("CrearPaciente")); } else if (paciente_nuevo.Nombre == "" || paciente_nuevo.Apellido == "" || paciente_nuevo.Dpi == "" || paciente_nuevo.Sintomas == "" || paciente_nuevo.Descripcion_contagio == "") { ViewBag.Error = "Debe llenar datos a los campos de nombre, apellido, DPI, sintomas y descripción de contagio"; return(View("CrearPaciente")); } if (paciente_nuevo.Dpi.Length != 13) { ViewBag.Error = "Ingresar DPI correcto"; return(View("CrearPaciente")); } try { Convert.ToInt64(paciente_nuevo.Dpi); } catch { ViewBag.Error = "Ingresar DPI correcto"; return(View("CrearPaciente")); } int fecha = (DateTime.Today.Day - paciente_nuevo.Fecha_Nac.Day) + ((DateTime.Today.Month - paciente_nuevo.Fecha_Nac.Month) * 30) + ((DateTime.Today.Year - paciente_nuevo.Fecha_Nac.Year) * 365); if (fecha < 0) { ViewBag.Error = "Ingresar Fecha de nacimiento correcta"; return(View("CrearPaciente")); } fecha = (DateTime.Today.Day - paciente_nuevo.Fecha_ingreso.Day) + ((DateTime.Today.Month - paciente_nuevo.Fecha_ingreso.Month) * 30) + ((DateTime.Today.Year - paciente_nuevo.Fecha_ingreso.Year) * 365); if (fecha < 0) { ViewBag.Error = "Ingresar Fecha de ingreso correcta"; return(View("CrearPaciente")); } //Finaliza Verificaciones //Determinar a que hospital debe ser enviado if (paciente_nuevo.Departamento_resi.Equals("Alta Verapaz") || paciente_nuevo.Departamento_resi.Equals("Petén") || paciente_nuevo.Departamento_resi.Equals("Izabal") || paciente_nuevo.Departamento_resi.Equals("Quiché")) { paciente_nuevo.Name_hosp = "Petén"; } else if (paciente_nuevo.Departamento_resi.Equals("Guatemala") || paciente_nuevo.Departamento_resi.Equals("Baja Verapaz") || paciente_nuevo.Departamento_resi.Equals("El Progreso") || paciente_nuevo.Departamento_resi.Equals("Chimaltenango") || paciente_nuevo.Departamento_resi.Equals("Sacatepéquez")) { paciente_nuevo.Name_hosp = "Guatemala"; } else if (paciente_nuevo.Departamento_resi.Equals("Escuintla") || paciente_nuevo.Departamento_resi.Equals("Suchitepéquez") || paciente_nuevo.Departamento_resi.Equals("Retalhuleu") || paciente_nuevo.Departamento_resi.Equals("Sololá")) { paciente_nuevo.Name_hosp = "Escuintla"; } else if (paciente_nuevo.Departamento_resi.Equals("Chiquimula") || paciente_nuevo.Departamento_resi.Equals("Jalapa") || paciente_nuevo.Departamento_resi.Equals("Jutiapa") || paciente_nuevo.Departamento_resi.Equals("Santa Rosa") || paciente_nuevo.Departamento_resi.Equals("Zacapa")) { paciente_nuevo.Name_hosp = "Chiquimula"; } else if (paciente_nuevo.Departamento_resi.Equals("Quetzaltenango") || paciente_nuevo.Departamento_resi.Equals("Quiché") || paciente_nuevo.Departamento_resi.Equals("Huehuetenango") || paciente_nuevo.Departamento_resi.Equals("Totonicapán") || paciente_nuevo.Departamento_resi.Equals("San Marcos")) { paciente_nuevo.Name_hosp = "Quetzaltenango"; } double cant_year = ((DateTime.Today.Day - paciente_nuevo.Fecha_Nac.Day) + ((DateTime.Today.Month - paciente_nuevo.Fecha_Nac.Month) * 30) + ((DateTime.Today.Year - paciente_nuevo.Fecha_Nac.Year) * 365)) / 365; //Determinar Prioridad if (cant_year < 1) { if (paciente_nuevo.Infectado) { paciente_nuevo.Prioridad = 2; } else { paciente_nuevo.Prioridad = 6; } } else if (cant_year < 18) { if (paciente_nuevo.Infectado) { paciente_nuevo.Prioridad = 5; } else { paciente_nuevo.Prioridad = 8; } } else if (cant_year < 60) { if (paciente_nuevo.Infectado) { paciente_nuevo.Prioridad = 3; } else { paciente_nuevo.Prioridad = 7; } } else { if (paciente_nuevo.Infectado) { paciente_nuevo.Prioridad = 1; } else { paciente_nuevo.Prioridad = 4; } } //Agregar a los arboles Caja_BD.Instance.arbol_Dpi.Agregar(paciente_nuevo, mPaciente.Comparar_DPI); Caja_BD.Instance.arbol_Nom.Agregar(paciente_nuevo, mPaciente.Comparar_Nombre); Caja_BD.Instance.arbol_Ape.Agregar(paciente_nuevo, mPaciente.Comparar_Apellido); //Seleccionar a que hospital ira int pos = 0; if (paciente_nuevo.Name_hosp.Equals("Petén")) { pos = 1; } else if (paciente_nuevo.Name_hosp.Equals("Chiquimula")) { pos = 2; } else if (paciente_nuevo.Name_hosp.Equals("Escuintla")) { pos = 3; } else if (paciente_nuevo.Name_hosp.Equals("Quetzaltenango")) { pos = 4; } //Agregar a la cola if (paciente_nuevo.Infectado) { Caja_Hospitales.Instance.hospitals[pos].cola_infect.Agregar(paciente_nuevo, mPaciente.EsPrioritario); if (Caja_Hospitales.Instance.hospitals[pos].camillas.cant < 10) { Asignar_Camilla(paciente_nuevo, pos); info = "El paciente " + paciente_nuevo.Nombre + " " + paciente_nuevo.Apellido + ", identificado con el DPI: " + paciente_nuevo.Dpi + ". Fue ingresado a la sala de camillas en el hospital " + paciente_nuevo.Name_hosp + "."; } else { info = "El paciente " + paciente_nuevo.Nombre + " " + paciente_nuevo.Apellido + ", identificado con el DPI: " + paciente_nuevo.Dpi + ". Fue ingresado a la sala de infectado en el hospital " + paciente_nuevo.Name_hosp + "."; Caja_Hospitales.Instance.Stadistica.Activos++; } Caja_Hospitales.Instance.Stadistica.Ingres_infect++; } else { Caja_Hospitales.Instance.hospitals[pos].cola_sospech.Agregar(paciente_nuevo, mPaciente.EsPrioritario); Caja_Hospitales.Instance.Stadistica.Ingres_sospech++; info = "El paciente " + paciente_nuevo.Nombre + " " + paciente_nuevo.Apellido + ", identificado con el DPI: " + paciente_nuevo.Dpi + ". Fue ingresado a la sala de sospechosos en el hospital " + paciente_nuevo.Name_hosp + "."; } Caja_BD.Instance.List_all.Add(paciente_nuevo); return(RedirectToAction("Index_info", "Home", new { inf = info })); } catch { ViewBag.Error = "Datos Incorrectos"; return(View("CrearPaciente")); } }