Esempio n. 1
0
        public static string getdatosEncriptadosMPOS(string Amount, string Tarjeta)
        {
            // MJM 26/02/2014 INICIO

            Carrito_Pago objPago;

            // Esto se declara de nuevo, no se usa el que está definido a nivel de clase porque los WebMethods no lo ven.
            DLLGestionVenta.ProcesarVenta mObjVenta;

            mObjVenta = new DLLGestionVenta.ProcesarVenta();
            Int64 idCarrito = Int64.Parse(HttpContext.Current.Session["IdCarrito"].ToString());

            mObjVenta.ConexString = System.Configuration.ConfigurationManager.ConnectionStrings["MC_TDAConnectionString"].ToString();

            objPago = new Carrito_Pago();

            objPago.IdCarrito       = idCarrito;
            objPago.TipoPago        = System.Configuration.ConfigurationManager.AppSettings["TarjetaTipo"].ToString();
            objPago.TipoPagoDetalle = Tarjeta;
            objPago.NumTarjeta      = "";
            objPago.Importe         = float.Parse(Amount, NumberStyles.Currency, CultureInfo.GetCultureInfo("es-MX"));

            Int64 idCarritoPago = mObjVenta.PagoCarrito(objPago, false);

            HttpContext.Current.Session["IdCarritoPago"] = idCarritoPago;

            // MJM 26/02/2014 FIN

            string sVd      = "";
            string semilla  = HttpContext.Current.Session[Constantes.Session.Semilla].ToString();
            rc4    encripta = new rc4();

            XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces();

            namespaces.Add(string.Empty, string.Empty);

            xmlmpos oObject = getMPOSSession(Amount);

            XmlSerializer    xmlSerializer = new XmlSerializer(oObject.GetType());
            StringWriterUtf8 text          = new StringWriterUtf8();

            xmlSerializer.Serialize(text, oObject, namespaces);

            sVd = text.ToString();
            sVd = sVd.Replace("\r\n", "");
            // sVd = R4.Encrypt(semilla,sVd); //TODO: Comprobar que esta clase RC4 funciona correctamente.
            sVd = encripta.StringToHexString(encripta.Salaa(sVd, semilla));
            return(sVd);
        }
