public JsonResult Process() { EstatusLog estatus = new EstatusLog(); try { var actualUser = logic.ActiveUser(); var selectCart = db.cart.Where(x => x.userid == actualUser.id).ToList(); pedidosex pedido = new pedidosex(); pedido.fecha = DateTime.Now; pedido.estatus = 0; pedido.userid = actualUser.id; pedido.total = (decimal)(selectCart.Sum(x => x.cantidad * x.productos.precio)); pedido.subtotal = (decimal)(pedido.total); pedido.impuesto = 0; pedido.montoEntrega = 0; pedido.mododepago = 0; pedido.direccionEntrega = actualUser.direccionEntrega; db.pedidosex.Add(pedido); db.SaveChanges(); var detallePedido = selectCart.Select(x => new pedidos { userid = actualUser.id, prodid = x.prodid, cantidad = x.cantidad, pedidoid = pedido.id, subtotal = (decimal)(x.cantidad * x.productos.precio) }); db.pedidos.AddRange(detallePedido); try { SendMail(pedido); } catch { } db.cart.RemoveRange(db.cart.Where(x => x.userid == actualUser.id)); db.SaveChanges(); } catch (Exception ex) { estatus.success = false; estatus.errorMsg = "Error al Crear el pedido"; } return(Json(estatus)); }
private void SendMail(pedidosex pedido) { var contact = logic.ActiveUser(); var actualUser = contact; var selectCart = db.cart.Where(x => x.userid == actualUser.id).ToList(); string msg = ""; msg += "<head><link rel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'></head><body>"; msg += "<h1> Pedido # <strong>" + pedido.id + "</strong></h1>"; msg += "<table style='border:1px solid black' class='table'>"; msg += "<thead>" + "<tr>" + "<th style='border:1px solid black'> Nombre del Producto</th>" + "<th style='border:1px solid black'> Cantidad </th>" + "<th style='border:1px solid black'> Precio Unitario </th>" + " <th style='border:1px solid black'> Total </th>" + "</tr>" + "</thead>"; msg += "<tbody>"; foreach (var item in selectCart) { msg += "<tr>"; msg += "<td style='border:1px solid black'>" + item.productos.nombre + "</td>"; msg += "<td style='border:1px solid black'>" + item.cantidad.ToString() + "</td>"; msg += "<td style='border:1px solid black'>" + item.productos.precio.ToString() + "</td>"; msg += "<td style='border:1px solid black'>" + (item.cantidad * item.productos.precio).ToString() + "</td>"; msg += "<tr>"; } msg += "</tbody>"; msg += "</table>"; msg += "<p>" + "<strong>Sub-Total:S/." + pedido.total.ToString() + "<br>" + "<strong>Impuesto(0.00)</strong>:S/." + pedido.impuesto + "<br>" + "<strong>Reparto(0.00)</strong>: S/." + pedido.montoEntrega.ToString() + "<br>" + "<strong>Total</strong>: S/." + pedido.total + "</p>"; msg += "<h1>Datos del Cliente:</h1>"; msg += "<p>" + "<strong>Nombre:" + actualUser.nombrex + " " + actualUser.apellidos + "<br>" + "<strong>Dni:" + actualUser.dni + "<br>" + "<strong>Telefono:" + actualUser.telefonos + "<br>" + "<strong>Correo:" + actualUser.correo + "<br>" + "<strong>Direccion de Entrega:" + actualUser.direccionEntrega + "</p></body>"; var fromAddress = new MailAddress("*****@*****.**", contact.nombre + " " + contact.correo); var toAddress = new MailAddress("*****@*****.**", "barraleather"); // var toAddress = new MailAddress("*****@*****.**", "barraleather"); const string fromPassword = "******"; string subject = "Pedido # " + pedido.id.ToString() + " de " + contact.nombrex + " " + contact.apellidos; string body = msg; var smtp = new SmtpClient { //port 587 Host = "smtpout.secureserver.net", Port = 25, EnableSsl = false, DeliveryMethod = SmtpDeliveryMethod.Network, UseDefaultCredentials = false, Credentials = new NetworkCredential(fromAddress.Address, fromPassword), }; using (var message = new MailMessage(fromAddress, toAddress) { Subject = subject, IsBodyHtml = true, Body = body }) { smtp.Send(message); } }