Beispiel #1
0
        internal string SerializeToJson()
        {
            string content;

            using (var sw = new StringWriter())
            {
                using var writer = new JsonTextWriter(sw);
                writer.WriteStartObject();
                if (this.DueTime != null)
                {
                    writer.WriteProperty((TimeSpan?)this.DueTime, "dueTime", JsonWriterExtensions.WriteTimeSpanValueDaprFormat);
                }

                if (this.Period != null)
                {
                    writer.WriteProperty((TimeSpan?)this.Period, "period", JsonWriterExtensions.WriteTimeSpanValueDaprFormat);
                }

                // Do not serialize state and call back, it will be kept with actor instance.
                writer.WriteEndObject();
                content = sw.ToString();
            }

            return(content);
        }
Beispiel #2
0
        internal string SerializeToJson()
        {
            string content;

            using (var sw = new StringWriter())
            {
                using var writer = new JsonTextWriter(sw);
                writer.WriteStartObject();
                if (this.DueTime != null)
                {
                    writer.WriteProperty((TimeSpan?)this.DueTime, "dueTime", JsonWriterExtensions.WriteTimeSpanValueDaprFormat);
                }

                if (this.Period != null)
                {
                    writer.WriteProperty((TimeSpan?)this.Period, "period", JsonWriterExtensions.WriteTimeSpanValueDaprFormat);
                }

                if (this.Data != null)
                {
                    writer.WriteProperty(Convert.ToBase64String(this.Data), "data", JsonWriterExtensions.WriteStringValue);
                }

                writer.WriteEndObject();

                content = sw.ToString();
            }

            return(content);
        }
Beispiel #3
0
        public static string ConvertToJsonString(this UserListItem itemRequest)
        {
            var result = new StringBuilder();
            var sw     = new StringWriter(result);

            using (var writer = new JsonTextWriter(sw))
            {
                writer.Formatting = Formatting.Indented;
                writer.WriteStartObject();

                writer.WritePropertyName("user_rate");

                writer.WriteStartObject();

                writer.WriteProperty("chapters", itemRequest.Chapters);
                writer.WriteProperty("episodes", itemRequest.Episodes);
                writer.WriteProperty("rewatches", itemRequest.Rewatches);
                writer.WriteProperty("score", itemRequest.Score);
                writer.WriteProperty("status", Enum <UserItemStatus> .GetName(itemRequest.Status));
                writer.WriteProperty("target_id", itemRequest.TargetId);
                writer.WriteProperty("target_type", itemRequest.TargetType);
                writer.WriteProperty("text", itemRequest.Text);
                writer.WriteProperty("user_id", itemRequest.UserId);
                writer.WriteProperty("volumes", itemRequest.Volumes);

                writer.WriteEndObject();

                writer.WriteEndObject();
            }

            return(result.ToString());
        }
Beispiel #4
0
 internal override void ToJsonSafe(JsonTextWriter writer, HashSet <NamedSchema> seenSchemas)
 {
     writer.WriteStartObject();
     writer.WriteProperty("type", BaseTypeSchema.Type.ToString().ToLowerInvariant());
     writer.WriteProperty("logicalType", LogicalTypeName);
     writer.WriteProperty("precision", Precision);
     writer.WriteProperty("scale", Scale);
     writer.WriteEndObject();
 }
        internal override void ToJsonSafe(JsonTextWriter writer, HashSet <NamedSchema> seenSchemas)
        {
            var baseSchema = (FixedSchema)BaseTypeSchema;

            writer.WriteStartObject();
            writer.WriteProperty("type", baseSchema.Type.ToString().ToLowerInvariant());
            writer.WriteProperty("size", baseSchema.Size);
            writer.WriteProperty("name", baseSchema.Name);
            writer.WriteProperty("logicalType", LogicalTypeName);
            writer.WriteEndObject();
        }
