public void AddWeeeDeliveredAmount(WeeeDeliveredAmount weeeDeliveredAmount) { Guard.ArgumentNotNull(() => weeeDeliveredAmount, weeeDeliveredAmount); if (weeeDeliveredAmount.IsAatfDeliveredAmount) { AddAatfDeliveredAmount(weeeDeliveredAmount); } else if (weeeDeliveredAmount.IsAeDeliveredAmount) { AddAeDeliveredAmount(weeeDeliveredAmount); } }
private void AddAeDeliveredAmount(WeeeDeliveredAmount aeDeliveredAmount) { if (WeeeDeliveredAmounts .Where(r => r.IsAeDeliveredAmount) .Where(r => r.AeDeliveryLocation.ApprovalNumber == aeDeliveredAmount.AeDeliveryLocation.ApprovalNumber) .Where(r => r.WeeeCategory == aeDeliveredAmount.WeeeCategory) .Where(r => (r.ObligationType & aeDeliveredAmount.ObligationType) != ObligationType.None) .Any()) { string errorMessage = "A return item with this obligation type and category has already been added."; throw new InvalidOperationException(errorMessage); } WeeeDeliveredAmounts.Add(aeDeliveredAmount); }