public JObject WriteServer(string name, string address, IEnumerable <string> clientUri, Dictionary <string, string> hashes)
        {
            IServer server;

            var obj    = new JObject();
            var writer = obj.CreateWriter();

            writer.WritePropertyName(nameof(server.Address));
            writer.WriteValue(address);

            writer.WritePropertyName(nameof(server.Name));
            writer.WriteValue(name);

            writer.WritePropertyName(nameof(server.DownloadLink));
            _serializer.Serialize(writer, clientUri);

            if (hashes?.Any() == true)
            {
                writer.WritePropertyName(nameof(server.DirHashCheck));
                _serializer.Serialize(writer, hashes);
            }

            writer.Close();
            return(obj);
        }
        public JObject WriteProjectConfig(List <JObject> servers, JObject auth, string link)
        {
            IProjectConfig conf;
            var            obj    = new JObject();
            var            writer = obj.CreateWriter();

            writer.WritePropertyName(nameof(conf.ProjectSite));
            writer.WriteValue(link);

            if (servers?.Any() == true)
            {
                writer.WritePropertyName(nameof(conf.Servers));
                writer.WriteStartArray();
                foreach (var server in servers)
                {
                    _serializer.Serialize(writer, server);
                }

                writer.WriteEndArray();
            }

            if (auth != null && auth.HasValues)
            {
                writer.WritePropertyName(nameof(conf.AuthModuleSettings));
                _serializer.Serialize(writer, auth);
            }

            writer.Close();
            return(obj);
        }
        public void Example()
        {
            #region Usage
            JObject o = new JObject
            {
                { "name1", "value1" },
                { "name2", "value2" }
            };

            JsonWriter writer = o.CreateWriter();
            writer.WritePropertyName("name3");
            writer.WriteStartArray();
            writer.WriteValue(1);
            writer.WriteValue(2);
            writer.WriteEndArray();

            Console.WriteLine(o.ToString());
            // {
            //   "name1": "value1",
            //   "name2": "value2",
            //   "name3": [
            //     1,
            //     2
            //   ]
            // }
            #endregion
        }
Example #4
0
        public void Example()
        {
            #region Usage
            JObject o = new JObject
            {
                { "name1", "value1" },
                { "name2", "value2" }
            };

            JsonWriter writer = o.CreateWriter();
            writer.WritePropertyName("name3");
            writer.WriteStartArray();
            writer.WriteValue(1);
            writer.WriteValue(2);
            writer.WriteEndArray();

            Console.WriteLine(o.ToString());
            // {
            //   "name1": "value1",
            //   "name2": "value2",
            //   "name3": [
            //     1,
            //     2
            //   ]
            // }
            #endregion
        }
Example #5
0
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            var type = value.GetType();

            var typeName = type.Name;

            var contract = (JsonObjectContract)serializer.ContractResolver.ResolveContract(type);

            var resultObj = new JObject
            {
                ["@Name"] = typeName
            };



            foreach (var prop in contract.Properties)
            {
                var propValue = prop.ValueProvider.GetValue(value);
                if (propValue != null)
                {
                    if (prop.Converter != null)
                    {
                        var writer1 = resultObj.CreateWriter();
                        writer1.WritePropertyName(prop.PropertyName);
                        prop.Converter.WriteJson(writer1, propValue, serializer);
                    }
                    else
                    {
                        resultObj[prop.PropertyName] = JToken.FromObject(propValue, serializer);
                    }
                }
            }

            serializer.Serialize(writer, resultObj);
        }
        public JObject WriteUpdateConfig(string uri, Version version)
        {
            IUpdateConfig conf;
            var           obj    = new JObject();
            var           writer = obj.CreateWriter();

            writer.WritePropertyName(nameof(conf.ExeUrl));
            writer.WriteValue(uri);

            writer.WritePropertyName(nameof(conf.Version));
            writer.WriteValue(version?.ToString());

            writer.Close();
            return(obj);
        }
        public JObject WriteAuth(string uri, ModuleTypes type, bool strict)
        {
            IAuthModuleSettings set;
            var obj    = new JObject();
            var writer = obj.CreateWriter();

            writer.WritePropertyName(nameof(set.AuthUri));
            writer.WriteValue(uri);

            writer.WritePropertyName(nameof(set.StrictUsage));
            writer.WriteValue(strict);

            writer.WritePropertyName(nameof(set.Type));
            _serializer.Serialize(writer, type);

            writer.Close();
            return(obj);
        }
        public JObject WriteSettings(JObject updateSettings, string updateLink, JObject projectSettings, string projLink)
        {
            ISettings conf;
            var       obj    = new JObject();
            var       writer = obj.CreateWriter();

            writer.WritePropertyName(nameof(conf.ProjectConfigUrl));
            writer.WriteValue(projLink);

            writer.WritePropertyName(nameof(conf.UpdateConfigUrl));
            writer.WriteValue(updateLink);

            writer.WritePropertyName(nameof(conf.ProjectConfig));
            _serializer.Serialize(writer, projectSettings);

            writer.WritePropertyName(nameof(conf.UpdateConfig));
            _serializer.Serialize(writer, updateSettings);

            writer.Close();
            return(obj);
        }