Beispiel #6
0
        public static string ConvertToJsonString(this AnimeSeriesVideo seriesVideo)
        {
            var result = new StringBuilder();
            var sw     = new StringWriter(result);

            using (var writer = new JsonTextWriter(sw))
            {
                writer.Formatting = Formatting.Indented;
                writer.WriteStartObject();

                writer.WritePropertyName("anime_video");
                writer.WriteStartObject();

                writer.WriteProperty("anime_id", seriesVideo.AnimeId);
                writer.WriteProperty("author_name", seriesVideo.AuthorName);
                writer.WriteProperty("episode", seriesVideo.Episode);
                writer.WriteProperty("kind", Enum <AnimeSeriesVideoKind> .GetName(seriesVideo.Kind));
                writer.WriteProperty("language", Enum <AnimeSeriesVideoLanguage> .GetName(seriesVideo.Language));
                writer.WriteProperty("quality", Enum <AnimeSeriesVideoQuality> .GetName(seriesVideo.Quality));
                writer.WriteProperty("source", seriesVideo.Source);
                writer.WriteProperty("url", seriesVideo.Url);

                writer.WriteEndObject();
                writer.WriteEndObject();
            }

            return(result.ToString());
        }
Beispiel #7
0
        /// <summary>
        ///     Converts current not to JSON according to the avro specification.
        /// </summary>
        /// <param name="writer">The writer.</param>
        /// <param name="seenSchemas">The seen schemas.</param>
        internal override void ToJsonSafe(JsonTextWriter writer, HashSet <NamedSchema> seenSchemas)
        {
            if (seenSchemas.Contains(this))
            {
                writer.WriteValue(this.FullName);
                return;
            }

            seenSchemas.Add(this);
            writer.WriteStartObject();
            writer.WriteProperty("type", "fixed");
            writer.WriteProperty("name", this.FullName);
            writer.WriteOptionalProperty("aliases", this.Aliases);
            writer.WriteProperty("size", this.Size);
            writer.WriteEndObject();
        }
Beispiel #8
0
        /// <summary>
        /// Serialize this phase to JSON.
        /// </summary>
        /// <returns>The phase as a JSON string.</returns>
        public string ToJsonString()
        {
            /*
             * NB: JsonTextWriter is guaranteed to close the StringWriter
             * https://github.com/JamesNK/Newtonsoft.Json/blob/master/Src/Newtonsoft.Json/JsonTextWriter.cs#L150-L160
             */
            var sb = new StringBuilder();
            var sw = new StringWriter(sb);

            using (JsonWriter writer = new JsonTextWriter(sw))
            {
                writer.WriteStartObject();
                writer.WritePropertyName(PhaseType);

                // phase start
                writer.WriteStartObject();

                WriteJson(writer);
                writer.WriteProperty("keep", keep);
                writer.WriteEndObject();

                // phase end
                writer.WriteEndObject();
            }

            return(sb.ToString());
        }
Beispiel #9
0
        /// <summary>
        ///     Converts current not to JSON according to the avro specification.
        /// </summary>
        /// <param name="writer">The writer.</param>
        /// <param name="seenSchemas">The seen schemas.</param>
        internal override void ToJsonSafe(JsonTextWriter writer, HashSet <NamedSchema> seenSchemas)
        {
            writer.WriteStartObject();
            writer.WriteProperty("name", this.FullName);
            writer.WriteOptionalProperty("doc", this.Doc);
            writer.WriteOptionalProperty("aliases", this.Aliases);

            if (this.HasDefaultValue)
            {
                writer.WriteProperty("default", this.DefaultValue?.ToString());
            }

            writer.WritePropertyName("type");
            this.TypeSchema.ToJson(writer, seenSchemas);
            writer.WriteEndObject();
        }
