/// <summary>
        /// recibe una lista de pacientes y una de especialistas y crea un turno
        /// segun sus numeros de Id guarda el turno en la base de datos o en XML
        /// </summary>
        /// <param name="paciente"></param>
        /// <param name="especialista"></param>
        /// <returns>una lista de turnos</returns>
        public static Turno GenerarTurnos(Paciente paciente)
        {
            string fecha                  = DateTime.Now.FormatearFecha();
            string auxObservacion         = RandomClinica();
            Serializadora <Turno> guardar = new Serializadora <Turno>();

            Turno  turno = null;
            string ruta  = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + ".\\SegundoParcialUtn\\ArchivosClinica";

            try
            {
                foreach (Especialista auxEspecialista in especialistas)
                {
                    turno = new Turno(paciente.Id, auxEspecialista.Id, RandomClinica(), fecha);

                    if (paciente.Id >= 1 && paciente.Id <= 113 && auxEspecialista.Id >= 1 && auxEspecialista.Id <= 110)
                    {
                        ClinicaDAO.IngresarTurno(turno);
                    }
                    else if (paciente.Id >= 900 && paciente.Id <= 1899 && auxEspecialista.Id >= 1500 && auxEspecialista.Id <= 1529)
                    {
                        guardar.Escribir("Turnos" + fecha + ".Xml", ruta, turno);
                    }
                }
            }
            catch (Exception e)
            {
                archivo.Escribir("Errores.log", ruta, e.Message);
            }

            return(turno);
        }
Example #2
0
 public void Escribir(T dato, string path)
 {
     try
     {
         if (this.tipo == IArchivos <T> .ETipoArchivo.XML)
         {
             if (Path.GetExtension(path) == ".xml")
             {
                 using (XmlTextWriter xmlTextWriter = new XmlTextWriter(path, Encoding.UTF8))
                 {
                     xmlTextWriter.Formatting = Formatting.Indented;
                     XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
                     xmlSerializer.Serialize(xmlTextWriter, dato);
                 }
             }
             else
             {
                 throw new ExtensionInvalidaException("Extension Invalida para XML");
             }
         }
         else
         {
             if (Path.GetExtension(path) == ".json")
             {
                 ArchivoTexto archivoTexto = new ArchivoTexto();
                 archivoTexto.Escribir(JsonSerializer.Serialize(dato, typeof(T)), path);
             }
             else
             {
                 throw new ExtensionInvalidaException("Extension Invalida para JSON");
             }
         }
     }
     catch (Exception)
     {
         throw;
     }
 }