Exemplo n.º 1
0
        public void SaveToFile(string fileName, NetworkFileFormat format)
        {
            JsonSerializer serializer = JsonSerializer.CreateDefault();

            switch (format)
            {
            case NetworkFileFormat.BSON:
                using (FileStream stream = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.None))
                {
                    using (BsonDataWriter writer = new BsonDataWriter(stream))
                    {
                        writer.Formatting = serializer.Formatting;
                        serializer.Serialize(writer, this);
                    }
                }

                break;

            default:
                using (StreamWriter writer = File.CreateText(fileName))
                {
                    using (JsonTextWriter jsonWriter = new JsonTextWriter(writer))
                    {
                        jsonWriter.Formatting = serializer.Formatting;
                        serializer.Serialize(jsonWriter, this);
                    }
                }

                break;
            }
        }
Exemplo n.º 2
0
        public string SaveToString(NetworkFileFormat format)
        {
            switch (format)
            {
            case NetworkFileFormat.BSON:
                using (MemoryStream stream = new MemoryStream())
                {
                    using (BsonDataWriter writer = new BsonDataWriter(stream))
                    {
                        JsonSerializer serializer = JsonSerializer.CreateDefault();
                        writer.Formatting = serializer.Formatting;
                        serializer.Serialize(writer, this);

                        return(Convert.ToBase64String(stream.ToArray()));
                    }
                }

            default:
                return(JsonConvert.SerializeObject(this));
            }
        }
Exemplo n.º 3
0
        public byte[] SaveToMemory(NetworkFileFormat format)
        {
            switch (format)
            {
            case NetworkFileFormat.BSON:
                using (MemoryStream stream = new MemoryStream())
                {
                    using (BsonDataWriter writer = new BsonDataWriter(stream))
                    {
                        JsonSerializer serializer = JsonSerializer.CreateDefault();
                        writer.Formatting = serializer.Formatting;
                        serializer.Serialize(writer, this);

                        return(stream.ToArray());
                    }
                }

            default:
                return(UTF8Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(this)));
            }
        }