Beispiel #10
0
        private Task DoStateChangesTransactionallyAsync(string actorType, string actorId, IReadOnlyCollection <ActorStateChange> stateChanges, CancellationToken cancellationToken = default)
        {
            // Transactional state update request body:

            /*
             * [
             *  {
             *      "operation": "upsert",
             *      "request": {
             *          "key": "key1",
             *          "value": "myData"
             *      }
             *  },
             *  {
             *      "operation": "delete",
             *      "request": {
             *          "key": "key2"
             *      }
             *  }
             * ]
             */

            string content;

            using (var sw = new StringWriter())
            {
                using (var writer = new JsonTextWriter(sw))
                {
                    writer.WriteStartArray();

                    foreach (var stateChange in stateChanges)
                    {
                        writer.WriteStartObject();
                        var operation = this.GetDaprStateOperation(stateChange.ChangeKind);
                        writer.WriteProperty(operation, "operation", JsonWriterExtensions.WriteStringValue);
                        writer.WriteProperty(stateChange, "request", this.SerializeStateChangeRequest);
                        writer.WriteEndObject();
                    }

                    writer.WriteEndArray();
                }

                content = sw.ToString();
            }

            return(ActorRuntime.DaprInteractor.SaveStateTransactionallyAsync(actorType, actorId, content, cancellationToken));
        }
Beispiel #11
0
 /// <summary>
 ///     Converts current not to JSON according to the avro specification.
 /// </summary>
 /// <param name="writer">The writer.</param>
 /// <param name="seenSchemas">The seen schemas.</param>
 internal override void ToJsonSafe(JsonTextWriter writer, HashSet <NamedSchema> seenSchemas)
 {
     writer.WriteStartObject();
     writer.WriteProperty("type", "array");
     writer.WritePropertyName("items");
     this.itemSchema.ToJson(writer, seenSchemas);
     writer.WriteEndObject();
 }
Beispiel #12
0
 internal override void ToJsonSafe(JsonTextWriter writer, HashSet <NamedSchema> seenSchemas)
 {
     writer.WriteStartObject();
     writer.WritePropertyName("type");
     BaseTypeSchema.ToJsonSafe(writer, seenSchemas);
     writer.WriteProperty("logicalType", LogicalTypeName);
     writer.WriteEndObject();
 }
Beispiel #13
0
 /// <summary>
 ///     Converts current not to JSON according to the avro specification.
 /// </summary>
 /// <param name="writer">The writer.</param>
 /// <param name="seenSchemas">The seen schemas.</param>
 internal override void ToJsonSafe(JsonTextWriter writer, HashSet <NamedSchema> seenSchemas)
 {
     writer.WriteStartObject();
     writer.WriteProperty("type", "map");
     writer.WritePropertyName("values");
     ValueSchema.ToJson(writer, seenSchemas);
     writer.WriteEndObject();
 }
Beispiel #14
0
        /// <summary>
        ///     Converts current not to JSON according to the avro specification.
        /// </summary>
        /// <param name="writer">The writer.</param>
        /// <param name="seenSchemas">The seen schemas.</param>
        internal override void ToJsonSafe(JsonTextWriter writer, HashSet <NamedSchema> seenSchemas)
        {
            if (seenSchemas.Contains(this))
            {
                writer.WriteValue(this.FullName);
                return;
            }

            seenSchemas.Add(this);
            writer.WriteStartObject();
            writer.WriteProperty("type", "enum");
            writer.WriteProperty("name", this.FullName);
            writer.WriteOptionalProperty("doc", this.Doc);
            writer.WritePropertyName("symbols");
            writer.WriteStartArray();
            this.symbols.ForEach(writer.WriteValue);
            writer.WriteEndArray();
            writer.WriteEndObject();
        }
