Ejemplo n.º 1
0
        public void AssertPayload(OrderItemEntity actual)
        {
            var expected = OrderItemEntityBuilder
                           .Create()
                           .WithOrderId(OrderId)
                           .WithOdsCode(Payload.OdsCode)
                           .WithCatalogueItemId(Payload.CatalogueSolutionId)
                           .WithCatalogueItemType(CatalogueItemType.Solution)
                           .WithCatalogueItemName(Payload.CatalogueSolutionName)
                           .WithDeliveryDate(Payload.DeliveryDate)
                           .WithQuantity(Payload.Quantity.GetValueOrDefault())
                           .WithEstimationPeriod(Payload.EstimationPeriod)
                           .WithProvisioningType(Payload.ProvisioningType.GetValueOrDefault())
                           .WithCataloguePriceType(Payload.CataloguePriceType.GetValueOrDefault())
                           .WithCurrencyCode(Payload.CurrencyCode)
                           .WithPricingUnitTierName(Payload.ItemUnitName)
                           .WithPricingUnitDescription(Payload.ItemUnitNameDescription)
                           .WithPrice(Payload.Price)
                           .Build();

            actual.Should().BeEquivalentTo(expected,
                                           config =>
                                           config
                                           .Excluding(entity => entity.OrderItemId)
                                           .Excluding(entity => entity.Created)
                                           .Excluding(entity => entity.LastUpdated));
        }
Ejemplo n.º 2
0
        public async Task GivenOrderItemsExist(Table table)
        {
            foreach (var orderItemTableItem in table.CreateSet <OrderItemTable>())
            {
                var orderItemEntity = OrderItemEntityBuilder
                                      .Create()
                                      .WithOrderId(orderItemTableItem.OrderId)
                                      .WithCatalogueItemId(orderItemTableItem.CatalogueItemId)
                                      .WithCatalogueItemName(orderItemTableItem.CatalogueItemName)
                                      .WithCatalogueItemType(orderItemTableItem.CatalogueItemType)
                                      .WithOdsCode(orderItemTableItem.OdsCode)
                                      .WithCurrencyCode(orderItemTableItem.CurrencyCode)
                                      .WithDeliveryDate(orderItemTableItem.DeliveryDate != DateTime.MinValue ? orderItemTableItem.DeliveryDate : DateTime.UtcNow)
                                      .WithEstimationPeriod(orderItemTableItem.EstimationPeriod)
                                      .WithPricingUnitTierName(orderItemTableItem.CataloguePriceUnitName)
                                      .WithPricingUnitDescription(orderItemTableItem.CataloguePriceUnitDescription)
                                      .WithPrice(orderItemTableItem.Price)
                                      .WithProvisioningType(orderItemTableItem.ProvisioningType)
                                      .WithQuantity(orderItemTableItem.Quantity)
                                      .Build();

                var orderItemId = await orderItemEntity.InsertAsync <int>(_settings.ConnectionString);

                orderItemEntity.OrderItemId = orderItemId;

                _orderItemReferenceList.Add(orderItemEntity.CatalogueItemName, orderItemEntity);
            }
        }
        public async Task GivenOrderItemsExist(Table table)
        {
            foreach (var orderItemTableItem in table.CreateSet <OrderItemTable>())
            {
                var orderItemEntity = OrderItemEntityBuilder
                                      .Create()
                                      .WithOrderId(orderItemTableItem.OrderId)
                                      .WithCatalogueItemId(orderItemTableItem.CatalogueItemId)
                                      .WithProvisioningType(orderItemTableItem.ProvisioningType)
                                      .WithPricingUnitName(orderItemTableItem.CataloguePriceUnitName)
                                      .WithTimeUnit(orderItemTableItem.PriceTimeUnit)
                                      .WithEstimationPeriod(orderItemTableItem.EstimationPeriod)
                                      .WithCurrencyCode(orderItemTableItem.CurrencyCode)
                                      .WithPriceId(orderItemTableItem.PriceId)
                                      .WithPrice(orderItemTableItem.Price)
                                      .WithCreated(orderItemTableItem.Created ?? DateTime.UtcNow)
                                      .Build();

                await orderItemEntity.InsertAsync(settings.ConnectionString);

                orderContext.AddOrderItem(orderItemEntity);
            }
        }