private static void SetCreated(IEntity entity, EnvelopeHeaders headers) { if (entity is IUpdateableEntity updateable && updateable.Created == default(Instant)) { updateable.Created = headers.Timestamp(); } }
private static void SetLastModified(IEntity entity, EnvelopeHeaders headers) { if (entity is IUpdateableEntity updateable) { updateable.LastModified = headers.Timestamp(); } }
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())); })); }
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())); })); }
protected Task On(AssetDeleted @event, EnvelopeHeaders headers) { return(UpdateSizeAsync(@event.AppId.Id, headers.Timestamp().ToDateTimeUtc().Date, [email protected], -1)); }
protected Task On(AssetCreated @event, EnvelopeHeaders headers) { return(UpdateSizeAsync(@event.AppId.Id, headers.Timestamp().ToDateTimeUtc().Date, @event.FileSize, 1)); }
private static void SetLastModified(EnvelopeHeaders headers, IMongoEntity entity) { entity.LastModified = headers.Timestamp(); }
private static void SetCreated(EnvelopeHeaders headers, IMongoEntity entity) { entity.Created = headers.Timestamp(); }
private bool IsTooOld(EnvelopeHeaders headers) { var now = clock.GetCurrentInstant(); return(now - headers.Timestamp() > MaxAge); }