Beispiel #15
0
        /// <summary>
        ///     Converts current not to json according to the avro specification.
        /// </summary>
        /// <param name="writer">The writer.</param>
        /// <param name="seenSchemas">The seen schemas.</param>
        internal override void ToJsonSafe(JsonTextWriter writer, HashSet <NamedSchema> seenSchemas)
        {
            if (seenSchemas.Contains(this))
            {
                writer.WriteValue(this.FullName);
                return;
            }

            seenSchemas.Add(this);
            writer.WriteStartObject();
            writer.WriteProperty("type", "record");
            writer.WriteProperty("name", this.FullName);
            writer.WriteOptionalProperty("doc", this.Doc);
            writer.WriteOptionalProperty("aliases", this.Aliases);
            writer.WritePropertyName("fields");
            writer.WriteStartArray();
            this.fields.ForEach(_ => _.ToJson(writer, seenSchemas));
            writer.WriteEndArray();
            writer.WriteEndObject();
        }
Beispiel #16
0
        private JsonTextWriter CreateWriter(string path, IChat chat)
        {
            JsonTextWriter writer = new JsonTextWriter(
                storage.GetWriter(path + ".json"))
            {
                Formatting  = Formatting.Indented,
                Indentation = 4,
                IndentChar  = ' '
            };

            writer.WriteStartObject();
            Action action =
                delegate
            {
                writer.WritePropertyName("Chat");
                writer.WriteStartObject();
                writer.WriteProperty("Description", chat.Description);
                writer.WriteProperty("FriendlyName", chat.FriendlyName);
                writer.WriteProperty("MyRole", chat.MyRole);
                writer.WriteProperty("MyStatus", chat.MyStatus);
                writer.WriteProperty("Name", chat.Name);
                writer.WriteProperty("Topic", chat.Topic);
                writer.WriteProperty("Type", chat.Type);
                writer.WritePropertyName("Members");
                writer.WriteStartArray();
                foreach (IUser user in chat.Members)
                {
                    writer.WriteValue(user.Handle);
                }
                writer.WriteEndArray();
                writer.WriteEndObject();
            };

            if (!SafeInvoker.Invoke(action))
            {
                Logger.Error("Couldn't store chat properties.");
                return(null);
            }
            writer.WriteProperty("ExportStartTime", DateTime.Now);
            writer.WriteProperty("SkypeHistorianVersion", App.Version);
            writer.WritePropertyName("Messages");
            writer.WriteStartArray();
            return(writer);
        }
Beispiel #17
0
        /// <summary>
        ///     Converts current not to JSON according to the avro specification.
        /// </summary>
        /// <param name="writer">The writer.</param>
        /// <param name="seenSchemas">The seen schemas.</param>
        internal override void ToJsonSafe(JsonTextWriter writer, HashSet <NamedSchema> seenSchemas)
        {
            writer.WriteStartObject();
            writer.WriteProperty("name", Name);
            writer.WriteOptionalProperty("namespace", Namespace);
            writer.WriteOptionalProperty("doc", Doc);
            writer.WriteOptionalProperty("aliases", Aliases);
            writer.WritePropertyName("type");
            TypeSchema.ToJson(writer, seenSchemas);
            writer.WriteOptionalProperty("default", defaultValue, hasDefaultValue);

            writer.WriteEndObject();
        }
        protected override string BuildReport(IEnumerable <GroupCalculation> calculations)
        {
            var sb = new StringBuilder();

            using var sw     = new StringWriter(sb);
            using var writer = new JsonTextWriter(sw)
                  {
                      Formatting = Formatting.Indented
                  };

            writer.WriteStartObject();

            writer.WriteProperty("People");

            writer.WriteStartArray();

            foreach (var calculation in calculations)
            {
                writer.WriteStartObject();

                writer.WriteProperty("Name", calculation.Person.Name);
                writer.WriteProperty("SimpleInterest", $"{calculation.PersonInterest:C}");

                var itemsCreated = false;

                foreach (var(resolver, resolverInterest) in calculation.Resolvers)
                {
                    if (itemsCreated == false)
                    {
                        itemsCreated = true;

                        writer.WriteProperty(resolver.GetType().Name + "s");
                        writer.WriteStartArray();
                    }

                    writer.WriteStartObject();

                    writer.WriteProperty("Name", resolver.Name);
                    writer.WriteProperty("SimpleInterest", $"{resolverInterest:C}");

                    writer.WriteEndObject();
                }

                if (itemsCreated)
                {
                    writer.WriteEndArray();
                }

                writer.WriteEndObject();
            }

            writer.WriteEndArray();

            writer.WriteEndObject();

            return(sb.ToString());
        }
