public static object SetObjectUpdatedBy(this IObjectUpdation updation, Func <object, object> newUpdatedByFactory) { updation.NotNull(nameof(updation)); newUpdatedByFactory.NotNull(nameof(newUpdatedByFactory)); var newUpdatedBy = updation.GetObjectUpdatedBy(); return(updation.SetObjectUpdatedBy(newUpdatedByFactory.Invoke(newUpdatedBy))); }
public static async ValueTask <object> SetObjectUpdatedByAsync(this IObjectUpdation updation, Func <object, object> newUpdatedByFactory, CancellationToken cancellationToken = default) { updation.NotNull(nameof(updation)); newUpdatedByFactory.NotNull(nameof(newUpdatedByFactory)); var newUpdatedBy = await updation.GetObjectUpdatedByAsync(cancellationToken).ConfigureAwait(); return(await updation.SetObjectUpdatedByAsync(newUpdatedByFactory.Invoke(newUpdatedBy), cancellationToken) .ConfigureAwait()); }