public ActionResult Create(IFormCollection collection) { try { var newPaciente = new Models.Paciente { dpi = Convert.ToInt32(collection["dpi"]), nombre = collection["nombre"], apellido = collection["apellido"], departamento = Convert.ToInt32(collection["departamento"]), municipio = Convert.ToInt32(collection["municipio"]), edad = Convert.ToInt32(collection["edad"]), grupo_prioridad = Convert.ToInt32(collection["grupo_prioridad"]), }; Singleton.Instance.PacienteList.Add(newPaciente); if (newPaciente.grupo_prioridad == -1) { newPaciente.grupo_prioridad = Defprioridad(newPaciente.edad); } newPaciente.prioString = asignarPrio(newPaciente.grupo_prioridad); Municipios_Departamentos piv = new Municipios_Departamentos(); string municipioP = piv.DevolverMunicipio(newPaciente.municipio); string departamentoP = piv.DevolverDepartamento(newPaciente.departamento); newPaciente.municipioString = municipioP; newPaciente.departamentoString = departamentoP; // se instancia un objeto centro de vacunación y se instancia objeto paciente para los procesos del centro de vacunacion CentroVacunacion newCentro = new CentroVacunacion(); Paciente nuevoPaciente = new Paciente(newPaciente.nombre, newPaciente.apellido, newPaciente.dpi, newPaciente.departamento, newPaciente.municipio, newPaciente.edad, newPaciente.grupo_prioridad, municipioP, departamentoP, newPaciente.prioString); //se igualaran variables para poder procesos próximos int prioridad = newPaciente.grupo_prioridad; int municipioPivot = newPaciente.municipio; PacienteIndice nuevoPacienteIndice = new PacienteIndice(Convert.ToString(nuevoPaciente.dpi)); PacienteIndiceApellido nuevoPacienteApellido = new PacienteIndiceApellido(nuevoPaciente.apellido); PacienteIndiceNombre nuevoPacienteNombre = new PacienteIndiceNombre(nuevoPaciente.nombre); newCentro.insertarPaciente(nuevoPaciente, nuevoPacienteIndice, prioridad, nuevoPacienteApellido, nuevoPacienteNombre); int posicionEncontrada = 0; bool encontrado = false; Singleton.Instance.listaPacientes.AgregarInicio(nuevoPaciente); //Lista de pacientes que servira para procesos de reporte Singleton.Instance.listaGeneralDePacientes.AgregarInicio(nuevoPaciente); //Validaciones para poder ingresar en la lista de pacientes if (Singleton.Instance.cantidadCentros == 0) { Singleton.Instance.listaReferencia.AgregarPos(Singleton.Instance.posicion, municipioPivot); Singleton.Instance.listaCentrosVacunacion.AgregarPos(Singleton.Instance.posicion, newCentro); Singleton.Instance.posicion++; Singleton.Instance.cantidadCentros++; } else { for (int i = 0; i < Singleton.Instance.cantidadCentros; i++) { if (municipioPivot == Singleton.Instance.listaReferencia.DevolverValue(i)) { encontrado = true; posicionEncontrada = i; i = Singleton.Instance.cantidadCentros; } } if (encontrado == false) { Singleton.Instance.listaReferencia.AgregarPos(Singleton.Instance.posicion, municipioPivot); Singleton.Instance.listaCentrosVacunacion.AgregarPos(Singleton.Instance.posicion, newCentro); Singleton.Instance.posicion++; Singleton.Instance.cantidadCentros++; } else { CentroVacunacion tempVacunacion = new CentroVacunacion(); tempVacunacion = Singleton.Instance.listaCentrosVacunacion.DevolverValue(posicionEncontrada); tempVacunacion.insertarPaciente(nuevoPaciente, nuevoPacienteIndice, prioridad, nuevoPacienteApellido, nuevoPacienteNombre); Singleton.Instance.listaCentrosVacunacion.Eliminarpos(posicionEncontrada); Singleton.Instance.listaCentrosVacunacion.AgregarPos(posicionEncontrada, tempVacunacion); } } return(RedirectToAction(nameof(Index))); } catch { return(View()); } }
public IActionResult search(string Buscar, string Busqueda, string Busquedaminicipio) { bool exists = false; Singleton.Instance.pacientebusqueda.Clear(); int opcion = Convert.ToInt32(Buscar); int muniPiv = Convert.ToInt32(Busquedaminicipio); if (muniPiv == 338) { switch (opcion) { case 0: //Busqueda por nombre for (int i = 0; i < Singleton.Instance.listaPacientes.Cantidad; i++) { string nombre = Singleton.Instance.listaPacientes.ObtenerPos(i).Data.nombre; if (nombre == Busqueda) { Paciente Buscado = Singleton.Instance.listaPacientes.ObtenerPos(i).Data; Singleton.Instance.pacientebusqueda.Add(Buscado); } } break; case 1: //apellido for (int i = 0; i < Singleton.Instance.listaPacientes.Cantidad; i++) { string apellido = Singleton.Instance.listaPacientes.ObtenerPos(i).Data.apellido; if (apellido == Busqueda) { Paciente Buscado = Singleton.Instance.listaPacientes.ObtenerPos(i).Data; Singleton.Instance.pacientebusqueda.Add(Buscado); } } break; case 2: //DPI for (int i = 0; i < Singleton.Instance.listaPacientes.Cantidad; i++) { string DPI = Convert.ToString(Singleton.Instance.listaPacientes.ObtenerPos(i).Data.dpi); if (DPI == Busqueda) { Paciente Buscado = Singleton.Instance.listaPacientes.ObtenerPos(i).Data; Singleton.Instance.pacientebusqueda.Add(Buscado); } } break; } } else { int munPivB = Convert.ToInt32(Busquedaminicipio); int posicionEncontradaI = 0; bool encontradoF = false; for (int i = 0; i < Singleton.Instance.cantidadCentros; i++) { if (munPivB == Singleton.Instance.listaReferencia.DevolverValue(i)) { encontradoF = true; posicionEncontradaI = i; i = Singleton.Instance.cantidadCentros; } } if (encontradoF == true) { switch (opcion) { case 0: //Busqueda por nombre Hoja <PacienteIndiceNombre> val = Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.avlPacienteNombre.raiz; Hoja <PacienteIndiceNombre> valorB = new Hoja <PacienteIndiceNombre>(); PacienteIndiceNombre pIn = new PacienteIndiceNombre(Busqueda); valorB.value = pIn; Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.avlPacienteNombre.Busqueda(val, ref valorB, ref exists); if (exists == true) { for (int i = 0; i < Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.totalPacientes; i++) { if (Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.listaPacientes.ObtenerPos(i).Data.nombre == Busqueda) { Paciente Buscado = Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.listaPacientes.ObtenerPos(i).Data; Singleton.Instance.pacientebusqueda.Add(Buscado); } } } break; case 1: //apellido Hoja <PacienteIndiceApellido> valAp = Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.avlPacienteApellido.raiz; Hoja <PacienteIndiceApellido> valorBAp = new Hoja <PacienteIndiceApellido>(); PacienteIndiceApellido pIa = new PacienteIndiceApellido(Busqueda); valorBAp.value = pIa; Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.avlPacienteApellido.Busqueda(valAp, ref valorBAp, ref exists); if (exists == true) { for (int i = 0; i < Singleton.Instance.listaPacientes.Cantidad; i++) { if (Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.listaPacientes.ObtenerPos(i).Data.apellido == Busqueda) { Paciente Buscado = Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.listaPacientes.ObtenerPos(i).Data; Singleton.Instance.pacientebusqueda.Add(Buscado); } } } break; case 2: //DPI Hoja <PacienteIndice> valDpi = Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.avlPaciente.raiz; Hoja <PacienteIndice> valorBdpi = new Hoja <PacienteIndice>(); PacienteIndice pId = new PacienteIndice(Busqueda); valorBdpi.value = pId; Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.avlPaciente.Busqueda(valDpi, ref valorBdpi, ref exists); if (exists == true) { for (int i = 0; i < Singleton.Instance.listaPacientes.Cantidad; i++) { if (Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.listaPacientes.ObtenerPos(i).Data.dpi == Convert.ToInt32(Busqueda)) { Paciente Buscado = Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.listaPacientes.ObtenerPos(i).Data; Singleton.Instance.pacientebusqueda.Add(Buscado); } } } break; } } } return(View(Singleton.Instance.pacientebusqueda)); }