Exemple #1
0
        public ActionResult Create(FormCollection collection)
        {
            try
            {
                // TODO: Add insert logic here
                //Crear un nuevo objecto producto .
                TB_Producto newProducto = new TB_Producto();
                newProducto.Fk_eDominio     = Int16.Parse(Request.Form["Fk_eDominio"].ToString());
                newProducto.cDescripcion    = Request.Form["cDescripcion"].ToString();
                newProducto.dPrecio         = decimal.Parse(Request.Form["dPrecio"].ToString());
                newProducto.cEspecificacion = Request.Form["cEspecificacion"].ToString();
                //newProducto.bImagen = "v";

                //Agregar el producto a la tabla productos.
                _data.TB_Productos.InsertOnSubmit(newProducto);
                _data.SubmitChanges();
                return(RedirectToAction("Index"));
            }
            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());
        }
        public ActionResult Register(RegisterModel model)
        {
            //Clientes
            TB_Cliente newCliente = new TB_Cliente();

            newCliente.cTelefono  = Request.Form["Telefono"].ToString();
            newCliente.cDireccion = Request.Form["Direccion"].ToString();

            if (Request.Form["codDepartamento"] != null)
            {
                newCliente.codDepartamento = Request.Form["codDepartamento"].ToString();
            }

            if (Request.Form["codProvincia"] != null)
            {
                newCliente.codProvincia = Request.Form["codProvincia"].ToString();
            }

            if (Request.Form["codDistrito"] != null)
            {
                newCliente.codDistrito = Request.Form["codDistrito"].ToString();
            }


            if (Request.Form["dropDownTipoCliente"].Equals("1"))
            {
                newCliente.cTipCliente = "NAT";
            }
            else
            {
                newCliente.cTipCliente = "JUR";
            }

            //Agregar el Cliente a la tabla clientes.
            _data.TB_Clientes.InsertOnSubmit(newCliente);
            // newCliente.Pk_eCliente;
            _data.SubmitChanges();

            //Agregar el tipo de cliene segun tipo de cliente
            if (newCliente.cTipCliente.Equals("JUR"))
            {
                TB_PersonaJuridica newClienteJuridico = new TB_PersonaJuridica();
                newClienteJuridico.Fk_eCliente = newCliente.Pk_eCliente;
                newClienteJuridico.cRuc        = Request.Form["Ruc"].ToString();
                newClienteJuridico.cRazSocial  = Request.Form["RazonSocial"].ToString();

                _data.TB_PersonaJuridicas.InsertOnSubmit(newClienteJuridico);
                _data.SubmitChanges();
            }
            else if (newCliente.cTipCliente.Equals("NAT"))
            {
                TB_PersonaNatural newClienteNatural = new TB_PersonaNatural();
                newClienteNatural.Fk_eCliente = newCliente.Pk_eCliente;
                newClienteNatural.cDNI        = Request.Form["Dni"].ToString();
                newClienteNatural.cNombres    = Request.Form["Nombres"].ToString();
                newClienteNatural.cApellidos  = Request.Form["Apellidos"].ToString();

                _data.TB_PersonaNaturals.InsertOnSubmit(newClienteNatural);
                _data.SubmitChanges();
            }

            //Usuario
            TB_Usuario newUsuario = new TB_Usuario();

            newUsuario.Fk_eCliente = newCliente.Pk_eCliente;
            newUsuario.cUsuario    = Request.Form["UserName"].ToString();
            newUsuario.cContrasena = Request.Form["Password"].ToString();

            _data.TB_Usuarios.InsertOnSubmit(newUsuario);
            _data.SubmitChanges();

            return(RedirectToAction("Logon", "Account"));
        }