private OrderBuilder CreateDefaultOrderBuilder() { var jewelRepository = new FakeJewelRepository(new FakeSettingManager()); var diamondRepository = new FakeDiamondRepository(mapper); var shoppingCart = MockRepository.GenerateStub<IShoppingCart>(); shoppingCart.Stub(x => x.Items).Return(new List<ICartItem>() { FakeJewelCartItem( Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID, Tests.SAMPLE_JEWEL_SIZE_725, JewelMediaType.WhiteGold, 1000), FakeDiamondCartItem( Tests.FAKE_DIAMOND_REPOSITORY_FIRST_ITEM_ID, 2000), FakeCustomJewelCartItem( Tests.FAKE_DIAMOND_REPOSITORY_FIRST_ITEM_ID, Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID, Tests.SAMPLE_JEWEL_SIZE_725, JewelMediaType.WhiteGold, 3000) }); shoppingCart.Stub(x => x.TotalPrice).Return(6000); var authentication = MockRepository.GenerateStub<IAuthentication>(); var builder = new OrderBuilder(shoppingCart, authentication, mapper); return builder; }
private OrderBuilder CreateDefaultOrderBuilderWithCustomeAuthentication(IAuthentication authentication) { var shoppingCart = MockRepository.GenerateStub<IShoppingCart>(); shoppingCart.Stub(x => x.Items).Return(new List<ICartItem>()); var builder = new OrderBuilder(shoppingCart,authentication, mapper); return builder; }
private int SaveOrderAndEmail(CheckoutDetailsModel checkoutDetailsModel, IShoppingCart shoppingCart) { var orderBuilder = new OrderBuilder(shoppingCart, authentication, mapper); var orderdto = orderBuilder.Build(checkoutDetailsModel); var orderNumber = orderRepository.Save(orderdto); if (orderNumber > 0) { var cartItemBuilder = new CartItemViewModelBuilder(jewelRepository, diamondRepository, mapper); var emailTemplateBuilder = new OrderConfirmationEmailTemplateViewModelBuilder(orderNumber.ToString(), checkoutDetailsModel, shoppingCart, cartItemBuilder); var emailTemplateViewModel = emailTemplateBuilder.Build(); mailer.OrderConfirmation(checkoutDetailsModel.Email, emailTemplateViewModel).Send(); } return orderNumber; }