/// <summary> /// Deserializa el turno desde binario /// </summary> /// <param name="archivo"></param> /// <returns></returns> public static TurnoSerializador DeserializarTurnoBinario(string archivo) { TurnoSerializador t = new TurnoSerializador(); Stream fs = null; BinaryFormatter ser = null; try { fs = new FileStream(archivo, FileMode.Open); ser = new BinaryFormatter(); t = (TurnoSerializador)ser.Deserialize(fs); } catch (Exception e) { ErrorLog.Log("Error al grabar turno en binario. " + e.Message); } finally { if (fs != null) { fs.Close(); } } return(t); }
/// <summary> /// Deserializa el turno desde xml /// </summary> /// <param name="archivo"></param> /// <returns></returns> public static TurnoSerializador DeserializarTurnoXml(string archivo) { TurnoSerializador t = new TurnoSerializador(); XmlTextReader reader = null; XmlSerializer ser = null; try { reader = new XmlTextReader(archivo); ser = new XmlSerializer(typeof(TurnoSerializador)); t = (TurnoSerializador)ser.Deserialize(reader); } catch (Exception e) { ErrorLog.Log("Error al grabar turno en xml. " + e.Message); } finally { if (reader != null) { reader.Close(); } } return(t); }
public void SerializacionBinaria() { TurnoSerializador turnoOrigen = new TurnoSerializador(10, 15, DateTime.Now, "Las observaciones."); TurnoSerializador turnoDestino = new TurnoSerializador(); XmlBinario.SerializarTurnoBinario(Environment.CurrentDirectory + "\\pruebabin.bin", turnoOrigen); turnoDestino = XmlBinario.DeserializarTurnoBinario(Environment.CurrentDirectory + "\\pruebabin.bin"); Assert.AreEqual(turnoOrigen.Paciente, turnoDestino.Paciente); Assert.AreEqual(turnoOrigen.Especialista, turnoDestino.Especialista); Assert.AreEqual(turnoOrigen.FechaTurno, turnoDestino.FechaTurno); Assert.AreEqual(turnoOrigen.ObservacionesTurno, turnoDestino.ObservacionesTurno); }
/// <summary> /// Genera el path y el turno a serializar en xml y llama a la funcion correspondiente /// </summary> /// <param name="turno"></param> public static void GuardarTurno(Turno <IPaciente, IEspecialista> turno) { StringBuilder path = new StringBuilder(); path.Append(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)); path.Append("\\SegundoParcialUtn\\TurnosClinica\\"); if (!Directory.Exists(path.ToString())) { DirectoryInfo di = Directory.CreateDirectory(path.ToString()); ErrorLog.Log("La ruta MisDocumentos/SegundoParcialUtn/TurnosClinica/ no existe. Se ha creado."); } path.Append(DateTime.Now.ToString("dd-MM-yyyy HH-mm-ss")); path.AppendFormat("-{0}-{1}", ((Paciente)turno.Paciente).Apellido, ((Paciente)turno.Paciente).Nombre); path.Append(".xml"); TurnoSerializador t = new TurnoSerializador(turno.Paciente.Id, turno.Especialista.Id, turno.FechaTurno, turno.ObservacionesTurno); XmlBinario.SerializarTurnoXml(path.ToString(), t); }
/// <summary> /// Serializa el turno en binario /// </summary> /// <param name="archivo"></param> /// <param name="t"></param> public static void SerializarTurnoBinario(string archivo, TurnoSerializador t) { Stream fs = null; BinaryFormatter ser = null; try { fs = new FileStream(archivo, FileMode.Create); ser = new BinaryFormatter(); ser.Serialize(fs, t); } catch (Exception e) { ErrorLog.Log("Error al grabar turno en binario. " + e.Message); } finally { if (fs != null) { fs.Close(); } } }
/// <summary> /// Serializa el turno en xml /// </summary> /// <param name="archivo"></param> /// <param name="t"></param> public static void SerializarTurnoXml(string archivo, TurnoSerializador t) { XmlTextWriter writer = null; XmlSerializer ser = null; try { writer = new XmlTextWriter(archivo, Encoding.UTF8); ser = new XmlSerializer(typeof(TurnoSerializador)); ser.Serialize(writer, t); } catch (Exception e) { ErrorLog.Log("Error al grabar turno en xml. " + e.Message); } finally { if (writer != null) { writer.Close(); } } }