public ActionResult Create(FormCollection collection) { string strTipoPago = string.Empty; try { // TODO: Add insert logic here Transaccion objTransaccion = new Transaccion(); objTransaccion.CodigoTarjeta = Request.Form["CodigoTarjeta"].ToString(); objTransaccion.NumeroTarjeta = Request.Form["NumeroTarjeta"].ToString(); if(Request.Form["dropDownTipoPago"].ToString().Equals("1")){ strTipoPago="SOL"; }else if(Request.Form["dropDownTipoPago"].ToString().Equals("2")){ strTipoPago="DOL"; } objTransaccion.TipoPago = strTipoPago; List<Usuario> listaUsuarios = null; if (Session["UserLogeado"] != null) { listaUsuarios = (List<Usuario>)Session["UserLogeado"]; if(listaUsuarios.Count>0){ objTransaccion.IdCliente = listaUsuarios[0].IdCliente; } } Session["Transaccion"] = objTransaccion; return RedirectToAction("RealizarCompra","CarritoCompras"); } catch { return View(); } }
// // GET: /CarritoCompras/Create public ActionResult RealizarCompra() { List<CarritoCompra> listaCarritoCompras = null; string rpta = string.Empty; listaCarritoCompras = (List<CarritoCompra>)Session["Carrito"]; Transaccion objTransaccion = new Transaccion(); objTransaccion = (Transaccion)Session["Transaccion"]; Decimal dMonto = listaCarritoCompras.Sum(P => P.TotalProducto); //Guardar en base de datos WsBanco.NroCuentaServiceClient oWsBancoJava = new WsBanco.NroCuentaServiceClient(); //rpta = oWsBancoJava.obtenerTransaccion("6958474589632458", "0201", "SOL", 100); // rpta = oWsBancoJava.obtenerTransaccion("6958474589632458", "0201", "SOL", (double)dMonto); rpta = oWsBancoJava.obtenerTransaccion(objTransaccion.NumeroTarjeta, objTransaccion.CodigoTarjeta, objTransaccion.TipoPago, (double)dMonto); if (rpta != "-1") { objTransaccion.CodigoTransaccion = rpta; //Procedemos a guardar el documento //Cabecera TB_Pedido newPedido = new TB_Pedido(); newPedido.Fk_eCliente = objTransaccion.IdCliente; newPedido.cDestinatario = ""; newPedido.mTotal = dMonto; newPedido.cNumTarjeta = objTransaccion.NumeroTarjeta; newPedido.eCodTarjeta = int.Parse(objTransaccion.CodigoTarjeta); newPedido.cTipoPago = objTransaccion.TipoPago; newPedido.cNroTransaccion = rpta; _data.TB_Pedido.InsertOnSubmit(newPedido); _data.SubmitChanges(); //Detalle for (int i = 0; i < listaCarritoCompras.Count; i++) { TB_DetallePedido newDetPedido = new TB_DetallePedido(); newDetPedido.Fk_ePedido = newPedido.Pk_ePedido; newDetPedido.Fk_eProducto = listaCarritoCompras[i].IdProducto; newDetPedido.eCantidad = listaCarritoCompras[i].CantProducto; newDetPedido.mSuTotal = listaCarritoCompras[i].TotalProducto; _data.TB_DetallePedido.InsertOnSubmit(newDetPedido); _data.SubmitChanges(); } //Message QUEUE //Insertar en cola - Message Queue string rutaColaR = @".\private$\Ventas"; if (!MessageQueue.Exists(rutaColaR)) MessageQueue.Create(rutaColaR); MessageQueue colaR = new MessageQueue(rutaColaR); Message mensajeR = new Message(); mensajeR.Label = "Venta001"; // mensajeR.Body = new Transaccion() { IdCliente = 1, NombreCliente = "Lucho Cuellar", NumeroTarjeta = "20412222111", TipoPago = "S", MontoTotal = 700 }; mensajeR.Body = new Transaccion() { CodigoTarjeta=objTransaccion.CodigoTarjeta, CodigoTransaccion= objTransaccion.CodigoTransaccion, IdCliente= objTransaccion.IdCliente, MontoTotal= objTransaccion.MontoTotal, NombreCliente= objTransaccion.NombreCliente, NumeroTarjeta= objTransaccion.NumeroTarjeta, TipoPago= objTransaccion.TipoPago}; colaR.Send(mensajeR); //Leer el objeto insertado en cola string rutaColaL = @".\private$\Ventas"; if (!MessageQueue.Exists(rutaColaL)) MessageQueue.Create(rutaColaL); MessageQueue colaL = new MessageQueue(rutaColaL); colaL.Formatter = new XmlMessageFormatter(new Type[] { typeof(Transaccion) }); Message mensajeL = colaL.Receive(); //new Message(); Transaccion otransCola = (Transaccion)mensajeL.Body; //Message QUEUE ////Limpiar //Session["Carrito"] = null; //Session["Transaccion"] = objTransaccion; //ViewData["Cod.Transaccion"] = objTransaccion.CodigoTransaccion; //Limpiar //Session["Carrito"] = null; Session["Transaccion"] = otransCola; ViewData["Cod.Transaccion"] = otransCola.CodigoTransaccion; ViewData["Message"] = string.Format("La compra se realizo correctamente, El Monto total fue de : {0}", String.Format("{0:c}", Session["MontoCarritoTotal"])); //Enviar Correo //MailMessage mailObj = new MailMessage(txtFrom.Text, txtTo.Text, txtSubject.Text, txtBody.Text); SmtpClient SMTPServer = new SmtpClient("localhost"); try { SMTPServer.Send(mailObj); } //catch (Exception ex) { } //MailMessage mailObj = new MailMessage("*****@*****.**", "*****@*****.**", "Compra Articulos Computo", "Buenos dias su compra fue satisfactoria"); SmtpClient SMTPServer = new SmtpClient("smtp.gmail.com"); try { SMTPServer.Send(mailObj); } //catch (Exception ex) { } MailMessage MyMailMessage = new MailMessage(); MyMailMessage.From = new MailAddress("*****@*****.**"); MyMailMessage.To.Add("*****@*****.**"); MyMailMessage.Subject = "Compra Articulos de Computo"; MyMailMessage.IsBodyHtml = true; string MensajeCorreo = string.Empty; MensajeCorreo = string.Format( "<table><tr><td> Sr(a) : {0} </td></tr> ",otransCola.NombreCliente); MensajeCorreo += "<tr><td> Los Articulos comprados fueron : </td></tr>"; for (int i = 0; i < listaCarritoCompras.Count; i++) { MensajeCorreo += string.Format("<tr><td> {0} - {1} </td></tr>", listaCarritoCompras[i].CantProducto, listaCarritoCompras[i].DescripcionProducto); } MensajeCorreo += string.Format("<tr><td>El total es de : {0} </td></tr>", String.Format("{0:c}", Session["MontoCarritoTotal"])); MensajeCorreo += "</table>"; // MyMailMessage.Body = "<table><tr><td>" + txtName.Text + txtEmail.Text + txtComments.Text + "</table></tr></td>"; // MyMailMessage.Body = "<table><tr><td>Tu compra fue un exito </tr></td></table>"; MyMailMessage.Body = MensajeCorreo; SmtpClient SMTPServer = new SmtpClient("smtp.gmail.com"); SMTPServer.Port = 587; // SMTPServer.Credentials = new System.Net.NetworkCredential("*****@*****.**", System.Configuration.ConfigurationSettings.AppSettings["pwd"].ToString()); SMTPServer.Credentials = new System.Net.NetworkCredential("*****@*****.**", "esquivel"); SMTPServer.EnableSsl = true; try { SMTPServer.Send(MyMailMessage); // Response.Redirect("Thankyou.aspx"); } catch (Exception ex) { } //smtp.gmail.com //Limpiar Carrito Session["Carrito"] = null; } else { ViewData["Message"] = "Ocurrió un error en la transacción."; } return View(); }