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; }
private OrderConfirmationEmailTemplateViewModelBuilder CreateDefaultOrderConfirmationEmailTemplateViewModelBuilder( string orderNumber, CheckoutDetailsModel model) { var shoppingCart = FakeFactory.ShoppingCartWith3Items(); var jewelRepostory = new FakeJewelRepository(new FakeSettingManager()); var diamondRepository = new FakeDiamondRepository(mapper); var cartItemBuilder = new CartItemViewModelBuilder(jewelRepostory, diamondRepository, mapper); var builder = new OrderConfirmationEmailTemplateViewModelBuilder(orderNumber, model, shoppingCart, cartItemBuilder); return builder; }