コード例 #1
0
        public Command Map(CloudEventRequest request)
        {
            Ensure.NotNull(request, nameof(request));
            Ensure.NotNull(request.Data, nameof(request.Data));

            if (!_dataContentTypes.Contains(request.DataContentType))
            {
                throw new ArgumentException($"While running Map in '{nameof(CreateDiaryMapper)}' I can't recognize the DataContentType:{request.DataContentType}");
            }
            if (!request.DataSchema.Equals(Schema) || !request.Source.Equals(Source))
            {
                throw new ArgumentException($"While running Map in '{nameof(CreateDiaryMapper)}' I can't recognize the data (DataSchema:{request.DataSchema};Source:{request.Source})");
            }

            CreateDiary cmd = JsonSerializer.Deserialize <CreateDiary>(request.Data.ToString());

            cmd.Metadata = new Dictionary <string, string>
            {
                { "$correlationId", cmd.CorrelationId },
                { "source", request.Source.ToString() },
                { "$applies", request.Time.ToString("O") },
                { "cloudrequest-id", request.Id },
                { "schema", request.DataSchema.ToString() },
                { "content-type", request.DataContentType }
            };
            return(cmd);
        }
コード例 #2
0
ファイル: Diary.cs プロジェクト: riccardone/MySelfLog.Backend
        public static Diary Create(CreateDiary cmd)
        {
            ValidateRequiredMetadata(cmd);

            return(new Diary(cmd.Name, cmd.Metadata));
        }