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));
 }
Example #2
0
        static void Main(string[] args)
        {
            Cabecera("Xml");

            //Se establecen los datos de configuración iniciales.
            DateTime     date       = DateTime.Now;
            ConsoleColor colorfondo = ConsoleColor.Cyan;
            ConsoleColor colortexto = ConsoleColor.Yellow;
            int          alto       = 30;
            int          ancho      = 90;



            //Se generan las clases para cada atributo de la configuración
            NodoFecha        Fecha        = new NodoFecha("Fecha", date);
            NodoColor        ColorFondo   = new NodoColor("ColorFondo", colorfondo);
            NodoColor        ColorTexto   = new NodoColor("ColorTexto", colortexto);
            NodoDimension    Alto         = new NodoDimension("Alto", alto);
            NodoDimension    Ancho        = new NodoDimension("Ancho", ancho);
            NodoEspacioLibre EspacioLibre = new NodoEspacioLibre("EspacioLibre");

            //Compruebo si existe el documento Configuracion.xml y si no existe lo genera y añade los datos de configuracion iniciales
            if (!(File.Exists("Configuracion.xml")))
            {
                XmlDocument    document    = new XmlDocument();
                XmlDeclaration declaration = document.CreateXmlDeclaration("1.0", "UTF-8", null);
                document.AppendChild(declaration);
                XmlNode root = document.CreateElement("Configuracion");
                document.AppendChild(root);
                document.Save("Configuracion.xml");

                Fecha.CrearNodo();
                ColorFondo.CrearNodo();
                ColorTexto.CrearNodo();
                Alto.CrearNodo();
                Ancho.CrearNodo();
                EspacioLibre.CrearNodo();

                WriteLine("Se ha generado el documento \"Configuracion.xml\"");
            }
            WriteLine("Ya existe el archivo \"Configuracion.xml\"\n");
            //A continuación pregunta si quiere modificar los datos por pantalla.
            WriteLine("Modifique si quiere los elementos de la configuración");
            Fecha.ModificarNodo();
            ColorFondo.ModificarNodo();
            ColorTexto.ModificarNodo();
            Alto.ModificarNodo();
            Ancho.ModificarNodo();

            //Pido que se introduzcan por pantalla los usuarios
            int orden = 0;
            int tipo  = 0;

            while (orden != 1 && orden != 2)
            {
Nuevo:
                Write("Añadir usuario --> 1 \t Salir --> 2\t");
                Casilla();
                if (int.TryParse(ReadLine(), out int num))
                {
                    orden = num;
                }
                WriteLine("\n");

                //Procedimiento para añadir usuarios o salir del programa
                switch (orden)
                {
                case 1:
                    Write($"Nombre: ");
                    string nombre = ReadLine();
                    Write("Contraseña: ");
                    string contraseña = ReadLine();
                    while (tipo != 1 && tipo != 2)
                    {
                        Write("Administrador --> 1 \t Limitado --> 2 \t");
                        Casilla();
                        if (int.TryParse(ReadLine(), out num))
                        {
                            tipo = num;
                        }
                        WriteLine();
                    }
                    AñadirUsuario usuarionuevo = new AñadirUsuario(nombre, contraseña, tipo);
                    WriteLine("\n");
                    goto Nuevo;

                case 2:
                    break;

                default:
                    goto Nuevo;
                }

                WriteLine("El documento \"Configuracion.xml\" contiene:");
                Leer xml = new Leer();
            }
        }