コード例 #1
0
        public void AddWeeeDeliveredAmount(WeeeDeliveredAmount weeeDeliveredAmount)
        {
            Guard.ArgumentNotNull(() => weeeDeliveredAmount, weeeDeliveredAmount);

            if (weeeDeliveredAmount.IsAatfDeliveredAmount)
            {
                AddAatfDeliveredAmount(weeeDeliveredAmount);
            }
            else if (weeeDeliveredAmount.IsAeDeliveredAmount)
            {
                AddAeDeliveredAmount(weeeDeliveredAmount);
            }
        }
コード例 #2
0
        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);
        }