Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        /// <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);
        }
Ejemplo n.º 5
0
        /// <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();
                }
            }
        }
Ejemplo n.º 6
0
        /// <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();
                }
            }
        }