Changed the default way to modify values in store. Added basic validation to stores. Using interfaces to DI store objects.
This commit is contained in:
@@ -41,13 +41,32 @@ namespace HermesSocketServer.Store
|
||||
|
||||
protected override void OnInitialAdd(string key, Redemption value)
|
||||
{
|
||||
ArgumentException.ThrowIfNullOrWhiteSpace(key, nameof(key));
|
||||
ArgumentNullException.ThrowIfNull(value, nameof(value));
|
||||
ArgumentException.ThrowIfNullOrWhiteSpace(value.UserId, nameof(value.UserId));
|
||||
ArgumentException.ThrowIfNullOrWhiteSpace(value.RedemptionId, nameof(value.RedemptionId));
|
||||
ArgumentException.ThrowIfNullOrWhiteSpace(value.ActionName, nameof(value.ActionName));
|
||||
ArgumentNullException.ThrowIfNull(value.State, nameof(value.State));
|
||||
ArgumentNullException.ThrowIfNull(value.Order, nameof(value.Order));
|
||||
ArgumentOutOfRangeException.ThrowIfNegative(value.Order, nameof(value.Order));
|
||||
ArgumentOutOfRangeException.ThrowIfGreaterThan(value.Order, 99, nameof(value.Order));
|
||||
}
|
||||
|
||||
protected override void OnInitialModify(string key, Redemption value)
|
||||
protected override void OnInitialModify(string key, Redemption oldValue, Redemption newValue)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(newValue);
|
||||
ArgumentException.ThrowIfNullOrWhiteSpace(newValue.UserId, nameof(newValue.UserId));
|
||||
ArgumentException.ThrowIfNullOrWhiteSpace(newValue.RedemptionId, nameof(newValue.RedemptionId));
|
||||
ArgumentException.ThrowIfNullOrWhiteSpace(newValue.ActionName, nameof(newValue.ActionName));
|
||||
ArgumentNullException.ThrowIfNull(newValue.State, nameof(newValue.State));
|
||||
ArgumentNullException.ThrowIfNull(newValue.Order, nameof(newValue.Order));
|
||||
ArgumentOutOfRangeException.ThrowIfNegative(newValue.Order, nameof(newValue.Order));
|
||||
ArgumentOutOfRangeException.ThrowIfGreaterThan(newValue.Order, 99, nameof(newValue.Order));
|
||||
ArgumentOutOfRangeException.ThrowIfNotEqual(oldValue.Id, newValue.Id, nameof(newValue.Id));
|
||||
ArgumentOutOfRangeException.ThrowIfNotEqual(oldValue.UserId, newValue.UserId, nameof(newValue.UserId));
|
||||
}
|
||||
|
||||
protected override void OnPostRemove(string key, Redemption value)
|
||||
protected override void OnPostRemove(string key, Redemption? value)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user