コード例 #1
0
ファイル: EntityMapper.cs プロジェクト: mjavadhpour/squidex
 private static void SetCreated(IEntity entity, EnvelopeHeaders headers)
 {
     if (entity is IUpdateableEntity updateable && updateable.Created == default(Instant))
     {
         updateable.Created = headers.Timestamp();
     }
 }
コード例 #2
0
ファイル: EntityMapper.cs プロジェクト: mjavadhpour/squidex
 private static void SetLastModified(IEntity entity, EnvelopeHeaders headers)
 {
     if (entity is IUpdateableEntity updateable)
     {
         updateable.LastModified = headers.Timestamp();
     }
 }
コード例 #3
0
 protected Task On(ContentStatusChanged @event, EnvelopeHeaders headers)
 {
     return(ForAppIdAsync(@event.AppId.Id, collection =>
     {
         return collection.UpdateOneAsync(
             Filter.Eq(x => x.Id, @event.ContentId),
             Update
             .Set(x => x.Status, @event.Status)
             .Set(x => x.LastModified, headers.Timestamp())
             .Set(x => x.LastModifiedBy, @event.Actor)
             .Set(x => x.Version, headers.EventStreamNumber()));
     }));
 }
コード例 #4
0
        protected Task On(ContentUpdated @event, EnvelopeHeaders headers)
        {
            return(ForSchemaAsync(@event.AppId, @event.SchemaId.Id, (collection, schema) =>
            {
                var idData = @event.Data?.ToIdModel(schema.SchemaDef, true);

                return collection.UpdateOneAsync(
                    Filter.Eq(x => x.Id, @event.ContentId),
                    Update
                    .Set(x => x.DataText, idData.ToFullText())
                    .Set(x => x.IdData, idData)
                    .Set(x => x.ReferencedIds, idData.ToReferencedIds(schema.SchemaDef))
                    .Set(x => x.LastModified, headers.Timestamp())
                    .Set(x => x.LastModifiedBy, @event.Actor)
                    .Set(x => x.Version, headers.EventStreamNumber()));
            }));
        }
コード例 #5
0
 protected Task On(AssetDeleted @event, EnvelopeHeaders headers)
 {
     return(UpdateSizeAsync(@event.AppId.Id, headers.Timestamp().ToDateTimeUtc().Date, [email protected], -1));
 }
コード例 #6
0
 protected Task On(AssetCreated @event, EnvelopeHeaders headers)
 {
     return(UpdateSizeAsync(@event.AppId.Id, headers.Timestamp().ToDateTimeUtc().Date, @event.FileSize, 1));
 }
コード例 #7
0
 private static void SetLastModified(EnvelopeHeaders headers, IMongoEntity entity)
 {
     entity.LastModified = headers.Timestamp();
 }
コード例 #8
0
 private static void SetCreated(EnvelopeHeaders headers, IMongoEntity entity)
 {
     entity.Created = headers.Timestamp();
 }
コード例 #9
0
        private bool IsTooOld(EnvelopeHeaders headers)
        {
            var now = clock.GetCurrentInstant();

            return(now - headers.Timestamp() > MaxAge);
        }