public void ProcessorOrder(Cart cart, ShippingDetails shipping) { using(var smtpClient = new SmtpClient(emailSettings.Servername, emailSettings.Serverport)) { smtpClient.EnableSsl = emailSettings.UseSsl; smtpClient.UseDefaultCredentials = false; smtpClient.Credentials = new NetworkCredential(emailSettings.Username, emailSettings.Password); if(emailSettings.WriteAsFile) { smtpClient.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; smtpClient.PickupDirectoryLocation = emailSettings.FileLocation; smtpClient.EnableSsl = false; } StringBuilder body = new StringBuilder(); body.AppendLine("A new order has been submitted"); body.AppendLine("---"); body.AppendLine("Items: "); foreach (var item in cart.Lines) { var subtotal = item.Product.Price*item.Quantity; body.AppendFormat("{0} x {1} (subtotal: {2})", item.Quantity, item.Product.Price, subtotal.ToString("c")); } body.AppendFormat("Total order value: {0}", cart.ComputeTotalValue().ToString("c")) .AppendLine("---") .AppendLine("Ship to: ") .AppendLine(shipping.Name) .AppendLine(shipping.Line1) .AppendLine(shipping.Line2 ?? "") .AppendLine(shipping.Line3 ?? "") .AppendLine(shipping.City) .AppendLine(shipping.State ?? "") .AppendLine(shipping.Country) .AppendLine(shipping.Zip) .AppendLine("---") .AppendFormat("Gift wrap: {0}", shipping.GiftWrap ? "Yes" : "No") ; MailMessage mailMessage = new MailMessage(emailSettings.MailFromAddress, emailSettings.MailToAddress, "New order submitted!", body.ToString()); if(emailSettings.WriteAsFile) { mailMessage.BodyEncoding = Encoding.ASCII; } try { smtpClient.Send(mailMessage); } catch (Exception exception) { Debug.WriteLine("Couldn't send mail: " + exception.Message); } } }
public void ProcessOrder(Cart cart, ShippingDetails shippingInfo) { using (var smtpClient = new SmtpClient()) { smtpClient.EnableSsl = emailSettings.UseSsl; smtpClient.Host = emailSettings.ServerName; smtpClient.Port = emailSettings.ServerPort; smtpClient.UseDefaultCredentials = false; smtpClient.Credentials = new NetworkCredential(emailSettings.Username, emailSettings.Password); if (emailSettings.WriteAsFile) { smtpClient.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; smtpClient.PickupDirectoryLocation = emailSettings.FileLocation; smtpClient.EnableSsl = false; } StringBuilder body = new StringBuilder() .AppendLine("A new order has been submitted") .AppendLine("---") .AppendLine("Items:"); foreach (var line in cart.Lines) { var subtotal = line.Product.Price * line.Quantity; body.AppendFormat("{0} x {1} (subtotal: {2:c}", line.Quantity, line.Product.Name, subtotal); } body.AppendFormat("Total order value: {0:c}", cart.ComputeTotalValue()) .AppendLine("---") .AppendLine("Ship to:") .AppendLine(shippingInfo.Name) .AppendLine(shippingInfo.Line1) .AppendLine(shippingInfo.Line2 ?? "") .AppendLine(shippingInfo.Line3 ?? "") .AppendLine(shippingInfo.City) .AppendLine(shippingInfo.State ?? "") .AppendLine(shippingInfo.Country) .AppendLine(shippingInfo.Zip) .AppendLine("---") .AppendFormat("Gift wrap: {0}", shippingInfo.GiftWrap ? "Yes" : "No"); MailMessage mailMessage = new MailMessage( emailSettings.MailFromAddress, // From emailSettings.MailToAddress, // To "New order submitted!", // Subject body.ToString()); // Body if (emailSettings.WriteAsFile) { mailMessage.BodyEncoding = Encoding.ASCII; } //smtpClient.Send(mailMessage); } }
private MailMessage BuildMailMessage(Cart cart, ShippingDetails shippingDetails) { StringBuilder body = new StringBuilder(); body.AppendLine("A new order has been submitted"); body.AppendLine("---"); body.AppendLine("Items:"); foreach (var line in cart.Lines) { var subtotal = line.Product.Price * line.Quantity; body.AppendFormat("{0} x {1} (subtotal: {2:c}", line.Quantity, line.Product.Name, subtotal); } body.AppendFormat("Total order value: {0:c}", cart.ComputeTotalValue()); body.AppendLine("---"); body.AppendLine("Ship to:"); body.AppendLine(shippingDetails.Name); body.AppendLine(shippingDetails.Line1); body.AppendLine(shippingDetails.Line2 ?? ""); body.AppendLine(shippingDetails.Line3 ?? ""); body.AppendLine(shippingDetails.City); body.AppendLine(shippingDetails.State ?? ""); body.AppendLine(shippingDetails.Country); body.AppendLine(shippingDetails.Zip); body.AppendLine("---"); body.AppendFormat("Gift wrap: {0}", shippingDetails.GiftWrap ? "Yes" : "No"); return new MailMessage("*****@*****.**", // From mailTo, // To "New order submitted!", // Subject body.ToString()); // Body }
public ViewResult List(Cart cart, string category, int page = 1) { var products = _productRepository.Products .Where(p => category == null || p.Category == category) .OrderBy(p => p.ProductID) .Skip((page - 1)*PageSize) .Take(PageSize); string carttotal = cart.ComputeTotalValue().ToString("c"); int quantity = cart.Lines.Sum(x => x.Quantity); ProductListViewModel viewModel = new ProductListViewModel { Products = products, PagingInfo = new PagingInfo { CurrentPage = page, ItemsPerPage = PageSize, TotalItems = category == null ? _productRepository.Products.Count() : _productRepository.Products.Count(x => x.Category == category) }, CurrentCategory = category, CartTotal = carttotal, CartQuantity = quantity }; return View(viewModel); }
private string CombineMessage(Cart cart, ShippingDetails shippingDetails) { StringBuilder body = new StringBuilder() .AppendLine("A new order has been submitted") .AppendLine("---") .AppendLine("Items:"); foreach (var line in cart.Lines) { var subtotal = line.Product.Price * line.Quantity; body.AppendFormat("{0} x {1} (subtotal: {2:c})", line.Quantity, line.Product.Name, subtotal); } body.AppendFormat("Total order value: {0:c}", cart.ComputeTotalValue()) .AppendLine("---") .AppendLine("Ship to:") .AppendLine(shippingDetails.Name) .AppendLine(shippingDetails.Line1) .AppendLine(shippingDetails.Line2 ?? "") .AppendLine(shippingDetails.Line3 ?? "") .AppendLine(shippingDetails.City) .AppendLine(shippingDetails.State ?? "") .AppendLine(shippingDetails.Country) .AppendLine(shippingDetails.Zip) .AppendLine("---") .AppendFormat("Gift wrap: {0}", shippingDetails.GiftWrap ? "Yes" : "No"); return body.ToString(); }
public void ProcessOrder(Cart cart, ShippingDetails shippingInfo) { using (var smtpClient = new SmtpClient()) { smtpClient.EnableSsl = emailSettings.UseSsl; smtpClient.Host = emailSettings.ServerName; smtpClient.Port = emailSettings.ServerPort; smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; smtpClient.UseDefaultCredentials = false; smtpClient.Credentials = new NetworkCredential(emailSettings.UserName, emailSettings.Password); smtpClient.Timeout = 10000; if (emailSettings.WriteAsFile) { smtpClient.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; smtpClient.PickupDirectoryLocation = emailSettings.FileLocation; smtpClient.EnableSsl = false; } StringBuilder body = new StringBuilder() .AppendLine("Nowe zamówienie") .AppendLine("---") .AppendLine("Produkty:"); foreach (var line in cart.Lines) { var subtotal = line.Product.Price*line.Quantity; body.AppendFormat("{0} x {1} (wartość: {2:c})", line.Quantity, line.Product.Name, subtotal); } body.AppendFormat("Wartosc calkowita:{0:c}", cart.ComputeTotalValue()) .AppendLine("---") .AppendLine("Wysylka dla:") .AppendLine(shippingInfo.Name) .AppendLine(shippingInfo.Line1) .AppendLine(shippingInfo.Line2 ?? "") .AppendLine(shippingInfo.Line3 ?? "") .AppendLine(shippingInfo.City) .AppendLine(shippingInfo.State ?? "") .AppendLine(shippingInfo.Country) .AppendLine(shippingInfo.Zip) .AppendLine("---") .AppendFormat("Pakowanie prezentu: {0}", shippingInfo.GiftWrap ? "Tak" : "Nie"); MailMessage mailMessage = new MailMessage( emailSettings.MailFromAddress, emailSettings.MailToAddress, "Otrzymano nowe zamówienie!", body.ToString()); mailMessage.Priority = MailPriority.High; if (emailSettings.WriteAsFile) { mailMessage.BodyEncoding = Encoding.ASCII; } smtpClient.Send(mailMessage); } }
public void ProcessOrder(Cart cart, ShippingDetails shippingDetails) { using (var smtpClient = new SmtpClient()) { smtpClient.EnableSsl = emailSettings.UseSsl; smtpClient.Host = emailSettings.ServerName; smtpClient.Port = emailSettings.ServerPort; smtpClient.UseDefaultCredentials = false; smtpClient.Credentials = new NetworkCredential(emailSettings.Username, emailSettings.Password); if (emailSettings.WriteAsFile) { smtpClient.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; smtpClient.PickupDirectoryLocation = emailSettings.FileLocation; smtpClient.EnableSsl = false; } StringBuilder body = new StringBuilder() .AppendLine("A new order has being submitted") .AppendLine("---") .AppendLine("Items:"); foreach (var line in cart.Lines) { var subtotal = line.Product.Price * line.Quantity; body.AppendFormat("{0} x {1} (subtotal: {2:c})", line.Quantity, line.Product.Name, subtotal); } body.AppendFormat("Total order value: {0:c}", cart.ComputeTotalValue()) .AppendLine("---") .AppendLine("Ship to") .AppendLine(shippingDetails.Name) .AppendLine(shippingDetails.Line1) .AppendLine(shippingDetails.Line2 ?? "") .AppendLine(shippingDetails.Line3 ?? "") .AppendLine(shippingDetails.City) .AppendLine(shippingDetails.Zip ?? "") .AppendLine(shippingDetails.Country) .AppendLine("---") .AppendFormat("Gift wrap: {0}", shippingDetails.GiftWrap ? "Yes" : "No"); MailMessage message = new MailMessage(); AlternateView plainView = AlternateView.CreateAlternateViewFromString(body.ToString(), null, MediaTypeNames.Text.Plain); message.From = new MailAddress(emailSettings.MailFromAddress); message.To.Add(emailSettings.MailToAddress); message.Subject = "New order submitted"; message.AlternateViews.Add(plainView); if (emailSettings.WriteAsFile) { message.BodyEncoding = Encoding.ASCII; } smtpClient.Send(message); } }
public void Calculate_Car_Total() { Product p1 = new Product { ProductID = 1, Name = "P1", Price=10 }; Product p2 = new Product { ProductID = 2, Name = "P2", Price=5}; Cart target = new Cart(); target.AddItem(p1, 1); target.AddItem(p2, 3); Assert.AreEqual(target.ComputeTotalValue(), 25); }
public void Calculate_Card_Total() { Product p1 = new Product { ProductID = 1, Name = "P1",Price=100 }; Product p2 = new Product { ProductID = 2, Name = "P2",Price=150 }; Cart target = new Cart(); target.AddItem(p1, 1); target.AddItem(p2, 1); decimal res= target.ComputeTotalValue(); Assert.AreEqual(res, 250); }
public ActionResult AjaxAdd(Cart cart, int productId) { Product product = _productRepository.Products.FirstOrDefault(p => p.ProductID == productId); if (product != null) cart.AddItem(product, 1); int cartQuantity = cart.Lines.Sum(x => x.Quantity); string cartTotal = cart.ComputeTotalValue().ToString("c"); return Json(new { success = true, cartQuantity, cartTotal }); }
public void CalculateCartTotal() { Product p1 = new Product() { Id = 1, Name = "P1", Price = 100M}; Product p2 = new Product() { Id = 2, Name = "P2", Price = 50M}; Cart target = new Cart(); target.AddItem(p1, 1); target.AddItem(p2, 1); target.AddItem(p1, 3); decimal result = target.ComputeTotalValue(); Assert.AreEqual(result, 450M); }
public void Calculate_Cart_Total() { // Arrange - create some test products Product p1 = new Product { ProductID = 1, Name = "P1", Price = 100M }; Product p2 = new Product { ProductID = 2, Name = "P2", Price = 50M }; // Arrange - create a new cart Cart target = new Cart(); // Act target.AddItem(p1, 1); target.AddItem(p2, 1); target.AddItem(p1, 3); decimal result = target.ComputeTotalValue(); // Assert Assert.AreEqual(result, 450M); }
public void Calculate_Cart_Total() { var p1 = new Product { ProductID = 1, Name = "P1", Price = 100M }; var p2 = new Product { ProductID = 2, Name = "P2", Price = 50M }; var target = new Cart(); target.AddItem(p1, 1); target.AddItem(p2, 1); target.AddItem(p1, 3); decimal result = target.ComputeTotalValue(); Assert.AreEqual(result, 450M); }
public void Calculate_Cart_Total() { Product p1 = new Product() { ProductID = 1, Name = "P1", Price = 25M }; Product p2 = new Product() { ProductID = 2, Name = "P2", Price = 20M }; Product p3 = new Product() { ProductID = 3, Name = "P3", Price = 5M }; Cart cart = new Cart(); cart.AddItem(p1, 2); cart.AddItem(p2, 2); cart.AddItem(p3, 1); cart.AddItem(p1, 6); decimal result = cart.ComputeTotalValue(); Assert.AreEqual(result, 245); }
public void Compute_TotalValue_Of_Cart() { //Arrange Cart target = new Cart(); // TODO: Initialize to an appropriate value target.AddItem(products[0], 5); target.AddItem(products[1], 2); target.AddItem(products[2], 3); //Act decimal total = target.ComputeTotalValue(); //Assert Assert.AreEqual(total, 139M); }
public void Calculate_Total_Cost() { Product p1 = new Product { ProductID = 1, Name = "p1", Price = 500M }; Product p2 = new Product { ProductID = 2, Name = "p2", Price = 150M }; Cart target = new Cart(); target.AddItem(p1, 1); target.AddItem(p2, 2); target.AddItem(p1, 4); decimal result = target.ComputeTotalValue(); Assert.AreEqual(result, 2800M); }
public void Calculate_Cart_Total() { //arrange Product p1 = new Product { ProductID = 1, Name = "P1", Price = 100m }; Product p2 = new Product { ProductID = 2, Name = "P2", Price = 50m }; Cart target = new Cart(); //act target.AddItem(p1, 1); target.AddItem(p2, 1); target.AddItem(p1, 3); decimal result = target.ComputeTotalValue(); //assert Assert.AreEqual(result, 450m); }
public void Calculate_Cart_Total() { var p1 = new Product { ProductId = 1, Name = "P1", Price = 1m}; var p2 = new Product { ProductId = 2, Name = "P2" , Price = 2m}; var p3 = new Product { ProductId = 3, Name = "P3" , Price = 3m}; var target = new Cart(); target.AddItem(p1, 1); target.AddItem(p2, 2); target.AddItem(p3, 10); target.AddItem(p2, 3); var results = target.Lines.ToArray(); Assert.AreEqual(results.Length, 3); Assert.AreEqual(target.ComputeTotalValue(), 41m); }
public void Calculate_Cart_Total() { // Arrange Product p1 = new Product() { ProductID = 1, Name = "p1", Price = 100m }; Product p2 = new Product() { ProductID = 2, Name = "p2", Price = 50m }; Cart target = new Cart(); // Act target.AddItem(p1, 1); target.AddItem(p2, 2); target.AddItem(p1, 3); decimal cartTotal = target.ComputeTotalValue(); // Assert Assert.AreEqual(450m, cartTotal); }
public void Calculate_Cart_Total() { // Arrange Product p1 = new Product { ProductID = 1, Name = "P1", Price = 100m }, p2 = new Product { ProductID = 2, Name = "P2", Price = 50m }; Cart cart = new Cart(); cart.AddItem(p1, 1); cart.AddItem(p2, 1); cart.AddItem(p1, 3); // Act decimal result = cart.ComputeTotalValue(); // Assert Assert.AreEqual(result, 450m); }
public void Calculate_Cart_Total() { //Arrange - 테스트 상품을 몇개 생성한다. Product p1 = new Product { ProductID = 1, Name = "P1", Price = 100M }; Product p2 = new Product { ProductID = 2, Name = "P2", Price = 50M }; //Product p1 = new Product { ProductID = 1, Name = "P1", Price = 100M }; //Arrange - 새 장바구니를 생성한다. Cart target = new Cart(); //Act target.AddItem(p1, 1); target.AddItem(p2, 1); target.AddItem(p1, 3); decimal result = target.ComputeTotalValue(); //Assert Assert.AreEqual(result, 450M); }
public void ProcessOrder(Cart cart, ShippingDetails shippingDetails) { using (var smtpClient = new SmtpClient()) { smtpClient.EnableSsl = emailSettings.UseSsl; smtpClient.Host = emailSettings.ServerName; smtpClient.Port = emailSettings.ServerPort; smtpClient.UseDefaultCredentials = false; smtpClient.Credentials = new NetworkCredential(emailSettings.Username, emailSettings.Passwort); if (emailSettings.WriteAsFile) { smtpClient.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; smtpClient.PickupDirectoryLocation = emailSettings.FileLocation; smtpClient.EnableSsl = false; } StringBuilder body = new StringBuilder() .AppendLine("Nowe zamównie") .AppendLine("---") .AppendLine("Produkty:"); foreach (var line in cart.Lines) { var subTotal = line.Product.Price*line.Quantity; body.AppendFormat("{0} x {1} (wartość: {2:c}", line.Quantity, line.Product.Name, subTotal); } body.AppendFormat("Wartość całkowita: {0:c}", cart.ComputeTotalValue()) .AppendLine("---") .AppendLine("Wysyłka dla:") .AppendLine(shippingDetails.Name); MailMessage mailMessage = new MailMessage( emailSettings.MailFromAdress, emailSettings.MailToAddress, "Otrzymano nowe zamówienie!", body.ToString()); if (emailSettings.WriteAsFile) { mailMessage.BodyEncoding = Encoding.ASCII; } smtpClient.Send(mailMessage); } }
public ViewResult Index(Cart cart, string returnUrl) { return View(new CartIndexViewModel { Cart = cart, ReturnUrl = returnUrl, Total = cart.ComputeTotalValue() }); }
public void ComputeTotalValue_TotalPriceInCart_Calculated() { Product p1 = new Product { ProductName = "P1", ProductID = 1, UnitPrice=10m }; Product p2 = new Product { ProductName = "P2", ProductID = 2, UnitPrice=20m}; Cart cart = new Cart(); cart.AddItem(p1, 2); cart.AddItem(p2, 1); decimal total = cart.ComputeTotalValue(); Assert.AreEqual(40m, total); }
public ActionResult UpdateQuantity(Cart cart, CartLine line) { CartLine lineItem = cart.Lines.First(p => p.Product.ProductID == line.Product.ProductID); lineItem.Quantity = line.Quantity; CartIndexViewModel model = new CartIndexViewModel { Cart = cart, ReturnUrl = "", Total = cart.ComputeTotalValue() }; //return Json(new { success = true, lineTotal = lineItem.LineTotal, total = cart.ComputeTotalValue() }); return Json(new {success = true, model}); }
public ActionResult RemoveItem(Cart cart, Product product) { //Product product = _productRepository.Products.FirstOrDefault(p => p.ProductID == productId); if (product != null) cart.RemoveLine(product); return Json(new { success = true, total = cart.ComputeTotalValue() }); }
public void ProcessOrder(Cart cart, OrderHeader orderHeader, string userId, string userEmail) { //populate MailToAddress property of the emailSettings object with current user's email address. emailSettings.MailToAddress = userEmail; //get the credit card number of the current user. string cc_no = context.CreditCards .First(c => c.AspnetUser_Id == userId) .Id; decimal totalAmount = cart.ComputeTotalValue(); //total amount for this purchase //populate some of the order header attributes (properties) orderHeader.OrderDate = System.DateTime.Now; orderHeader.AspnetUser_Id = userId; orderHeader.CreditCard_Id = cc_no; orderHeader.TotalAmount = totalAmount; using (var smtpClient = new SmtpClient()) { smtpClient.EnableSsl = emailSettings.UseSsl; smtpClient.Host = emailSettings.ServerName; smtpClient.Port = emailSettings.ServerPort; smtpClient.UseDefaultCredentials = false; smtpClient.Credentials = new NetworkCredential(emailSettings.Username, emailSettings.Password); if (emailSettings.WriteAsFile) { smtpClient.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; smtpClient.PickupDirectoryLocation = emailSettings.FileLocation; smtpClient.EnableSsl = false; } StringBuilder body = new StringBuilder() .AppendLine("A new order has been submitted") .AppendLine("---") .AppendLine("Items:"); foreach (var line in cart.Lines) { OrderLine orderLine = new OrderLine(); //create a new oderLine object orderLine.Product = line.Product; orderLine.Quantity = line.Quantity; orderLine.SalePrice = line.Product.Price; orderLine.OrderHeader = orderHeader; //attach orderLine to orderHeader context.OrderLines.Add(orderLine); //add the following line to prevent adding a duplicate product row in the // Products table everytime a user buys that product. context.Entry(orderLine.Product).State = System.Data.Entity.EntityState.Modified; var subtotal = line.Product.Price * line.Quantity; body.AppendFormat("{0} x {1} (subtotal: {2:c}); ", line.Quantity, line.Product.Name, subtotal); } context.OrderHeaders.Add(orderHeader); context.SaveChanges(); context.Dispose(); //dispose context object - it is no longer needed. body.AppendFormat("Total order value: {0:c}", cart.ComputeTotalValue()) .AppendLine("---") .AppendLine("Ship to:") .AppendLine(orderHeader.Name) .AppendLine(orderHeader.Line1) .AppendLine(orderHeader.Line2 ?? "") .AppendLine(orderHeader.Line3 ?? "") .AppendLine(orderHeader.City) .AppendLine(orderHeader.State ?? "") .AppendLine(orderHeader.Country) .AppendLine(orderHeader.Zip) .AppendLine("---") .AppendFormat("Gift wrap: {0}", orderHeader.IsGiftwrap ? "Yes" : "No"); MailMessage mailMessage = new MailMessage( emailSettings.MailFromAddress, // From emailSettings.MailToAddress, // To "New order submitted!", // Subject body.ToString()); // Body if (emailSettings.WriteAsFile) { mailMessage.BodyEncoding = Encoding.ASCII; } smtpClient.Send(mailMessage); } }
public void ShouldCalculateTotalValue() { Product p1 = new Product { ProductID = 1, Name = "P1", Price = 100m}; Product p2 = new Product { ProductID = 2, Name = "P2", Price = 50m}; Cart target = new Cart(); target.AddItem(p1, 1); target.AddItem(p2, 1); target.AddItem(p1, 3); var result = target.ComputeTotalValue(); Assert.AreEqual(result, 450M); }
public void ProcessOrder(Cart cart, ShippingDetails shippingDetails) { // use an SmptClient() to handle this email using (var smtpClient = new SmtpClient()) { // set up some defaults smtpClient.EnableSsl = _emailSettings.UseSsl; smtpClient.Host = _emailSettings.ServerName; smtpClient.Port = _emailSettings.ServerPort; smtpClient.UseDefaultCredentials = false; smtpClient.Credentials = new NetworkCredential(_emailSettings.Username, _emailSettings.Password); // change defaults based on stuff if (_emailSettings.WriteAsFile) { smtpClient.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; smtpClient.PickupDirectoryLocation = _emailSettings.FileLocation; smtpClient.EnableSsl = false; } // build email content StringBuilder body = new StringBuilder() .AppendLine("A new order has been submitted") .AppendLine("---") .AppendLine("Items: "); foreach (var line in cart.Lines) { var subTotal = line.Product.Price * line.Quantity; body.AppendFormat("{0} x {1} (subtotal: {2:c}", line.Quantity, line.Product.Name, subTotal); } body.AppendFormat("Total order value: {0:c}", cart.ComputeTotalValue()) .AppendLine("---") .AppendLine("Ship to:") .AppendLine(shippingDetails.Name) .AppendLine(shippingDetails.Line1) .AppendLine(shippingDetails.Line2 ?? "") .AppendLine(shippingDetails.Line3 ?? "") .AppendLine(shippingDetails.City) .AppendLine(shippingDetails.State ?? "") .AppendLine(shippingDetails.Zip) .AppendLine("---") .AppendFormat("Gift wrap: {0}", shippingDetails.GiftWrap ? "Yes" : "No"); MailMessage mailMessage = new MailMessage( _emailSettings.MailFromAddress, //from _emailSettings.MailToAddress, // to "New order submitted!", // subject body.ToString() // body ); if (_emailSettings.WriteAsFile) { mailMessage.BodyEncoding = Encoding.ASCII; } smtpClient.Send(mailMessage); } }
public void Cart_TotalValue_Is_Sum_Of_Price_Times_Quantity() { var cart = new Cart(); cart.AddItem(new Product{ ProductId = 1, Price = 5}, 10); cart.AddItem(new Product { ProductId = 2, Price = 2.1M }, 3); cart.AddItem(new Product { ProductId = 3, Price = 1000 }, 1); cart.ComputeTotalValue().ShouldEqual(1056.3M); }