Beispiel #19
0
        public string ToString(bool json)
        {
            var sb = new StringBuilder();
            var sw = new StringWriter(sb);

            using (var writer = new JsonTextWriter(sw)) {
#if DEBUG
                writer.Formatting = Formatting.Indented;
#else
                writer.Formatting = this.Debug ? Formatting.Indented : Formatting.None;
#endif
                writer.WriteStartObject();
                writer.WriteProperty("type", "remoting");
                writer.WriteProperty("url", Url);
                if (json)
                {
                    writer.WriteProperty("descriptor", this.Name);
                }
                if (!String.IsNullOrEmpty(this.Namespace))
                {
                    writer.WriteProperty("namespace", this.Namespace);
                }
                if (this.Buffer.HasValue)
                {
                    writer.WriteProperty("enableBuffer", this.Buffer.Value);
                }
                if (this.MaxRetries.HasValue)
                {
                    writer.WriteProperty("maxRetries", this.MaxRetries.Value);
                }
                if (this.Timeout.HasValue)
                {
                    writer.WriteProperty("timeout", this.Timeout.Value);
                }
                writer.WritePropertyName("actions");
                writer.WriteStartObject();
                foreach (DirectAction action in _actions.Values)
                {
                    action.WriteJson(writer);
                }
                writer.WriteEndObject();
                writer.WriteEndObject();
            }

            string name = this.Name;
            if (name.Contains('.'))
            {
                name = String.Format("Ext.ns(\"{0}\");\n{1}", name.Substring(0, name.LastIndexOf('.')), name);
            }

            return(json ? sb.ToString() : String.Format("{0}={1};", name, sb));
        }
Beispiel #20
0
        public string ToJsonString()
        {
            var sb = new StringBuilder();

            using (var sw = new StringWriter(sb))
                using (JsonWriter writer = new JsonTextWriter(sw))
                {
                    writer.WriteStartObject();
                    writer.WritePropertyName(PhaseType);

                    // phase start
                    writer.WriteStartObject();
                    WriteJson(writer);
                    writer.WriteProperty("keep", _keep);
                    writer.WriteEndObject();
                    // phase end

                    writer.WriteEndObject();
                }

            return(sb.ToString());
        }
Beispiel #21
0
#pragma warning restore 618

        /// <summary>
        /// Compile the mapreduce query.
        /// </summary>
        public void Compile()
        {
            Debug.Assert(inputs != null, "Compile inputs must not be null");

            if (!string.IsNullOrWhiteSpace(query))
            {
                return;
            }

            var sb = new StringBuilder();

            using (var sw = new StringWriter(sb))
            {
                using (JsonWriter writer = new JsonTextWriter(sw))
                {
                    writer.WriteStartObject();

                    if (inputs != null)
                    {
                        inputs.WriteJson(writer);
                    }

                    writer.WritePropertyName("query");

                    writer.WriteStartArray();
                    phases.ForEach(p => writer.WriteRawValue(p.ToJsonString()));
                    writer.WriteEndArray();

                    if (timeout.HasValue)
                    {
                        writer.WriteProperty <int>("timeout", timeout.Value);
                    }

                    writer.WriteEndObject();
                }
            }

            query = sb.ToString();
        }
        public void Compile()
        {
            System.Diagnostics.Debug.Assert(_inputs != null);
            if (!string.IsNullOrWhiteSpace(_query))
            {
                return;
            }

            var sb = new StringBuilder();

            using (var sw = new StringWriter(sb))
                using (JsonWriter writer = new JsonTextWriter(sw))
                {
                    writer.WriteStartObject();

                    if (_inputs != null)
                    {
                        _inputs.WriteJson(writer);
                    }

                    writer.WritePropertyName("query");

                    writer.WriteStartArray();
                    _phases.ForEach(p => writer.WriteRawValue(p.ToJsonString()));
                    writer.WriteEndArray();

                    if (Timeout.HasValue)
                    {
                        writer.WriteProperty <int>("timeout", Timeout.Value);
                    }

                    writer.WriteEndObject();
                }

            _query = sb.ToString();
        }
