public void ApproveQuantity(int quantity, IProvideCurrentIdentityRoles approver) { if (quantity == this.RequestedQuantity) { if (orderType != OrderType.Draft) { Guard.That(approver.CanApproveQuantity()); } } else { if (orderType == OrderType.Submitted) { Guard.That(approver.CanOverruleQuantityOnSubmittedOrder()); } else if (orderType == OrderType.Final) { if (quantity > this.ApprovedQuantity) { Guard.That(approver.CanIncreaseQuantityOnFinalOrder()); } else { Guard.That(approver.CanDecreaseQuantityOnFinalOrder()); } } } this.ApprovedQuantity = quantity; }
public void RequestQuantity(int quantity, IProvideCurrentIdentityRoles requester) { Guard.That(requester.CanRequestQuantity()); this.RequestedQuantity = quantity; }