/// <summary>
        /// Добавление оплаты
        /// </summary>
        /// <param name="payment">Оплата</param>
        public virtual void AddPayment(ProductionOrderPayment payment)
        {
            ValidationUtils.NotNull(payment, "Необходимо указать платеж.");
            ValidationUtils.Assert(!payments.Contains(payment), "Данная оплата уже связана с этим транспортным листом.");

            payment.ProductionOrderPlannedPayment = this;
            payments.Add(payment);
        }
        /// <summary>
        /// Добавление оплаты
        /// </summary>
        /// <param name="payment">Оплата</param>
        protected internal virtual void AddPayment(ProductionOrderPayment payment)
        {
            if (payments.Contains(payment))
            {
                throw new Exception("Данная оплата уже связана с этим заказом.");
            }

            payments.Add(payment);
        }
        /// <summary>
        /// Удаление оплаты
        /// </summary>
        /// <param name="payment">Оплата</param>
        /// <param name="currentDateTime">Текущее время</param>
        public virtual void DeletePayment(ProductionOrderPayment payment, DateTime currentDateTime)
        {
            if (payment.ProductionOrderPlannedPayment != null)
            {
                payment.ProductionOrderPlannedPayment.DeletePayment(payment);
            }

            payment.DeletionDate = currentDateTime;
            payments.Remove(payment);
        }
 /// <summary>
 /// Удаление оплаты
 /// </summary>
 /// <param name="payment">Оплата</param>
 protected internal virtual void DeletePayment(ProductionOrderPayment payment)
 {
     ValidationUtils.NotNull(payment, "Необходимо указать платеж.");
     payments.Remove(payment);
 }