/// <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); }
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; } }