public void ApproveQuantity(int quantity, IProvideCurrentIdentityRoles approver) { if (orderType == OrderType.Draft) { if (quantity == this.RequestedQuantity) { Guard.That(approver.CanApproveQuantitytOnDraftOrder()); } else { Guard.That(approver.CanOverruleQuantityOnDraftOrder()); } } else if (orderType == OrderType.Final) { if (quantity > this.ApprovedQuantity) { Guard.That(approver.CanIncreaseQuantityOnFinalOrder()); } else { Guard.That(approver.CanDecreaseQuantityOnFinalOrder()); } } this.ApprovedQuantity = quantity; }