Ejemplo n.º 1
0
        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"));
        }
Ejemplo n.º 2
0
 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));
 }
Ejemplo n.º 3
0
        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"));
        }