Esempio n. 1
0
            public void Apply(Order order)
            {
                var quotes = PriceConfirmations
                             .Select(confirmation => Quote.For(
                                         ProductAmount.Of(
                                             ProductId.From(confirmation.ProductId),
                                             Amount.Of(
                                                 confirmation.Amount,
                                                 confirmation.AmountUnit.ToDomainModel <AmountUnit>())),
                                         Money.Of(
                                             confirmation.Price,
                                             confirmation.Currency.ToDomainModel <Currency>())))
                             .ToImmutableArray();

                order._priceAgreement = PriceAgreement.Temporary(quotes, PriceAgreementExpiresOn);
            }
Esempio n. 2
0
            public void Apply(Order order)
            {
                var quotes = new List <Quote>();

                foreach (var priceConfirmation in PriceConfirmations)
                {
                    var productId = ProductId.From(priceConfirmation.ProductId);
                    var amount    = Amount.Of(
                        priceConfirmation.Amount,
                        priceConfirmation.AmountUnit.ToDomainModel <AmountUnit>());
                    order._items.Add(
                        ProductUnit.Of(
                            productId,
                            priceConfirmation.AmountUnit.ToDomainModel <AmountUnit>()),
                        amount);
                    quotes.Add(Quote.For(
                                   ProductAmount.Of(productId, amount),
                                   Money.Of(
                                       priceConfirmation.Price,
                                       priceConfirmation.Currency.ToDomainModel <Currency>())));
                }
                order._priceAgreement = PriceAgreement.Final(quotes.ToImmutableArray());
            }