public ActionResult Checkout(Cart cart,ShippingDetails detalles) { if (!cart.Lines.Any()) ModelState.AddModelError("", "Tu carrito esta vacío."); if (ModelState.IsValid) { //Process _orderProcessor.Process(cart, detalles); cart.Clear(); return View("Completed"); } return View(detalles); }
public void Process(Cart cart, ShippingDetails shipping) { using(var client = new SmtpClient()) { ConfigureSMTP(client); var body = BuildMessage(cart, shipping); var message = new MailMessage( _settings.MailFrom, //From _settings.MailTo,//To "Nueva orden enviada", //Subject body);//Contenido if (_settings.WriteAsFile) { message.BodyEncoding = Encoding.UTF8; } client.Send(message); } }
private string BuildMessage(Cart cart, ShippingDetails shipping) { var sb = new StringBuilder(); sb.AppendLine("Nueva orden enviada.") .AppendLine("--------------------") .AppendLine("Items:") .AppendLine("--------------------"); foreach (var line in cart.Lines) { sb.AppendFormat("{0} x {1} (subtotal: {2:c}", line.Product.Name, line.Quantity, line.SubTotal); sb.AppendLine(""); } sb.AppendLine(""); sb.AppendFormat("Total de la Orden: {0:c}", cart.TotalPrice); sb.AppendLine("--------------------") .AppendLine("Enviar a:") .AppendLine("--------------------") .AppendLine(shipping.Name) .AppendLine(shipping.Line1) .AppendLine(shipping.Line2 ?? "") .AppendLine(shipping.Line3 ?? "") .AppendLine(shipping.City) .AppendLine(shipping.State) .AppendLine(shipping.ZIP) .AppendLine(shipping.Country) .AppendLine("--------------------") .AppendFormat("Envoltura de regalo:{0}", shipping.GiftWrap ? "Si" : "No"); return sb.ToString(); }