Beispiel #23
0
        public string Serialize(string rptPath, string filepath = null, int reportOrder = 1)//, OutputFormat fmt = OutputFormat.json)
        {
            var rpt = new ReportDocument();

            rpt.Load(rptPath);
            var rptClient = rpt.ReportClientDocument;

            var jsonSerializerSettings = new JsonSerializerSettings
            {
                ContractResolver = new CustomJsonResolver(),
                Formatting       = Formatting.Indented
            };

            string rptName = string.IsNullOrEmpty(rpt.Name)
                ? Path.GetFileNameWithoutExtension(rptPath)
                : rpt.Name;

            var sb = new StringBuilder();
            var sw = new StringWriter(sb);

            using (JsonWriter jw = new JsonTextWriter(sw))
            {
                jw.Formatting = Formatting.Indented;

                jw.WriteStartObject();

                jw.WriteObjectHierarchy("Entire Report Object", rpt);

                jw.WriteProperty("SerializeVersion", CRSerializeProductVersion());

                jw.WriteProperty("ReportName", rptName);

                jw.WriteParameters("Parameters", rpt);

                jw.WriteObjectHierarchy("SummaryInfo", rpt.SummaryInfo);

                // experimental properties:
                jw.WriteObjectHierarchy("DataSourceConnections", rpt.DataSourceConnections);

                jw.WriteObjectHierarchy("ParameterFields", rpt.ParameterFields);

                jw.WriteObjectHierarchy("ReportOptions", rptClient.ReportOptions);

                jw.WriteDataSource("DataSource", rptClient.Database.Tables);

                jw.WriteObjectHierarchy("DatabaseTables", rpt.Database.Tables);

                jw.WriteObjectHierarchy("DataDefinition", rpt.DataDefinition);

                jw.WritePrintOptions(rpt.PrintOptions);

                jw.WriteObjectHierarchy("CustomFunctions", rptClient.CustomFunctionController.GetCustomFunctions());

                jw.WriteObjectHierarchy("ReportDefinition", rpt.ReportDefinition);

                jw.WritePropertyName("Subreports");
                var subReports = rpt.Subreports;
                if (subReports.Count > 0)
                {
                    jw.WriteStartArray();
                    foreach (ReportDocument subReport in subReports)
                    {
                        var subReportClient = rptClient.SubreportController.GetSubreport(subReport.Name);

                        jw.WriteStartObject();
                        jw.WriteProperty("SubreportName", subReport.Name);

                        jw.WriteParameters("Parameters", subReport);

                        jw.WriteDataSource("DataSource", subReportClient.DataDefController.Database.Tables);

                        jw.WriteObjectHierarchy("DatabaseTables", subReport.Database.Tables);

                        jw.WriteObjectHierarchy("DataDefinition", subReport.DataDefinition);

                        jw.WriteObjectHierarchy("CustomFunctions", rptClient.CustomFunctionController.GetCustomFunctions());

                        jw.WriteObjectHierarchy("ReportDefinition", subReport.ReportDefinition);

                        jw.WriteEndObject();
                    }
                }

                jw.WriteEndObject(); // final end
                rpt.Close();

                return(sb.ToString());
            }
        }