コード例 #1
0
        /// <summary>
        /// Конструктор для создания оплаты за производство
        /// </summary>
        /// <param name="productionOrder">Заказ</param>
        /// <param name="paymentDocumentNumber">Номер платежного документа</param>
        /// <param name="date">Дата оплаты</param>
        /// <param name="sumInCurrency">Сумма оплаты в валюте</param>
        /// <param name="currencyRate">Курс оплаты</param>
        /// <param name="form">Форма оплаты</param>
        public ProductionOrderPayment(ProductionOrder productionOrder, string paymentDocumentNumber, DateTime date, decimal sumInCurrency,
                                      CurrencyRate currencyRate, ProductionOrderPaymentForm form) : this(paymentDocumentNumber, date, sumInCurrency, currencyRate, form,
                                                                                                         ProductionOrderPaymentType.ProductionOrderProductionPayment)
        {
            ProductionOrder = productionOrder;
            ProductionOrder.AddPayment(this);

            ValidationUtils.Assert(!(currencyRate != null && productionOrder.Currency != currencyRate.Currency), "Курс оплаты не соответствует валюте заказа.");
        }
コード例 #2
0
        public ProductionOrderExtraExpensesSheetPayment(ProductionOrderExtraExpensesSheet extraExpensesSheet, string paymentDocumentNumber, DateTime date, decimal sumInCurrency,
                                                        CurrencyRate currencyRate, ProductionOrderPaymentForm form) : base(paymentDocumentNumber, date, sumInCurrency, currencyRate, form,
                                                                                                                           ProductionOrderPaymentType.ProductionOrderExtraExpensesSheetPayment)
        {
            ValidationUtils.NotNull(extraExpensesSheet, "Не указан лист дополнительных расходов.");
            ExtraExpensesSheet = extraExpensesSheet;
            ExtraExpensesSheet.AddPayment(this);

            ProductionOrder = ExtraExpensesSheet.ProductionOrder;
            ProductionOrder.AddPayment(this);

            ValidationUtils.Assert(!(currencyRate != null && extraExpensesSheet.Currency != currencyRate.Currency), "Курс не соответствует валюте листа дополнительных расходов.");
        }
コード例 #3
0
        public ProductionOrderTransportSheetPayment(ProductionOrderTransportSheet transportSheet, string paymentDocumentNumber, DateTime date, decimal sumInCurrency,
                                                    CurrencyRate currencyRate, ProductionOrderPaymentForm form) : base(paymentDocumentNumber, date, sumInCurrency, currencyRate, form,
                                                                                                                       ProductionOrderPaymentType.ProductionOrderTransportSheetPayment)
        {
            ValidationUtils.NotNull(transportSheet, "Не указан транспортный лист.");
            TransportSheet = transportSheet;
            TransportSheet.AddPayment(this);

            ProductionOrder = TransportSheet.ProductionOrder;
            ProductionOrder.AddPayment(this);

            ValidationUtils.Assert(!(currencyRate != null && transportSheet.Currency != currencyRate.Currency), "Курс не соответствует валюте транспортного листа.");
        }
コード例 #4
0
        /// <summary>
        /// Конструктор, заполняющий базовые поля, для вызова из других конструкторов
        /// </summary>
        /// <param name="paymentDocumentNumber">Номер платежного документа</param>
        /// <param name="date">Дата оплаты</param>
        /// <param name="sumInCurrency">Сумма оплаты в валюте</param>
        /// <param name="currencyRate">Курс оплаты</param>
        /// <param name="form">Форма оплаты</param>
        /// <param name="type">Назначение оплаты</param>
        protected ProductionOrderPayment(string paymentDocumentNumber, DateTime date, decimal sumInCurrency, CurrencyRate currencyRate, ProductionOrderPaymentForm form,
                                         ProductionOrderPaymentType type)
        {
            CreationDate = DateTime.Now;

            ValidationUtils.Assert(date.Date <= DateTime.Now.Date, "Дата оплаты не может быть больше текущей даты.");
            ValidationUtils.Assert(sumInCurrency > 0, "Сумма оплаты должна быть больше нуля.");
            ValidationUtils.NotNull(currencyRate, "Не указан курс валюты.");

            PaymentDocumentNumber = paymentDocumentNumber;
            Date          = date;
            SumInCurrency = sumInCurrency;
            CurrencyRate  = currencyRate;
            Form          = form;
            Type          = type;
        }
コード例 #5
0
        public ProductionOrderCustomsDeclarationPayment(ProductionOrderCustomsDeclaration customsDeclaration, string paymentDocumentNumber, DateTime date,
                                                        decimal sumInCurrency, CurrencyRate currencyRate, ProductionOrderPaymentForm form) : base(paymentDocumentNumber, date, sumInCurrency, currencyRate, form,
                                                                                                                                                  ProductionOrderPaymentType.ProductionOrderCustomsDeclarationPayment)
        {
            ValidationUtils.NotNull(customsDeclaration, "Не указан таможенный лист.");
            CustomsDeclaration = customsDeclaration;
            CustomsDeclaration.AddPayment(this);

            ProductionOrder = CustomsDeclaration.ProductionOrder;
            ProductionOrder.AddPayment(this);
        }