Esempio n. 2
0
        /// <summary>
        /// evento que va a capturar el pago y registrar toda la venta
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnPagar_Click(object sender, EventArgs e)
        {
            double       Num;
            Carrito_Pago objPago;

            DLLGestionVenta.ProcesarVenta objVenta = new DLLGestionVenta.ProcesarVenta();
            objVenta.ConexString = System.Configuration.ConfigurationManager.ConnectionStrings["MC_TDAConnectionString"].ToString();

            objPago = new Carrito_Pago();
            ///pago por nota de empleado
            if (optNotaEmpleado.Checked)
            {
                if (double.TryParse(txtPagar.Text.ToString(), out Num))
                {
                    objPago.IdCarrito       = ObjCarrito.IdCarrito;
                    objPago.TipoPago        = "NOTA EMPLEADO";
                    objPago.TipoPagoDetalle = "";
                    objPago.NumTarjeta      = "";
                    objPago.Importe         = float.Parse(txtPagar.Text, NumberStyles.Currency, CultureInfo.GetCultureInfo("es-MX"));

                    objVenta.PagoCarrito(objPago);
                    txtPagar.Text = String.Empty;

                    //RadioButton1.Checked = false;

                    //nomcliente.Enabled = false;
                    //BtnCliente.Enabled = false;
                    //TarjetaCliente.Enabled = false;
                    //ButClient.Enabled = false;
                    //RadioButtonlTipoPago.Items[0].Attributes.Add("class", "ocul1");
                }
            }
            else
            {
                if (optCliente9.Checked)
                {
                    ws.cls_Cliente9 c9 = new ws.cls_Cliente9();
                    VENTA           _v = new VENTA();

                    _v.Id_Tienda   = AVE.Contexto.IdTienda;
                    _v.ID_TERMINAL = AVE.Contexto.IdTerminal;
                    _v.IdCajero    = int.Parse(AVE.Contexto.IdEmpleado);
                    _v.Fecha       = AVE.Contexto.FechaSesion;
                    _v.Id_Empleado = int.Parse(AVE.Contexto.IdEmpleado);

                    Cliente9.cls_Cliente9 C9p = new Cliente9.cls_Cliente9(_v);
                    C9p.ConexString = System.Configuration.ConfigurationManager.ConnectionStrings["MC_TDAConnectionString"].ToString();

                    ws.cls_Cliente9.SolicitaRedencion sr = new ws.cls_Cliente9.SolicitaRedencion();

                    if (optParesAcumulados.Checked)
                    {
                        // par 9

                        sr.intTipo    = 2;
                        sr.strTarjeta = ((CLIENTE9)Session[szClienteNine]).NumTarjeta;
                        sr.dblMonto   = 0;
                        sr.strTienda  = AVE.Contexto.IdTienda;
                        sr.idTerminal = AVE.Contexto.IdTerminal;
                        sr.lngCajero  = Int64.Parse(AVE.Contexto.IdEmpleado);
                        C9p.InvokeWS_OperacionesPendientes(2, String.Empty, true);
                        String ret = c9.InvokeWS_SolicitaRedencion(ref sr);

                        if (sr.strBitRedencionP == "1")
                        {
                            // ScriptManager.RegisterStartupScript(this, typeof(Page), "PAR9", "alert('La solicitud de redención no se ha podido tramitar.');", true);
                            return;
                        }

                        ((CLIENTE9)Session[szClienteNine]).ParPagado = 1;


                        objPago.IdCarrito       = ObjCarrito.IdCarrito;
                        objPago.TipoPago        = "PAR 9";
                        objPago.TipoPagoDetalle = "";
                        objPago.NumTarjeta      = sr.strNoAutorizacion;
                        objPago.Importe         = float.Parse(txtPagar.Text, NumberStyles.Currency, CultureInfo.GetCultureInfo("es-MX"));

                        objVenta.PagoCarrito(objPago);
                    }
                    else
                    {
                        if (optBolsasAcumuladas.Checked)
                        {
                            // bolsas

                            sr.intTipo    = 3;
                            sr.strTarjeta = ((CLIENTE9)Session[szClienteNine]).NumTarjeta;
                            sr.dblMonto   = 0;
                            sr.strTienda  = AVE.Contexto.IdTienda;
                            sr.idTerminal = AVE.Contexto.IdTerminal;
                            sr.lngCajero  = Int64.Parse(AVE.Contexto.IdEmpleado);
                            C9p.InvokeWS_OperacionesPendientes(3, String.Empty, true);
                            String ret = c9.InvokeWS_SolicitaRedencion(ref sr);

                            if (sr.strBitRedencionP == "1")
                            {
                                // ScriptManager.RegisterStartupScript(this, typeof(Page), "BOLSAS", "alert('La solicitud de redención no se ha podido tramitar.');", true);
                                return;
                            }

                            objPago.IdCarrito       = ObjCarrito.IdCarrito;
                            objPago.TipoPago        = "BOLSA 5";
                            objPago.TipoPagoDetalle = "";
                            objPago.NumTarjeta      = sr.strNoAutorizacion;
                            objPago.Importe         = float.Parse(txtPagar.Text, NumberStyles.Currency, CultureInfo.GetCultureInfo("es-MX"));

                            objVenta.PagoCarrito(objPago);


                            ((CLIENTE9)Session[szClienteNine]).BolsaPagada = 1;
                        }
                        else
                        {
                            // puntos 9

                            sr.intTipo    = 1;
                            sr.strTarjeta = ((CLIENTE9)Session[szClienteNine]).NumTarjeta;
                            sr.dblMonto   = float.Parse(txtPagar.Text, NumberStyles.Currency, CultureInfo.GetCultureInfo("es-MX"));
                            sr.strTienda  = AVE.Contexto.IdTienda;
                            sr.idTerminal = AVE.Contexto.IdTerminal;
                            sr.lngCajero  = Int64.Parse(AVE.Contexto.IdEmpleado);
                            C9p.InvokeWS_OperacionesPendientes(1, String.Empty, true);

                            String ret = c9.InvokeWS_SolicitaRedencion(ref sr);
                            if (sr.strBitRedencionP == "1")
                            {
                                // ScriptManager.RegisterStartupScript(this, typeof(Page), "Puntos9", "alert('La solicitud de redención no se ha podido tramitar.');", true);
                                return;
                            }

                            objPago.IdCarrito       = ObjCarrito.IdCarrito;
                            objPago.TipoPago        = "PUNTOS NINE";
                            objPago.TipoPagoDetalle = "";
                            objPago.NumTarjeta      = sr.strNoAutorizacion;
                            objPago.Importe         = float.Parse(txtPagar.Text, NumberStyles.Currency, CultureInfo.GetCultureInfo("es-MX"));

                            objVenta.PagoCarrito(objPago);
                            txtPagar.Text = String.Empty;

                            ((CLIENTE9)Session[szClienteNine]).PuntosPagados = objPago.Importe;
                        }
                    }
                }

                //}
                //vaciamos controles

                // ((RadioButtonList)RadioButtonlTipoPago).ClearSelection();
            }

            this.CargaCarrito();
            this.SetControls();
            gvCarrito.DataBind();
        }