public ViewResult Checkout(Cart cart) { ShippingDetails shippingDetails = new ShippingDetails(); int userID = WebSecurity.CurrentUserId; IEnumerable<Customer> customers = repositoryCustomer.Customers.Where(x => x.UserID == userID); IEnumerable<Address> addresses = from x in repositoryAddress.Addresses join y in repositoryCustomer.Customers on x.CustomerID equals y.CustomerID where y.UserID == userID select x; foreach (var customer in customers) { shippingDetails.Name = customer.FirstName; } foreach (var address in addresses) { shippingDetails.Line1 = address.StreetLine1; shippingDetails.Line2 = address.StreetLine2; shippingDetails.Line3 = address.StreetLine3; shippingDetails.City = address.City; shippingDetails.PostalCode = address.PostalCode; shippingDetails.Country = address.County; } //for testing //int rc = testStoreOfInfo(cart); return View(shippingDetails); }
public ActionResult Checkout(Cart cart, ShippingDetails shippingDetails) { return RedirectToAction("List", "Product"); //return View("Completed"); }
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(shippingInfo.PostalCode ?? "") .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); } }