Ejemplo n.º 1
0
 public void Refresh(RecargasViewModel _r, TarjetasViewModel _t, TipoTransaccion tt)
 {
     rvm      = _r;
     tvm      = _t;
     tipotran = tt;
     CargaLabels();
 }
Ejemplo n.º 2
0
        private async Task <ChargeAccountToTemporaryToken> TempToken(TarjetasViewModel tvm)
        {
            string TokenizationAPI = System.Configuration.ConfigurationManager.AppSettings["TokenizationAPI"];
            string APIUsername     = System.Configuration.ConfigurationManager.AppSettings["APIUsername"];
            string json            = "";

            ChargeAccountToTemporaryToken token = new ChargeAccountToTemporaryToken();

            try
            {
                ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
                using (var client = new HttpClient())
                {
                    var values2 = new Dictionary <string, string>
                    {
                        { "AccountName", APIUsername },
                        { "ChargeAccountNumber", tvm.NumeroTarjeta }
                    };
                    json = JsonConvert.SerializeObject(values2);
                    client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                    var response = await client.PostAsync(TokenizationAPI + "/ChargeAccountToTemporaryToken", new StringContent(json, Encoding.UTF8, "application/json"));

                    var responseString = await response.Content.ReadAsStringAsync();

                    token = JsonConvert.DeserializeObject <ChargeAccountToTemporaryToken>(responseString);
                }
            }
            catch (Exception ex)
            {
            }
            return(token);
        }
Ejemplo n.º 3
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            int               idoperadora = (int)value;
            string            ret         = "";
            TarjetasViewModel tvm         = new TarjetasViewModel();

            ret = tvm.LsOperadoras().Where(x => x.idoperadora == idoperadora).FirstOrDefault().operadora;
            return(ret);
        }
Ejemplo n.º 4
0
        private void Refresh()
        {
            string json = "", formapag = "";

            tvm  = Session["tvm"] as TarjetasViewModel;
            json = ws.GetCatalogo(13, "where idusuario = " + Session["idusrlogged"].ToString());
            List <RecargaProg> lsRec = JsonConvert.DeserializeObject <List <RecargaProg> >(json);

            json = ws.GetCatalogo(9, "where idusuario = " + Session["idusrlogged"].ToString());
            List <Tarjeta> lsTar     = JsonConvert.DeserializeObject <List <Tarjeta> >(json);

            foreach (RecargaProg r in lsRec)
            {
                if (r.idformapago == 1)
                {
                    formapag = "Monedero";
                }
                if (r.idformapago == 2)
                {
                    Tarjeta t = lsTar.Where(x => x.idtarjeta == r.idtarjeta).FirstOrDefault();
                    formapag = tvm.LsEmisores().Where(x => x.idemisor == t.idemisor).FirstOrDefault().emisor + " " + (t != null ? t.last4 : "");
                }
                HtmlTableRow row = new HtmlTableRow();
                row.Cells.Add(new HtmlTableCell()
                {
                    Width = "30%;", InnerHtml = r.numerorecarga
                });
                row.Cells.Add(new HtmlTableCell()
                {
                    Width = "30%;", InnerHtml = formapag
                });
                row.Cells.Add(new HtmlTableCell()
                {
                    Width = "30%;", InnerHtml = r.diasmes.Substring(0, r.diasmes.Length - 1) + " de cada mes"
                });

                Label lbldel = new Label();
                lbldel.Text = "<a id=\"del" + r.idrecarga.ToString() + "\" class=\"btn default btn-xs bg-black white\" href=\"javascript:borrarecarga(" + r.idrecarga.ToString() + ");\"><i class=\"fa fa-trash\"></i> Borrar recarga</a>";
                row.Cells.Add(new HtmlTableCell()
                {
                    Width = "60%;"
                });
                row.Cells[3].Controls.Add(lbldel);

                row.Cells.Add(new HtmlTableCell()
                {
                    Width = "15%;", InnerHtml = ""
                });
                tbTarjetas.Rows.Add(row);
            }
        }
Ejemplo n.º 5
0
        public void btnAcceso_Click(Object sender, EventArgs e)
        {
            string str_email = email.Value;
            string str_Nip   = NIP.Value;

            //Session["fallo"] = null;

            if (!string.IsNullOrEmpty(str_email) && !string.IsNullOrEmpty(str_Nip))
            {
                ws = Session["wsac"] as wsac.IsacClient;
                string         json = ws.GetUser(0, check.SafeSqlLiteral(str_email), check.SafeSqlLiteral(str_Nip));
                List <Usuario> lu   = JsonConvert.DeserializeObject <List <Usuario> >(json);

                if (lu.Count > 0)
                {
                    if (lu.FirstOrDefault().idusuario == -1)
                    {
                        spnJS.Text = "<script>msgError('El usuario se encuentra bloqueado. Revise el correo con el que se registro'); </script>";
                    }
                    else
                    {
                        Session["idusrlogged"] = lu.FirstOrDefault().idusuario;
                        Session["usrlogged"]   = lu.FirstOrDefault();

                        if (Session["RecargaPendiente"] != null)
                        {
                            if (bool.Parse(Session["RecargaPendiente"].ToString()))
                            {
                                RecargasViewModel rvm = Session["rvm"] as RecargasViewModel;
                                rvm.IdUsuario = lu.FirstOrDefault().idusuario;
                                TarjetasViewModel tvm = Session["tvm"] as TarjetasViewModel;
                                tvm.Idusuario = lu.FirstOrDefault().idusuario;
                                Response.Redirect("confir_recarga.aspx");
                            }
                            else
                            {
                                Response.Redirect("datosrecarga.aspx");
                            }
                        }
                        else
                        {
                            Response.Redirect("datosrecarga.aspx");
                        }
                    }
                }
                else
                {
                    spnJS.Text = "<script>msgError('Los datos no son correctos, verifique e intente nuevamente'); </script>";
                }
            }
        }
 private wsac.Tarjeta ConvierteTarjTemp(TarjetasViewModel tvm)
 {
     wsac.Tarjeta t = new wsac.Tarjeta()
     {
         titularFN    = tvm.TitularFN,
         titularLN    = tvm.TitularLN,
         calleynumero = tvm.CalleyNum,
         idestado     = tvm.IdEstado,
         idciudad     = tvm.IdCiudad,
         codigopostal = tvm.CP,
         idusuario    = tvm.Idusuario,
     };
     return(t);
 }
Ejemplo n.º 7
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            int               idpaquete = (int)value;
            string            ret       = "";
            TarjetasViewModel tvm       = new TarjetasViewModel();
            catPaquete        cp        = tvm.LsPaquetes().Where(x => x.idpaquete == idpaquete).FirstOrDefault();

            if (cp != null)
            {
                ret = cp.monto.ToString("c", new System.Globalization.CultureInfo("es-MX"));
            }
            else
            {
                ret = 0.ToString("c", new System.Globalization.CultureInfo("es-MX"));
            }
            return(ret);
        }
Ejemplo n.º 8
0
 private wsac.Tarjeta ConvierteTarjTemp(TarjetasViewModel tvm)
 {
     wsac.Tarjeta t = new wsac.Tarjeta()
     {
         //idpais = tvm.idpais,
         //idemisor = tvm.idemisor,
         //numero = tvm.NumeroTarjeta,
         //expiramm = tvm.ExpiraMM,
         //expirayy = tvm.ExpiraYY,
         //cvv = tvm.Cvc,
         titularFN    = tvm.TitularFN,
         titularLN    = tvm.TitularLN,
         calleynumero = tvm.CalleyNum,
         idestado     = tvm.IdEstado,
         idciudad     = tvm.IdCiudad,
         codigopostal = tvm.CP,
         idusuario    = tvm.Idusuario,
     };
     return(t);
 }
Ejemplo n.º 9
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            int               idtarjeta = (int)value;
            string            ret       = "";
            TarjetasViewModel tvm       = new TarjetasViewModel();

            if (idtarjeta == -1)
            {
                ret = "Monedero";
            }
            else
            {
                Tarjeta t = App.db.SelTarjetas().Where(x => x.idtarjeta == idtarjeta).FirstOrDefault();
                if (t != null)
                {
                    catEmisorTC em = tvm.LsEmisores().Where(x => x.idemisor == t.idemisor).FirstOrDefault();
                    ret = (em != null ? em.emisor + " " : "") + t.Last4;
                }
            }
            return(ret);
        }
Ejemplo n.º 10
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //--------------------------------------------------------------------------------------------------
            int idusr = 0;

            if (!IsPostBack)
            {
                divMenu.InnerHtml = check.GeneraMenu();
                ws = Session["wsac"] as wsac.IsacClient;
                int hab = ws.GetMonederoHab();
                if (hab == 1)
                {
                    tbMonedero.Visible = true;
                }
                else
                {
                    tbMonedero.Visible = false;
                }

                if (Session["idusrlogged"] != null)
                {
                    if (int.TryParse(Session["idusrlogged"].ToString(), out idusr))
                    {
                        if (idusr > 0)
                        {
                            ws = Session["wsac"] as wsac.IsacClient;
                            string         json = ws.GetUser(idusr, "", "");
                            List <Usuario> lu   = JsonConvert.DeserializeObject <List <Usuario> >(json);
                            if (lu.Count > 0)
                            {
                                Session["usrlogged"] = lu.FirstOrDefault();
                                lblCtaNom.Text       = lu.FirstOrDefault().name;
                                if (!String.IsNullOrEmpty(lu.FirstOrDefault().picture))
                                {
                                    imgFoto.ImageUrl = lu.FirstOrDefault().picture;
                                }
                                else
                                {
                                    imgFoto.ImageUrl = "assets/images/icono_app.png";
                                }
                            }
                            else
                            {
                                Response.Redirect("index.aspx");
                            }
                        }
                        else
                        {
                            Response.Redirect("index.aspx");
                        }
                    }
                    else
                    {
                        Response.Redirect("index.aspx");
                    }
                }
            }
            else
            {
                if (Request["__EVENTTARGET"] == "lnkSalir")
                {
                    Session["idusrlogged"] = 0;
                    Session["usrlogged"]   = null;
                    Response.Redirect("index.aspx");
                    Session.Abandon();
                    Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));
                }
            }
            //--------------------------------------------------------------------------------------------------
            if (!IsPostBack)
            {
                ws = Session["wsac"] as wsac.IsacClient;
                if (tvm == null)
                {
                    tvm            = new TarjetasViewModel();
                    Session["tvm"] = tvm;
                }
                tvm.WS = ws;
                tvm.Inicia();
                if (Session["rvm"] == null)
                {
                    Response.Redirect("datosrecarga.aspx");
                }
                else
                {
                    Refresh();
                }
            }
            else
            {
                if (Request.Form["__EVENTTARGET"] == "selcard")
                {
                    RecargasViewModel rvm = Session["rvm"] as RecargasViewModel;
                    rvm.IdTarjeta   = int.Parse(Request.Form["__EVENTARGUMENT"].ToString());
                    rvm.TipoTrans   = TipoTransaccion.SegundaVez;
                    rvm.idFormaPago = 2; //tarjeta
                    Session["rvm"]  = rvm;

                    Response.Redirect("confir_recarga.aspx");
                }
                if (Request.Form["__EVENTTARGET"] == "delcard")
                {
                    int idt = int.Parse(Request.Form["__EVENTARGUMENT"].ToString());
                    ws = Session["wsac"] as wsac.IsacClient;
                    if (ws.EliminaTarjeta(idt))
                    {
                        Response.Redirect("mediosdepago.aspx");
                    }
                }
            }

            btnUsarMon.Click += (s, ea) =>
            {
                RecargasViewModel rvm = Session["rvm"] as RecargasViewModel;
                rvm.idFormaPago = 1; //monedero
                Session["rvm"]  = rvm;
                SaldoMonedero mon = Session["SaldoMonedero"] as SaldoMonedero;
                ws = Session["wsac"] as wsac.IsacClient;
                string            jsonPq = ws.GetCatalogo(3, "");
                List <catPaquete> lspq   = JsonConvert.DeserializeObject <List <catPaquete> >(jsonPq);

                if (lspq.Where(x => x.idpaquete == rvm.idpaquete).FirstOrDefault().monto > mon.saldo)
                {
                    spnJS.Text = "<script>msgError('No tiene suficiente saldo');</script>";
                    Refresh();
                }
                else
                {
                    Response.Redirect("confir_recarga.aspx");
                }
            };
            btnNvaTarjeta.Click += (s, ea) =>
            {
                Response.Redirect("nuevatarjeta.aspx");
            };
        }
Ejemplo n.º 11
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //--------------------------------------------------------------------------------------------------
            int idusr = 0;

            if (!IsPostBack)
            {
                divMenu.InnerHtml = check.GeneraMenu();
                if (Session["idusrlogged"] != null)
                {
                    if (int.TryParse(Session["idusrlogged"].ToString(), out idusr))
                    {
                        if (idusr > 0)
                        {
                            ws = Session["wsac"] as wsac.IsacClient;
                            string         json = ws.GetUser(idusr, "", "");
                            List <Usuario> lu   = JsonConvert.DeserializeObject <List <Usuario> >(json);
                            if (lu.Count > 0)
                            {
                                Session["usrlogged"] = lu.FirstOrDefault();
                                lblCtaNom.Text       = lu.FirstOrDefault().name;
                                if (!String.IsNullOrEmpty(lu.FirstOrDefault().picture))
                                {
                                    imgFoto.ImageUrl = lu.FirstOrDefault().picture;
                                }
                                else
                                {
                                    imgFoto.ImageUrl = "assets/images/icono_app.png";
                                }
                            }
                            else
                            {
                                Response.Redirect("index.aspx");
                            }
                        }
                        else
                        {
                            Response.Redirect("index.aspx");
                        }
                    }
                    else
                    {
                        Response.Redirect("index.aspx");
                    }
                }
                CargaCombos(false);
            }
            else
            {
                if (Request["__EVENTTARGET"] == "lnkSalir")
                {
                    Session["idusrlogged"] = 0;
                    Session["usrlogged"]   = null;
                    Response.Redirect("index.aspx");
                    Session.Abandon();
                    Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));
                }
            }
            //-------------------------------------------------------------------------------------------------

            txtNum4.TextChanged += (s, ea) =>
            {
                string num = "";
                if (!String.IsNullOrEmpty(txtNum1.Text) && !String.IsNullOrEmpty(txtNum2.Text) && !String.IsNullOrEmpty(txtNum3.Text) && !String.IsNullOrEmpty(txtNum4.Text))
                {
                    num = txtNum1.Text.Trim() + txtNum2.Text.Trim() + txtNum3.Text.Trim() + txtNum4.Text.Trim();
                    if (Session["tvm"] != null)
                    {
                        tvm = Session["tvm"] as TarjetasViewModel;
                    }
                    else
                    {
                        tvm = new TarjetasViewModel();
                    }

                    ccv = new CreditCardDetector(num);
                    if (ccv.IsValid())
                    {
                        tvm.idemisor      = SetEmisor(ccv.Brand);
                        tvm.NumeroTarjeta = num;
                        emisor.Value      = tvm.idemisor.ToString();
                    }
                    else
                    {
                        tvm.idemisor      = SetEmisor(ccv.Brand);
                        tvm.NumeroTarjeta = "";
                        emisor.Value      = tvm.idemisor.ToString();
                    }
                    Session["tvm"] = tvm;

                    ws         = Session["wsac"] as wsac.IsacClient;
                    jsonPa     = ws.GetCatalogo(2, "");                   //pais
                    jsonEmi    = ws.GetCatalogo(4, "");                   //emisor
                    jsonEdo    = ws.GetCatalogo(7, "");                   //estados
                    jsonCd     = ws.GetCatalogo(8, "order by municipio"); //ciudades
                    spnJS.Text = "<script>CargaCombos(); SetEmisor('" + tvm.idemisor.ToString() + "');</script>";
                }
            };
            btnCancelar.Click += (s, ea) =>
            {
                RecargasViewModel rvm = Session["rvm"] as RecargasViewModel;
                if (rvm.Tiporecarga == TipoRecarga.RecargaTA)
                {
                    Response.Redirect("mediosdepago.aspx");
                }
                if (rvm.Tiporecarga == TipoRecarga.Monedero)
                {
                    Response.Redirect("monedero.aspx");
                }
            };
            btnGuardar.Click += (s, ea) =>
            {
                if (String.IsNullOrEmpty(deviceIdHiddenFieldName.Value))
                {
                    spnJS.Text = "<script>msgError('Ocurrio un error. Vuelva a intentar');</script>";
                    return;
                }
                if (String.IsNullOrEmpty(token_id.Value))
                {
                    spnJS.Text = "<script>msgError('Ocurrio un error. Vuelva a intentar');</script>";
                    return;
                }

                if (Session["tvm"] != null)
                {
                    tvm = Session["tvm"] as TarjetasViewModel;
                }
                else
                {
                    tvm = new TarjetasViewModel();
                }
                tvm.Idusuario  = int.Parse(Session["idusrlogged"].ToString());
                tvm.idpais     = int.Parse(hidPais.Value);
                tvm.ExpiraMM   = mes.Value;
                tvm.ExpiraYY   = anio.Value;
                tvm.Cvc        = cvc.Value;
                tvm.TitularFN  = nombre.Value;
                tvm.TitularLN  = apellidos.Value;
                tvm.CalleyNum  = domicilio.Value;
                tvm.IdEstado   = int.Parse(hidEstado.Value);
                tvm.IdCiudad   = int.Parse(hidCiudad.Value);
                tvm.CP         = codpostal.Value;
                Session["tvm"] = tvm;

                if (tvm.EsIncompleta())
                {
                    CargaCombos(true);
                }
                else
                {
                    if (tvm.ExpiraMM.Length < 2 || tvm.ExpiraYY.Length < 2)
                    {
                        CargaCombos(true);
                    }
                    else
                    {
                        RecargasViewModel rvm = Session["rvm"] as RecargasViewModel;
                        rvm.TipoTrans       = TipoTransaccion.PrimeraVez;
                        rvm.idFormaPago     = 2; //tarjeta
                        rvm.OpenPayDeviceId = deviceIdHiddenFieldName.Value;
                        rvm.OpenPayTokenId  = token_id.Value;
                        Session["rvm"]      = rvm;
                        if (rvm.Tiporecarga == TipoRecarga.RecargaTA)
                        {
                            Response.Redirect("confir_recarga.aspx");
                        }
                        if (rvm.Tiporecarga == TipoRecarga.Monedero)
                        {
                            Response.Redirect("confir_monedero.aspx");
                        }
                    }
                }
            };
        }
Ejemplo n.º 12
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Request.Form.Count > 0)
                {
                    datosredes            = JsonConvert.DeserializeObject <DatosRedes>(Request.Form[0]);
                    Session["datosredes"] = datosredes;
                    ws = Session["wsac"] as wsac.IsacClient;
                    string         json = ws.GetUser(0, check.SafeSqlLiteral(datosredes.email), "");
                    List <Usuario> lu   = JsonConvert.DeserializeObject <List <Usuario> >(json);
                    if (lu.Count > 0)
                    {
                        if (lu.FirstOrDefault().idusuario == -1)
                        {
                            spnJS.Text = "<script>msgError('El usuario se encuentra bloqueado. Revise el correo con el que se registro'); </script>";
                        }
                        else
                        {
                            Session["idusrlogged"] = lu.FirstOrDefault().idusuario;
                            Session["usrlogged"]   = lu.FirstOrDefault();

                            if (Session["RecargaPendiente"] != null)
                            {
                                if (bool.Parse(Session["RecargaPendiente"].ToString()))
                                {
                                    RecargasViewModel rvm = Session["rvm"] as RecargasViewModel;
                                    rvm.IdUsuario = lu.FirstOrDefault().idusuario;
                                    TarjetasViewModel tvm = Session["tvm"] as TarjetasViewModel;
                                    tvm.Idusuario = lu.FirstOrDefault().idusuario;
                                    Response.Redirect("confir_recarga.aspx");
                                }
                                else
                                {
                                    Response.Redirect("datosrecarga.aspx");
                                }
                            }
                            else
                            {
                                Response.Redirect("datosrecarga.aspx");
                            }
                        }
                    }
                    else
                    {
                        txtNombre.Value  = datosredes.name;
                        txtEmail.Value   = datosredes.email;
                        imgFoto.ImageUrl = datosredes.picture.data.url;
                    }
                }
            }
            btnRegistrar.Click += async(s, ea) =>
            {
                string nip1 = "", nip2 = "", email = "", nombre = "", numero = "";
                nip1   = check.SafeSqlLiteral(txtNip1.Value.Trim());
                nip2   = check.SafeSqlLiteral(txtNip2.Value.Trim());
                email  = check.SafeSqlLiteral(txtEmail.Value.Trim());
                nombre = check.SafeSqlLiteral(txtNombre.Value.Trim());
                numero = check.SafeSqlLiteral(txtNumero.Value.Trim());
                if (nip1 != nip2)
                {
                    spnJS.Text = "<script>msgError('Los 2 nips deben ser iguales');</script>";
                    return;
                }
                else
                {
                    if (!check.ValidaNip(nip1))
                    {
                        spnJS.Text = "<script>msgError('Revise el NIP. (No se permiten consecutivos ni que todos los digitos sean iguales)');</script>";
                        return;
                    }
                    else
                    {
                        spnJS.Text = "";
                    }
                }
                ws = Session["wsac"] as wsac.IsacClient;
                string         json = ws.GetUser(0, check.SafeSqlLiteral(email), "");
                List <Usuario> lu   = JsonConvert.DeserializeObject <List <Usuario> >(json);
                if (lu.Count > 0)
                {
                    spnJS.Text = "<script>msgError('Ya existe un usuario con este email. Inicie sesion con su NIP');</script>";
                    return;
                }
                else
                {
                    spnJS.Text = "";
                    wsac.Usuario u = new wsac.Usuario()
                    {
                        numerocontacto = numero,
                        email          = email,
                        name           = nombre,
                        nip            = nip1,
                        fechaalta      = DateTime.Now,
                        idpais         = int.Parse(Session["idpais"].ToString())
                    };
                    if (Session["datosredes"] != null)
                    {
                        datosredes = Session["datosredes"] as DatosRedes;
                    }
                    if (datosredes != null)
                    {
                        u.first_name = check.SafeSqlLiteral(!String.IsNullOrEmpty(datosredes.first_name) ? datosredes.first_name : "");
                        u.last_name  = check.SafeSqlLiteral(!String.IsNullOrEmpty(datosredes.last_name) ? datosredes.last_name : "");
                        u.gender     = check.SafeSqlLiteral(!String.IsNullOrEmpty(datosredes.gender) ? datosredes.gender : "");
                        u.picture    = check.SafeSqlLiteral(!String.IsNullOrEmpty(datosredes.picture.data.url) ? datosredes.picture.data.url : "");
                    }
                    wsac.AltaUsrResponse res = await ws.AltaUsrAsync(u);

                    if (res.Body.AltaUsrResult > 0)
                    {
                        //	spnJS.Text = "<script> msgError('Bienvenido!!!, Comience sus compras con Asi Compras!!!'); </script>";



                        Session["idusrlogged"] = res.Body.AltaUsrResult;
                        Session["datosredes"]  = null;
                        if (Session["RecargaPendiente"] != null)
                        {
                            if (bool.Parse(Session["RecargaPendiente"].ToString()))
                            {
                                RecargasViewModel rvm = Session["rvm"] as RecargasViewModel;
                                rvm.IdUsuario = res.Body.AltaUsrResult;
                                TarjetasViewModel tvm = Session["tvm"] as TarjetasViewModel;
                                tvm.Idusuario = res.Body.AltaUsrResult;
                                Response.Redirect("confir_recarga.aspx");
                            }
                            else
                            {
                                /*    string vtn = "window.open('bienvenido.aspx','Dates','scrollbars=no,resizable=no,height=450, width=450')";
                                 * ScriptManager.RegisterStartupScript(this, this.GetType(), "popup", vtn, true);
                                 */
                                Response.Redirect("datosrecarga.aspx");

                                /*	  vtn = "window.open('bienvenido.aspx','Dates','scrollbars=no,resizable=no,height=450, width=450')";
                                 * ScriptManager.RegisterStartupScript(this, this.GetType(), "popup", vtn, true);
                                 */}
                        }
                        else
                        {
                            /*	 string vtn = "window.open('bienvenido.aspx','Dates','scrollbars=no,resizable=no,height=450, width=450')";
                             * ScriptManager.RegisterStartupScript(this, this.GetType(), "popup", vtn, true);
                             */Response.Redirect("datosrecarga.aspx");
                            //   vtn = "window.open('bienvenido.aspx','Dates','scrollbars=no,resizable=no,height=450, width=450')";
                            //ScriptManager.RegisterStartupScript(this, this.GetType(), "popup", vtn, true);*/
                        }
                    }
                    else
                    {
                        spnJS.Text = "<script>msgError('Ocurrio un error. Contacte al administrador');</script>";
                        return;
                    }
                };
            };
        }
Ejemplo n.º 13
0
        public Procesar(RecargasViewModel _r, TarjetasViewModel _t, TipoTransaccion tt)
        {
            try
            {
                InitializeComponent();
                rvm      = _r;
                tvm      = _t;
                tipotran = tt;
                Title    = "Detalle de la orden";
                CargaLabels();
                NavigationPage.SetBackButtonTitle(this, "");

                rvm.RecargaAltaErr += async(s, e) =>
                {
                    UserDialogs.Instance.HideLoading();
                    if (e != null)
                    {
                        //if (!String.IsNullOrEmpty(e.printdata))
                        //	await DisplayAlert("Error", "Ocurrio un error, vuelva a intentar\n" + e.printdata, "OK");
                        //else
                        string msg = "";
                        switch (e.err)
                        {
                        case 1:                                 //RecargaSell
                            msg = rvm.lsErrores().Where(x => x.iderror == rvm.Err.errRs).FirstOrDefault().error;
                            break;

                        case 2:                                 //Vesta
                            msg = rvm.lsErrores().Where(x => x.iderror == rvm.Err.errVs).FirstOrDefault().error;
                            break;

                        case 3:                                 //Comunicaciones
                            msg = rvm.lsErrores().Where(x => x.iderror == 9).FirstOrDefault().error;
                            break;
                        }
                        if (!String.IsNullOrEmpty(e.msg))
                        {
                            msg = e.msg;
                        }
                        await DisplayAlert("Error", "Ocurrio un error, vuelva a intentar\n" + msg, "OK");
                    }
                    else
                    {
                        await DisplayAlert("Error", "Ocurrio un error, vuelva a intentar", "OK");
                    }
                };
                rvm.CargaFinger += (s, e) =>
                {
                    FingerP(e.url, e.orgid, e.webses);
                };

                av = async(s, ea) =>
                {
                    rvm.ProcesadoEnVesta1aVez -= av;
                    UserDialogs.Instance.HideLoading();
                    if (ea.Error != null || ea.Cancelled)
                    {
                        await DisplayAlert("Error", "Ocurrio un error, vuelva a intentar", "OK");
                    }
                    else
                    {
                        string msg = "";
                        if (rvm.Err.err > 0)
                        {
                            if (rvm.Tiporecarga == TipoRecarga.RecargaTA)
                            {
                                switch (rvm.Err.err)
                                {
                                case 1:                                         //RecargaSell
                                    msg = rvm.lsErrores().Where(x => x.iderror == rvm.Err.errRs).FirstOrDefault().error;
                                    break;

                                case 2:                                         //Vesta
                                    msg = rvm.lsErrores().Where(x => x.iderror == rvm.Err.errVs).FirstOrDefault().error;
                                    break;

                                case 3:                                         //Comunicaciones
                                    msg = rvm.lsErrores().Where(x => x.iderror == 9).FirstOrDefault().error;
                                    break;
                                }
                                errRecarga err = JsonConvert.DeserializeObject <errRecarga>(ea.Result);
                                msg += "\n" + err.tresp.rcode_description;
                            }
                            if (rvm.Tiporecarga == TipoRecarga.Monedero)
                            {
                                if (rvm.Err.err == 2)
                                {
                                    msg = rvm.lsErrores().Where(x => x.iderror == rvm.Err.errVs).FirstOrDefault().error;
                                }
                                if (rvm.Err.err == 1)                                 // err de RS, en este caso no es RS es monedero, se usa el mismo campo
                                {
                                    msg = rvm.lsErrores().Where(x => x.iderror == rvm.Err.errRs).FirstOrDefault().error;
                                }
                                errRecarga err = JsonConvert.DeserializeObject <errRecarga>(ea.Result);
                                msg += "\n" + err.tresp.rcode_description;
                            }
                            await DisplayAlert("Error", msg, "OK");
                        }
                        else
                        {
                            await App.Nav.PushAsync(new Ticket(rvm), Constantes.animated);
                        }
                    }
                };
                av2 = async(s, ea) =>
                {
                    rvm.ProcesadoEnVesta2aVez -= av2;
                    UserDialogs.Instance.HideLoading();
                    if (ea.Error != null || ea.Cancelled)
                    {
                        await DisplayAlert("Error", "Ocurrio un error, vuelva a intentar", "OK");
                    }
                    else
                    {
                        string msg = "";
                        if (rvm.Err.err > 0)
                        {
                            if (rvm.Tiporecarga == TipoRecarga.RecargaTA)
                            {
                                switch (rvm.Err.err)
                                {
                                case 1:                                         //RecargaSell
                                    msg = rvm.lsErrores().Where(x => x.iderror == rvm.Err.errRs).FirstOrDefault().error;
                                    break;

                                case 2:                                         //Vesta
                                    msg = rvm.lsErrores().Where(x => x.iderror == rvm.Err.errVs).FirstOrDefault().error;
                                    break;

                                case 3:                                         //Comunicaciones
                                    msg = rvm.lsErrores().Where(x => x.iderror == 9).FirstOrDefault().error;
                                    break;
                                }
                                errRecarga err = JsonConvert.DeserializeObject <errRecarga>(ea.Result);
                                msg += "\n" + err.tresp.rcode_description;
                            }
                            if (rvm.Tiporecarga == TipoRecarga.Monedero)
                            {
                                if (rvm.Err.err == 2)
                                {
                                    msg = rvm.lsErrores().Where(x => x.iderror == rvm.Err.errVs).FirstOrDefault().error;
                                }
                                if (rvm.Err.err == 1)
                                {
                                    msg = rvm.lsErrores().Where(x => x.iderror == 10).FirstOrDefault().error;
                                }
                            }
                            await DisplayAlert("Error", msg, "OK");
                        }
                        else
                        {
                            await App.Nav.PushAsync(new Ticket(rvm), Constantes.animated);
                        }
                    }
                };

                aw = async(s, ea) =>
                {
                    rvm.AltaViaWallet -= aw;
                    UserDialogs.Instance.HideLoading();
                    if (ea.Error != null || ea.Cancelled)
                    {
                        await DisplayAlert("Error", "Ocurrio un error, vuelva a intentar", "OK");

                        //await App.Nav.PopAsync(Constantes.animated);
                    }
                    else
                    {
                        string msg = "";
                        if (rvm.Err.err > 0)
                        {
                            switch (rvm.Err.err)
                            {
                            //  1 error no hay suficiente saldo
                            //  2 error de sistema (BD)
                            //  3 error de RS
                            case 1:
                                msg = "No se cuenta con suficiente saldo";
                                break;

                            case 2:
                                msg = "Error de sistema";
                                break;

                            case 3:
                                msg = "Error en la plataforma, contacte al número de soporte para atención";
                                break;
                            }
                            errRecarga err = JsonConvert.DeserializeObject <errRecarga>(ea.Result);
                            msg += "\n" + err.tresp.rcode_description;
                            await DisplayAlert("Error", msg, "OK");

                            //await App.Nav.PopAsync(Constantes.animated);
                        }
                        else
                        {
                            //await App.Nav.PopAsync(Constantes.animated);
                            await App.Nav.PushAsync(new Ticket(rvm), Constantes.animated);
                        }
                    }
                };

                btnProcesar.Clicked += async(sender, ea) =>
                {
                    nip n = new nip();
                    n.NipCorrecto += async(s, e) =>
                    {
                        if (rvm.Tiporecarga == TipoRecarga.Monedero)
                        {
                            UserDialogs.Instance.ShowLoading("Recargando...");
                            await App.Nav.PopAsync(Constantes.animated);

                            if (tt == TipoTransaccion.PrimeraVez)
                            {
                                rvm.TipoTrans              = TipoTransaccion.PrimeraVez;
                                rvm.ProcesadoEnVesta1aVez += av;
                                rvm.AltaMonedero(tvm);
                            }
                            else
                            {
                                rvm.TipoTrans              = TipoTransaccion.SegundaVez;
                                rvm.ProcesadoEnVesta2aVez += av2;
                                rvm.AltaMonedero(tvm);
                            }
                        }
                        if (rvm.Tiporecarga == TipoRecarga.RecargaTA)
                        {
                            UserDialogs.Instance.ShowLoading("Recargando...");
                            await App.Nav.PopAsync(Constantes.animated);

                            if (tt == TipoTransaccion.PrimeraVez)
                            {
                                rvm.TipoTrans = TipoTransaccion.PrimeraVez;
                                if (rvm.idFormaPago == 1)
                                {
                                    rvm.AltaViaWallet += aw;
                                }
                                if (rvm.idFormaPago == 2)
                                {
                                    rvm.ProcesadoEnVesta1aVez += av;
                                }
                                rvm.Alta(tvm);
                            }
                            else
                            {
                                rvm.TipoTrans = TipoTransaccion.SegundaVez;
                                if (rvm.idFormaPago == 1)
                                {
                                    rvm.AltaViaWallet += aw;
                                }
                                if (rvm.idFormaPago == 2)
                                {
                                    rvm.ProcesadoEnVesta2aVez += av2;
                                }
                                rvm.Alta(tvm);
                            }
                        }
                    };
                    await App.Nav.PushAsync(n, Constantes.animated);
                };

                btnMedios.Clicked += async(sender, ea) =>
                {
                    NuevaTarjeta nt = App.Nav.NavigationStack.OfType <NuevaTarjeta>().FirstOrDefault();
                    if (nt != null)
                    {
                        await App.Nav.PopAsync(Constantes.animated);
                    }
                    else
                    {
                        RegPago rp = App.Nav.NavigationStack.OfType <RegPago>().FirstOrDefault();
                        if (rp != null)
                        {
                            await App.Nav.PopAsync(Constantes.animated);
                        }
                        else
                        {
                            await App.Nav.PushAsync(new RegPago(rvm), Constantes.animated);
                        }
                    }
                };
            }
            catch (Exception ex) {
            }
        }
Ejemplo n.º 14
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int idusr = 0;

            if (!IsPostBack)
            {
                if (Session["idusrlogged"] != null)
                {
                    if (int.TryParse(Session["idusrlogged"].ToString(), out idusr))
                    {
                        if (idusr > 0)
                        {
                            ws = Session["wsac"] as wsac.IsacClient;
                            string         json = ws.GetUser(idusr, "", "");
                            List <Usuario> lu   = JsonConvert.DeserializeObject <List <Usuario> >(json);
                            if (lu.Count > 0)
                            {
                                Session["usrlogged"] = lu.FirstOrDefault();
                                Response.Redirect("datosrecarga.aspx");
                            }
                        }
                    }
                }
                if (!string.IsNullOrEmpty(Request.Form["redireccion"]))
                {
                    spnJS.Text = "<script>msgError('Ya existe un usuario con este email. Inicie sesion con su NIP');</script>";
                }
                //if (Session["fallido"] != null)
                //{
                //    spnJS.Text = "<script>msgError('Los datos no son correctos revise nuevamente');</script>";
                //    Session["fallido"] = null;
                //}
            }
            //CargaCombos(false);

            if (!IsPostBack)
            {
                Session["RecargaPendiente"] = false;
                Session["rvm"] = null;
                ws             = Session["wsac"] as wsac.IsacClient;
                jsonRc         = ws.GetCatalogo(11, "where idusuario = " + Session["idusrlogged"].ToString() + " and err = 0 and rsauthorization is not null and rsauthorization != '' order by idrecarga desc limit 1"); //recargas
                List <Recarga> lsr = JsonConvert.DeserializeObject <List <Recarga> >(jsonRc);
                if (lsr.Count > 0)
                {
                    Recarga r = lsr.FirstOrDefault();
                    spnJS.Text = "<script>CargaCombos(); SelOper(" + r.idoperadora.ToString() + ", '" + r.numerorecarga + "', " + r.idpaquete.ToString() + ");</script>";
                }
            }

            btnNuevaT.Click += async(s, ea) =>
            {
                string nip1 = "", nip2 = "", email = "", nombre = "", numero = "";
                nip1   = check.SafeSqlLiteral(txtNip1.Value.Trim());
                nip2   = check.SafeSqlLiteral(txtNip2.Value.Trim());
                email  = check.SafeSqlLiteral(txtEmail.Value.Trim());
                nombre = check.SafeSqlLiteral(txtNombre.Value.Trim());
                numero = check.SafeSqlLiteral(txtNumero.Value.Trim());
                //verificador de correo
                Random r     = new Random();
                int    verif = r.Next(100000, 999999);

                if (nip1 != nip2)
                {
                    spnJS.Text = "<script>msgError('Los 2 nips deben ser iguales');</script>";
                    return;
                }
                else
                {
                    if (!check.ValidaNip(nip1))
                    {
                        spnJS.Text = "<script>msgError('Revise el NIP. (No se permiten consecutivos ni que todos los digitos sean iguales)');</script>";
                        return;
                    }
                    else
                    {
                        spnJS.Text = "";
                    }
                }
                ws = Session["wsac"] as wsac.IsacClient;
                string         json = ws.GetUser(0, check.SafeSqlLiteral(email), "");
                List <Usuario> lu   = JsonConvert.DeserializeObject <List <Usuario> >(json);
                if (lu.Count > 0)
                {
                    spnJS.Text = "<script>msgError('Ya existe un usuario con este email. Inicie sesion con su NIP');</script>";
                    return;
                }
                else
                {
                    spnJS.Text = "";
                    wsac.Usuario u = new wsac.Usuario()
                    {
                        numerocontacto = numero,
                        email          = email,
                        name           = nombre,
                        nip            = nip1,
                        fechaalta      = DateTime.Now,
                        //verificacion = nip1 + verif,
                        verificacion = verif.ToString(),
                        idpais       = int.Parse(Session["idpais"].ToString())
                    };

                    wsac.AltaUsrV2Response res = await ws.AltaUsrV2Async(u, 0);

                    if (res.Body.AltaUsrV2Result > 0)
                    {
                        Session["idusrlogged"] = res.Body.AltaUsrV2Result;
                        Session["datosredes"]  = null;

                        wsmoon = new wsmoon.wsMoonSoapClient();
                        bool respuestaSMS = wsmoon.getSN("dragonballZ@", "wsM00n", "ws4d1mnt43@", u.numerocontacto, "Bienvenido a Asicompras, tu codigo de verificacion es: " + u.verificacion);
                        if (respuestaSMS)
                        {
                            Response.Redirect("valida_codigo.aspx");
                        }
                        else
                        {
                            spnJS.Text = "<script>msgError('Ocurrio un error. Contacte al administrador');</script>";
                            return;
                        }

                        if (Session["RecargaPendiente"] != null)
                        {
                            if (bool.Parse(Session["RecargaPendiente"].ToString()))
                            {
                                RecargasViewModel rvm = Session["rvm"] as RecargasViewModel;
                                rvm.IdUsuario = res.Body.AltaUsrV2Result;
                                TarjetasViewModel tvm = Session["tvm"] as TarjetasViewModel;
                                tvm.Idusuario = res.Body.AltaUsrV2Result;
                                Response.Redirect("confir_recarga.aspx");
                                //  spnJS.Text = "<script>alert('Revise su mail de confirmación');</script>";
                                //  enviaMail(u.email,u.verificacion);
                                //   Session["bienvenido"] = true;
                                // Response.Redirect("datosrecarga.aspx");
                            }
                            else
                            {
                                //spnJS.Text = "<script>alert('Revise su mail de confirmación');</script>";
                                Session["bienvenido"] = true;
                                Response.Redirect("datosrecarga.aspx");
                            }
                        }
                        else
                        {
                            //spnJS.Text = "<script>alert('Revise su mail de confirmación');</script>";
                            Session["bienvenido"] = true;
                            Response.Redirect("datosrecarga.aspx");
                        }
                    }
                    else
                    {
                        spnJS.Text = "<script>msgError('Ocurrio un error. Contacte al administrador');</script>";
                        return;
                    }
                };

                /*string nip1 = "", nip2 = "", email = "", nombre = "", numero = "";
                 * nip1 = check.SafeSqlLiteral(txtNip1.Value.Trim());
                 * nip2 = check.SafeSqlLiteral(txtNip2.Value.Trim());
                 * email = check.SafeSqlLiteral(txtEmail.Value.Trim());
                 * nombre = check.SafeSqlLiteral(txtNombre.Value.Trim());
                 * numero = check.SafeSqlLiteral(txtNumero.Value.Trim());
                 * if (nip1 != nip2)
                 * {
                 *  spnJS.Text = "<script>msgError('Los 2 nips deben ser iguales');</script>";
                 *  return;
                 * }
                 * else
                 * {
                 *  if (!check.ValidaNip(nip1))
                 *  {
                 *      spnJS.Text = "<script>msgError('Revise el NIP. (No se permiten consecutivos ni que todos los digitos sean iguales)');</script>";
                 *      return;
                 *  }
                 *  else
                 *      spnJS.Text = "";
                 * }
                 * ws = Session["wsac"] as wsac.IsacClient;
                 * string json = ws.GetUser(0, check.SafeSqlLiteral(email), "");
                 * List<Usuario> lu = JsonConvert.DeserializeObject<List<Usuario>>(json);
                 * if (lu.Count > 0)
                 * {
                 *  spnJS.Text = "<script>msgError('Ya existe un usuario con este email. Inicie sesion con su NIP');</script>";
                 *  return;
                 * }
                 * else
                 * {
                 *  spnJS.Text = "";
                 *  wsac.Usuario u = new wsac.Usuario()
                 *  {
                 *      numerocontacto = numero,
                 *      email = email,
                 *      name = nombre,
                 *      nip = nip1,
                 *      fechaalta = DateTime.Now,
                 *      idpais = int.Parse(Session["idpais"].ToString())
                 *  };
                 *  wsac.AltaUsrV2Response res = await ws.AltaUsrV2Async(u,0);
                 *  if (res.Body.AltaUsrV2Result > 0)
                 *  {
                 *
                 *      Session["idusrlogged"] = res.Body.AltaUsrV2Result;
                 *      Session["datosredes"] = null;
                 *      if (Session["RecargaPendiente"] != null)
                 *      {
                 *          if (bool.Parse(Session["RecargaPendiente"].ToString()))
                 *          {
                 *              RecargasViewModel rvm = Session["rvm"] as RecargasViewModel;
                 *              rvm.IdUsuario = res.Body.AltaUsrV2Result;
                 *              TarjetasViewModel tvm = Session["tvm"] as TarjetasViewModel;
                 *              tvm.Idusuario = res.Body.AltaUsrV2Result;
                 *              Response.Redirect("confir_recarga.aspx");
                 *          }
                 *          else
                 *          {
                 *
                 *              Session["bienvenido"] = true;
                 *              Response.Redirect("datosrecarga.aspx");
                 *          }
                 *      }
                 *      else
                 *      {
                 *
                 *          Session["bienvenido"] = true;
                 *          Response.Redirect("datosrecarga.aspx");
                 *
                 *      }
                 *  }
                 *  else
                 *  {
                 *      spnJS.Text = "<script>msgError('Ocurrio un error. Contacte al administrador');</script>";
                 *      return;
                 *  }
                 * };*/
            };

            btnReg1.Click += (s, ea) =>
            {
                Response.Redirect("registro.aspx");
            };
        }
Ejemplo n.º 15
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //--------------------------------------------------------------------------------------------------
            int idusr = 0;

            if (!IsPostBack)
            {
                if (Session["idusrlogged"] != null)
                {
                    if (int.TryParse(Session["idusrlogged"].ToString(), out idusr))
                    {
                        if (idusr > 0)
                        {
                            ws = Session["wsac"] as wsac.IsacClient;
                            //  18/Mar/2017
                            //int hab = ws.GetMonederoHab();
                            //if (hab == 1){
                            //          //string json = ws.GetCatalogo(10, "where idusuario = " + idusr + "");
                            //          string json = ws.GetUser(idusr, "", "");
                            //          List<Usuario> lu = JsonConvert.DeserializeObject<List<Usuario>>(json);
                            //          if (lu.Count > 0)
                            //          {
                            //              Session["usrlogged"] = lu.FirstOrDefault();
                            //              lblCtaNom.Text = lu.FirstOrDefault().name;
                            //              if (!String.IsNullOrEmpty(lu.FirstOrDefault().picture))
                            //                  imgFoto.ImageUrl = lu.FirstOrDefault().picture;
                            //              else
                            //                  imgFoto.ImageUrl = "assets/images/icono_app.png";
                            //          }
                            //          else
                            //              Response.Redirect("index.aspx");
                            //         }
                            //         else
                            Response.Redirect("datosrecarga.aspx"); //monedero no habilitado
                        }
                        else
                        {
                            Response.Redirect("index.aspx");
                        }
                    }
                    else
                    {
                        Response.Redirect("index.aspx");
                    }
                }
            }
            else
            {
                if (Request["__EVENTTARGET"] == "lnkSalir")
                {
                    Session["idusrlogged"] = 0;
                    Session["usrlogged"]   = null;
                    Response.Redirect("index.aspx");
                    Session.Abandon();
                    Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));
                }
            }
            //-------------------------------------------------------------------------------------------------

            if (!IsPostBack)
            {
                ws = Session["wsac"] as wsac.IsacClient;
                if (tvm == null)
                {
                    tvm            = new TarjetasViewModel();
                    Session["tvm"] = tvm;
                }
                tvm.WS = ws;
                tvm.Inicia();
                Refresh();

                rvm                      = new RecargasViewModel();
                rvm.Tiporecarga          = TipoRecarga.Monedero;
                rvm.WS                   = Session["wsac"] as wsac.IsacClient;
                rvm.IdUsuario            = int.Parse(Session["idusrlogged"].ToString());
                rvm.MontoRecargaMonedero = 0;
                Session["rvm"]           = rvm;
            }
            else
            {
                ws = Session["wsac"] as wsac.IsacClient;
                if (Request.Form["__EVENTTARGET"] == "selcard")
                {
                    decimal monto = 0;
                    if (decimal.TryParse(check.SafeSqlLiteral(txtMonto.Text.Trim()), out monto))
                    {
                        if (monto > 0M)
                        {
                            decimal montomax = ws.GetMontoMax();
                            if (monto > montomax)
                            {
                                spnJS.Text = "<script>msgError('Solamente le es permitido agregar " + montomax.ToString("c") + " por cada evento');</script>";
                                Refresh();
                            }
                            else
                            {
                                RecargasViewModel rvm = Session["rvm"] as RecargasViewModel;
                                rvm.IdTarjeta            = int.Parse(Request.Form["__EVENTARGUMENT"].ToString());
                                rvm.TipoTrans            = TipoTransaccion.SegundaVez;
                                rvm.idFormaPago          = 2; //tarjeta
                                rvm.MontoRecargaMonedero = monto;
                                Session["rvm"]           = rvm;
                                Response.Redirect("confir_monedero.aspx");
                            }
                        }
                        else
                        {
                            spnJS.Text = "<script>msgError('Capture el saldo a cargar');</script>";
                            Refresh();
                        }
                    }
                    else
                    {
                        spnJS.Text = "<script>msgError('Capture el saldo a cargar');</script>";
                        Refresh();
                    }
                }
                if (Request.Form["__EVENTTARGET"] == "delcard")
                {
                    int idt = int.Parse(Request.Form["__EVENTARGUMENT"].ToString());
                    ws = Session["wsac"] as wsac.IsacClient;
                    if (ws.EliminaTarjeta(idt))
                    {
                        Response.Redirect("monedero.aspx");
                    }
                }
            }


            btnNvaTarjeta.Click += (s, ea) =>
            {
                ws = Session["wsac"] as wsac.IsacClient;
                decimal monto = 0;
                if (decimal.TryParse(txtMonto.Text.Trim(), out monto))
                {
                    if (monto > 0M)
                    {
                        decimal montomax = ws.GetMontoMax();
                        if (monto > montomax)
                        {
                            spnJS.Text = "<script>msgError('Solamente le es permitido agregar " + montomax.ToString("c") + " por cada evento');</script>";
                            Refresh();
                        }
                        else
                        {
                            RecargasViewModel rvm = Session["rvm"] as RecargasViewModel;
                            rvm.TipoTrans            = TipoTransaccion.SegundaVez;
                            rvm.idFormaPago          = 2; //tarjeta
                            rvm.MontoRecargaMonedero = monto;
                            Session["rvm"]           = rvm;
                            Response.Redirect("nuevatarjeta.aspx");
                        }
                    }
                    else
                    {
                        spnJS.Text = "<script>msgError('Capture el saldo a cargar');</script>";
                        Refresh();
                    }
                }
                else
                {
                    spnJS.Text = "<script>msgError('Capture el saldo a cargar');</script>";
                    Refresh();
                }
            };
        }
Ejemplo n.º 16
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //--------------------------------------------------------------------------------------------------
            int idusr = 0;

            if (!IsPostBack)
            {
                divMenu.InnerHtml = check.GeneraMenu();
                if (Session["idusrlogged"] != null)
                {
                    if (int.TryParse(Session["idusrlogged"].ToString(), out idusr))
                    {
                        if (idusr > 0)
                        {
                            ws = Session["wsac"] as wsac.IsacClient;
                            string         json = ws.GetUser(idusr, "", "");
                            List <Usuario> lu   = JsonConvert.DeserializeObject <List <Usuario> >(json);
                            if (lu.Count > 0)
                            {
                                Session["usrlogged"] = lu.FirstOrDefault();
                                lblCtaNom.Text       = lu.FirstOrDefault().name;
                                if (!String.IsNullOrEmpty(lu.FirstOrDefault().picture))
                                {
                                    imgFoto.ImageUrl = lu.FirstOrDefault().picture;
                                }
                                else
                                {
                                    imgFoto.ImageUrl = "assets/images/icono_app.png";
                                }
                            }
                            else
                            {
                                Response.Redirect("index.aspx");
                            }
                        }
                        else
                        {
                            Response.Redirect("index.aspx");
                        }
                    }
                    else
                    {
                        Response.Redirect("index.aspx");
                    }
                }
            }
            else
            {
                if (Request["__EVENTTARGET"] == "lnkSalir")
                {
                    Session["idusrlogged"] = 0;
                    Session["usrlogged"]   = null;
                    Response.Redirect("index.aspx");
                    Session.Abandon();
                    Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));
                }
            }
            //--------------------------------------------------------------------------------------------------

            if (!IsPostBack)
            {
                catPais      pa   = new catPais();
                catOperadora op   = new catOperadora();
                catPaquete   cp   = new catPaquete();
                Tarjeta      tar  = new Tarjeta();
                catEmisorTC  em   = new catEmisorTC();
                string       tipo = "";
                rvm = Session["rvm"] as RecargasViewModel;
                tvm = Session["tvm"] as TarjetasViewModel;
                if (rvm == null)
                {
                    Response.Redirect("datosrecarga.aspx");
                }
                else
                {
                    jsonOp = ws.GetCatalogo(1, "");
                    List <catOperadora> lsoper = JsonConvert.DeserializeObject <List <catOperadora> >(jsonOp);
                    op = lsoper.Where(x => x.idpais == rvm.idpais && x.idoperadora == rvm.idoperadora).FirstOrDefault();
                    Session["catOperadora"] = op;
                    jsonPa = ws.GetCatalogo(2, "");
                    List <catPais> lspais = JsonConvert.DeserializeObject <List <catPais> >(jsonPa);
                    pa     = lspais.Where(x => x.idpais == rvm.idpais).FirstOrDefault();
                    jsonPq = ws.GetCatalogo(3, "");
                    List <catPaquete> lspq = JsonConvert.DeserializeObject <List <catPaquete> >(jsonPq);
                    cp = lspq.Where(x => x.idpaquete == rvm.idpaquete).FirstOrDefault();
                    Session["catPaquete"] = cp;

                    if (rvm.idFormaPago == 2)
                    { //tarjeta
                        if (rvm.TipoTrans == TipoTransaccion.PrimeraVez)
                        {
                            jsonEmi = ws.GetCatalogo(4, "");
                            List <catEmisorTC> lsemi = JsonConvert.DeserializeObject <List <catEmisorTC> >(jsonEmi);
                            em   = lsemi.Where(x => x.idemisor == tvm.idemisor).FirstOrDefault();
                            tipo = (em != null ? em.emisor + " " : "") + tvm.NumeroTarjeta.Substring(tvm.NumeroTarjeta.Length - 4, 4);
                        }
                        if (rvm.TipoTrans == TipoTransaccion.SegundaVez)
                        {
                            jsonTar = ws.GetCatalogo(9, "where idusuario = " + Session["idusrlogged"].ToString());
                            List <Tarjeta> lstar = JsonConvert.DeserializeObject <List <Tarjeta> >(jsonTar);
                            tar     = lstar.Where(x => x.idtarjeta == rvm.IdTarjeta).FirstOrDefault();
                            jsonEmi = ws.GetCatalogo(4, "");
                            List <catEmisorTC> lsemi = JsonConvert.DeserializeObject <List <catEmisorTC> >(jsonEmi);
                            em   = lsemi.Where(x => x.idemisor == tar.idemisor).FirstOrDefault();
                            tipo = (em != null ? em.emisor + " " : "") + tar.last4;
                        }
                    }
                    lblMonto.Text     = rvm.MontoRecargaMonedero.ToString("c");
                    lblFormaPago.Text = (rvm.idFormaPago == 1 ? "Monedero" : "Tarjeta");
                    if (rvm.idFormaPago == 2)
                    {
                        lblEmisor.Text = tipo;
                    }
                }
            }
            else
            {
                if (Request.Form["__EVENTTARGET"] == "recargaexito")
                {
                    Session["rvm"] = null;
                    Session["tvm"] = null;
                    Response.Redirect("monedero.aspx");
                }
            }

            btnCancel.Click += (s, ea) =>
            {
                Response.Redirect("monedero.aspx");
            };

            txtNip4.TextChanged += async(s, ea) =>
            {
                string  nip = Request.Form["__EVENTARGUMENT"].ToString();
                Usuario u   = Session["usrlogged"] as Usuario;
                if (u.nip == nip)
                {
                    await Recargar();
                }
                else
                {
                    spnJS.Text = "<script>msgError('NIP invalido. Vuelva a intentar');</script>";
                }
            };
        }
Ejemplo n.º 17
0
        private async Task Recargar()
        {
            rvm = Session["rvm"] as RecargasViewModel;
            tvm = Session["tvm"] as TarjetasViewModel;
            if (rvm.idFormaPago == 2) //tarjeta
            {
                if (rvm.TipoTrans == TipoTransaccion.PrimeraVez)
                {
                    wsac.Tarjeta t = new wsac.Tarjeta()
                    {
                        idusuario      = tvm.Idusuario,
                        idpais         = tvm.idpais,
                        idemisor       = tvm.idemisor,
                        permtoken      = tvm.NumeroTarjeta,
                        Last4          = tvm.Last4,
                        titularFN      = tvm.TitularFN,
                        titularLN      = tvm.TitularLN,
                        calleynumero   = tvm.CalleyNum,
                        idestado       = tvm.IdEstado,
                        idciudad       = tvm.IdCiudad,
                        codigopostal   = tvm.CP,
                        expirationMMYY = tvm.ExpiraMM + tvm.ExpiraYY,
                    };
                    wsac.AltaRecargaMonederoResponse ar  = new wsac.AltaRecargaMonederoResponse();
                    wsac.CargaOpenPay1aVezResponse   v1r = new wsac.CargaOpenPay1aVezResponse();
                    rm = new wsac.RecargaMonedero()
                    {
                        idusuario     = rvm.IdUsuario,
                        idtarjeta     = (rvm.idFormaPago == 2) ? rvm.IdTarjeta : -1,
                        monto         = rvm.MontoRecargaMonedero,
                        fecha         = DateTime.Now,
                        TransactionID = Guid.NewGuid().ToString(),
                        os            = Request.UserAgent,
                        ip            = Request.UserHostAddress,
                        err           = -1 // -1 es una recarga recien creada q aun no ha sido procesada (pagada)
                    };
                    try
                    {
                        ws = Session["wsac"] as wsac.IsacClient;
                        ar = await ws.AltaRecargaMonederoAsync(rm);

                        GetSessionTags tags = JsonConvert.DeserializeObject <GetSessionTags>(ar.Body.AltaRecargaMonederoResult);
                        FingerP(tags.OrgID, tags.WebSessionID);
                        await Task.Delay(TimeSpan.FromSeconds(10));

                        tk = await TempToken(tvm);

                        if (tk.ResponseCode == 0)
                        {
                            t.permtoken          = tk.ChargeAccountNumberToken;
                            t.Last4              = tk.PaymentDeviceLast4;
                            rm.idrecargamonedero = tags.idrecarga;
                            v1r = await ws.CargaOpenPay1aVezAsync(null, rm, t, tags.WebSessionID, "");

                            errRecarga err = JsonConvert.DeserializeObject <errRecarga>(v1r.Body.CargaOpenPay1aVezResult);
                            if (err.err > 0)
                            {
                                jsonErr = ws.GetCatalogo(6, "");
                                List <catErrores> lserr = JsonConvert.DeserializeObject <List <catErrores> >(jsonErr);
                                string            msg   = "";
                                switch (err.err)
                                {
                                case 1:     //RecargaSell
                                    msg = lserr.Where(x => x.iderror == err.errRs).FirstOrDefault().error;
                                    break;

                                case 2:     //Vesta
                                    msg = lserr.Where(x => x.iderror == err.errVs).FirstOrDefault().error;
                                    break;

                                case 3:     //Comunicaciones
                                    msg = lserr.Where(x => x.iderror == 9).FirstOrDefault().error;
                                    break;
                                }
                                if (!String.IsNullOrEmpty(err.tresp.rcode_description))
                                {
                                    msg += "\\n" + err.tresp.rcode_description;
                                }
                                //spnJS.Text = "<script>msgError('Ocurrio un error: " + ce.error + (!String.IsNullOrEmpty(err.tresp.printDatam_data) ? " " + err.tresp.printDatam_data : "") + "');</script>";
                                spnJS.Text = "<script>msgError('Ocurrio un error: " + msg + "');</script>";
                            }
                            else
                            {
                                rvm            = Session["rvm"] as RecargasViewModel;
                                rvm.IdTarjeta  = err.idtarjeta;
                                Session["rvm"] = rvm;
                                string ticket = "";
                                ticket    += "TRANSACCIÓN " + err.tresp.transaction_id + "<br />";
                                ticket    += "FECHA " + DateTime.Now.ToString("dd/MMM/yyyy") + "<br />";
                                ticket    += "TRANSACCIÓN EXITOSA<br />";
                                ticket    += "<b>MONTO: " + rvm.MontoRecargaMonedero.ToString("c") + "</b><br />";
                                spnJS.Text = "<script>ticket('" + ticket + "');</script>";
                            }
                        }
                        else
                        {
                            spnJS.Text = "<script>msgError('Ocurrio un error');</script>";
                        }
                    }
                    catch (Exception ex)
                    {
                        spnJS.Text = "<script>msgError('Ocurrio un error');</script>";
                    }
                }
                //-----------------------------------------------------------------------------------
                if (rvm.TipoTrans == TipoTransaccion.SegundaVez)
                {
                    rm = new wsac.RecargaMonedero()
                    {
                        idusuario     = rvm.IdUsuario,
                        idtarjeta     = (rvm.idFormaPago == 2) ? rvm.IdTarjeta : -1,
                        monto         = rvm.MontoRecargaMonedero,
                        fecha         = DateTime.Now,
                        TransactionID = Guid.NewGuid().ToString(),
                        os            = Request.UserAgent,
                        ip            = Request.UserHostAddress,
                        err           = -1 // -1 es una recarga recien creada q aun no ha sido procesada (pagada)
                    };
                    wsac.CargaVesta2aVezResponse v2r = new wsac.CargaVesta2aVezResponse();
                    try
                    {
                        ws  = Session["wsac"] as wsac.IsacClient;
                        v2r = await ws.CargaVesta2aVezAsync(null, rm, "");

                        errRecarga err = JsonConvert.DeserializeObject <errRecarga>(v2r.Body.CargaVesta2aVezResult);
                        if (err.err > 0)
                        {
                            jsonErr = ws.GetCatalogo(6, "");
                            List <catErrores> lserr = JsonConvert.DeserializeObject <List <catErrores> >(jsonErr);
                            string            msg   = "";
                            switch (err.err)
                            {
                            case 1:     //RecargaSell
                                msg = lserr.Where(x => x.iderror == err.errRs).FirstOrDefault().error;
                                break;

                            case 2:     //Vesta
                                msg = lserr.Where(x => x.iderror == err.errVs).FirstOrDefault().error;
                                break;

                            case 3:     //Comunicaciones
                                msg = lserr.Where(x => x.iderror == 9).FirstOrDefault().error;
                                break;
                            }
                            if (!String.IsNullOrEmpty(err.tresp.rcode_description))
                            {
                                msg += "\\n" + err.tresp.rcode_description;
                            }
                            spnJS.Text = "<script>msgError('Ocurrio un error: " + msg + "');</script>";
                        }
                        else
                        {
                            string ticket = "";
                            ticket    += "TRANSACCIÓN " + err.tresp.transaction_id + "<br />";
                            ticket    += "FECHA " + DateTime.Now.ToString("dd/MMM/yyyy") + "<br />";
                            ticket    += "TRANSACCIÓN EXITOSA<br />";
                            ticket    += "<b>MONTO: " + rvm.MontoRecargaMonedero.ToString("c") + "</b><br />";
                            spnJS.Text = "<script>ticket('" + ticket + "');</script>";
                        }
                    }
                    catch (Exception ex)
                    {
                        spnJS.Text = "<script>msgError('Ocurrio un error');</script>";
                    }
                } // if segundavez
            }     // if formapago = 2
        }
Ejemplo n.º 18
0
        public void CargarInicia(Recarga rec)
        {
            InitializeComponent();
            Title = "Cargar Saldo";

            rvm = new RecargasViewModel();
            this.BindingContext = rvm;
            rvm.Tiporecarga     = TipoRecarga.RecargaTA;
            NavigationPage.SetBackButtonTitle(this, "");

            if (rec != null)
            {
                if (rec is RecargaProg)
                {
                    rvm.EdicionOnly = true;
                }

                if (App.usr.idpais != 0)
                {
                    rvm.idpais = App.usr.idpais;
                }
                else
                {
                    rvm.idpais = 1;                     //default Mexico
                }
                rvm.IdUsuario = App.usr.idusuario;

                mirec = new Recarga();
                mirec = rec;
            }
            else
            {
                Refresh();
                if (App.usr.idpais != 0)
                {
                    rvm.idpais = App.usr.idpais;
                }
                else
                {
                    rvm.idpais = 1;                     //default Mexico
                }
            }

            ToolbarItems.Add(new ToolbarItem("Ayuda", "ayuda2.png", () =>
            {
                var page = new InfoAyuda("cargarsaldo.html");
                Navigation.PushPopupAsync(page);
            }));

            lsC.Clear();

            rvm.RecargaIncompleta += (s, e) =>
            {
                if (e.estaincompleta)
                {
                    if (rvm.idoperadora == 0 || rvm.idpaquete == 0)
                    {
                        lblvalOpePaq.IsVisible = true;
                    }
                    else
                    {
                        lblvalOpePaq.IsVisible = false;
                    }
                    btnAplicar.IsEnabled = false;
                }
                else
                {
                    btnAplicar.IsEnabled = true;
                }
            };
            if (mirec != null)
            {
                rvm.idpais          = mirec.idpais;
                rvm.idoperadora     = mirec.idoperadora;
                rvm.idpaquete       = mirec.idpaquete;
                rvm.NumeroRecarga   = mirec.numerorecarga;
                rvm.ContactoRecarga = (!String.IsNullOrEmpty(mirec.contactorecarga) ? CleanString.UseRegex(mirec.contactorecarga) : "");
                rvm.idFormaPago     = mirec.idformapago;
                rvm.IdTarjeta       = mirec.idtarjeta;
                if (rvm.idFormaPago == 2 && rvm.IdTarjeta > 0)
                {
                    rvm.TipoTrans = TipoTransaccion.SegundaVez;
                }
            }
            if (rvm.EdicionOnly)
            {
                btnAplicar.Text = "Comprar";
            }
            else
            {
                if (rvm.idFormaPago == 2 && rvm.IdTarjeta > 0 && App.db.SelTarjetas(rvm.IdTarjeta) != null)
                {
                    btnAplicar.Text = "Confirmar";
                }
                else
                {
                    btnAplicar.Text = "Comprar";
                }
            }

            string title = ""; ListaOpciones lo;
            TapGestureRecognizer tapgrdPais = new TapGestureRecognizer();

            tapgrdPais.Tapped += async(s, e) =>
                                                                    //vclPais.Tapped += async (object sender, EventArgs e) =>
            {
                grdPais.BackgroundColor = Color.FromHex("#e5e5e5"); //Color.FromHex((App.Current.Resources["ButtonRojo"] as Style).Setters.Where(x => x.Property == BackgroundColorProperty).FirstOrDefault().Value.ToString()); //.Opacity = .5;
                await Task.Delay(100);

                grdPais.BackgroundColor = Color.Transparent;                 //grdEstado.Opacity = 1;
                ls.Clear();
                title = "Selecciona un pais";
                ls    = rvm.lsPais().Select(x => new Opcion {
                    idopc = x.idpais, opc = x.pais, imgopc = x.img
                }).ToObservableCollection();
                lo       = new ListaOpciones(ls, title, 1);
                lo.IdOpc = 1;
                await App.Nav.PushAsync(lo, Constantes.animated);
            };
            grdPais.GestureRecognizers.Add(tapgrdPais);

            TapGestureRecognizer tapgrdOperadora = new TapGestureRecognizer();

            tapgrdOperadora.Tapped += async(s, e) =>
                                                                         //vclOperadora.Tapped += async (object sender, EventArgs e) =>
            {
                grdOperadora.BackgroundColor = Color.FromHex("#e5e5e5"); //Color.FromHex((App.Current.Resources["ButtonRojo"] as Style).Setters.Where(x => x.Property == BackgroundColorProperty).FirstOrDefault().Value.ToString()); //.Opacity = .5;
                await Task.Delay(100);

                grdOperadora.BackgroundColor = Color.Transparent;                 //grdEstado.Opacity = 1;
                ls.Clear();
                title = "Selecciona una compañía";
                ls    = rvm.LsOperadoras(rvm.idpais).Select(x => new Opcion {
                    idopc = x.idoperadora, opc = x.operadora, imgopc = x.img
                }).ToObservableCollection();
                lo       = new ListaOpciones(ls, title, 1);
                lo.IdOpc = 2;
                await App.Nav.PushAsync(lo, Constantes.animated);
            };
            grdOperadora.GestureRecognizers.Add(tapgrdOperadora);

            if (mirec != null)
            {
                txtNum.Text      = mirec.numerorecarga;
                lblContacto.Text = (!String.IsNullOrEmpty(mirec.contactorecarga) ? CleanString.UseRegex(mirec.contactorecarga) : "");
            }
            TapGestureRecognizer tapgrdSaldo = new TapGestureRecognizer();

            tapgrdSaldo.Tapped += async(s, e) =>
                                                                     //vclSaldo.Tapped += async (object sender, EventArgs e) =>
            {
                grdSaldo.BackgroundColor = Color.FromHex("#e5e5e5"); //Color.FromHex((App.Current.Resources["ButtonRojo"] as Style).Setters.Where(x => x.Property == BackgroundColorProperty).FirstOrDefault().Value.ToString()); //.Opacity = .5;
                await Task.Delay(100);

                grdSaldo.BackgroundColor = Color.Transparent;                 //grdEstado.Opacity = 1;
                ls.Clear();
                title = "Selecciona monto";
                ObservableCollection <catPaquete> lpq = rvm.LsPaquetes(rvm.idoperadora);
                ls = lpq.OrderBy(x => x.tipo).Select(x => new Opcion {
                    idopc = x.idpaquete, opc = x.monto.ToString("c", new System.Globalization.CultureInfo("es-MX")) + " " + x.paquete, idagrupador = x.tipo, agrupador = (x.tipo == 0 ? "Tiempo aire" : "Paquetes de datos")
                }).ToObservableCollection();
                if (ls.Select(x => x.idagrupador).Distinct().Count() > 1)
                {
                    lo = new ListaOpciones(ls, title, 1, true);                     //hay TA y datos
                }
                else
                {
                    lo = new ListaOpciones(ls, title, 1);                     //solo TA
                }
                lo.IdOpc = 4;
                await App.Nav.PushAsync(lo, Constantes.animated);
            };
            grdSaldo.GestureRecognizers.Add(tapgrdSaldo);

            TapGestureRecognizer tapgrdLimpiar = new TapGestureRecognizer();

            tapgrdLimpiar.Tapped += async(s, e) =>
            {
                grdLimpiar.BackgroundColor = Color.FromHex("#e5e5e5");
                await Task.Delay(100);

                grdLimpiar.BackgroundColor = Color.Transparent;
                rvm.Refresh();
                txtNum.Text      = "";
                lblContacto.Text = "";
            };
            grdLimpiar.GestureRecognizers.Add(tapgrdLimpiar);

            btnAplicar.Clicked += async(sender, ea) =>
            {
                if (rvm.EsIncompleta())
                {
                    await DisplayAlert("Error", "Faltan capturar o seleccionar algunos campos", "OK");
                }
                else
                {
                    btnAplicar.IsEnabled = false;
                    rvm.NumeroRecarga    = check.SafeSqlLiteral(txtNum.Text.Trim());
                    if (rvm.EdicionOnly)
                    {
                        await App.Nav.PushAsync(new RegPago(rvm), Constantes.animated);
                    }
                    else
                    {
                        if (rvm.idFormaPago == 2 && rvm.IdTarjeta > 0 && App.db.SelTarjetas(rvm.IdTarjeta) != null)
                        {
                            //vamos a cargar el tvm desde una tarjeta (no se como?)
                            TarjetasViewModel tvm = new TarjetasViewModel();
                            await App.Nav.PushAsync(new Procesar(rvm, tvm, TipoTransaccion.SegundaVez), Constantes.animated);
                        }
                        else
                        {
                            await App.Nav.PushAsync(new RegPago(rvm), Constantes.animated);
                        }
                    }
                }
            };
            phvalNum.PropertyChanged += (object sender, PropertyChangedEventArgs e) =>
            {
                if (phvalNum.IsValid)
                {
                    rvm.NumeroRecarga = check.SafeSqlLiteral(txtNum.Text);
                }
                else
                {
                    rvm.NumeroRecarga = "";
                }
            };
            btnContactos.Clicked += async(sender, e) =>
            {
                vwContactos = new Contactos();
                await App.Nav.PushAsync(vwContactos);

                lsC = vwContactos.GetLista();
            };
            txtNum.TextChanged += (s, e) =>
            {
                if (lsC.Count > 0)
                {
                    IEnumerable <Contacto> tmp = lsC.Where(x => Regex.Replace(x.Number, @"\s+", "").Contains(e.NewTextValue));
                    if (tmp.Count() > 0)
                    {
                        lblContacto.Text    = CleanString.UseRegex(tmp.FirstOrDefault().Name);
                        rvm.ContactoRecarga = lblContacto.Text;
                    }
                    else
                    {
                        lblContacto.Text    = "";
                        rvm.ContactoRecarga = "";
                    }
                }
            };
        }
Ejemplo n.º 19
0
        public NuevaTarjeta(TipoAnadidor tipo, TarjetasViewModel _t, RecargasViewModel _r)
        {
            try
            {
                InitializeComponent();
                Title = "Nueva tarjeta";
                ToolbarItems.Add(new ToolbarItem("Ayuda", "ayuda2.png", () =>
                {
                    var page = new InfoAyuda("nuevat.html");
                    Navigation.PushPopupAsync(page);
                }));
#if __IOS__
                grdScanner.IsVisible = false;
#endif

                tvm = _t;
                rvm = _r;
                this.BindingContext = tvm;
                Refresh();
                tvm.Idusuario = App.usr.idusuario;
                if (App.usr.idpais != 0)
                {
                    tvm.idpais = App.usr.idpais;
                }
                txtNum.Completed       += (s, e) => txtMes.Focus();
                txtMes.Completed       += (s, e) => txtAno.Focus();
                txtAno.Completed       += (s, e) => txtCvc.Focus();
                txtCvc.Completed       += (s, e) => txtTitularFN.Focus();
                txtTitularFN.Completed += (s, e) => txtTitularLN.Focus();
                txtTitularLN.Completed += (s, e) => txtCalleNum.Focus();
                txtCalleNum.Completed  += (s, e) => txtCP.Focus();

                tvm.TarjetaIncompleta += (s, e) =>
                {
                    if (e.estaincompleta)
                    {
                        if (tvm.idpais == 0 || tvm.IdEstado == 0 || tvm.IdCiudad == 0)
                        {
                            lblvalGeo.IsVisible = true;
                        }
                        else
                        {
                            lblvalGeo.IsVisible = false;
                        }
                        btnGuardar.IsEnabled = false;
                    }
                    else
                    {
                        lblvalGeo.IsVisible  = false;
                        btnGuardar.IsEnabled = true;
                    }
                };

                txtNum.TextChanged += (sender, e) =>
                {
                    if (!String.IsNullOrEmpty(txtNum.Text))
                    {
                        if (cardval.IsValid)
                        {
                            CreditCardDetector det = new CreditCardDetector(txtNum.Text);
                            tvm.idemisor         = SetEmisor(det.Brand);
                            tvm.NumeroTarjeta    = txtNum.Text;
                            lblvalCard.IsVisible = false;                             //.Text = "";
                        }
                        else
                        {
                            CreditCardDetector det = new CreditCardDetector(txtNum.Text);
                            tvm.idemisor         = SetEmisor(det.Brand);
                            tvm.NumeroTarjeta    = "";
                            lblvalCard.IsVisible = true;                             //.Text = "El numero de tarjeta es obligatorio, y tal cual aparece en la tarjeta";
                        }
                    }
                };
                txtMes.TextChanged       += Valfecha;
                txtAno.TextChanged       += Valfecha;
                txtCvc.TextChanged       += Valfecha;
                txtTitularFN.TextChanged += (s, e) =>
                {
                    if (valTitulFN.IsValid)
                    {
                        lblvalTitular.IsVisible = false;                         //.Text = "";
                        tvm.TitularFN           = CleanString.UseRegex(txtTitularFN.Text);
                    }
                    else
                    {
                        lblvalTitular.IsVisible = true;                         //.Text = "El nombre del titular es obligatorio y tal cual aparece en la tarjeta";
                        tvm.TitularFN           = "";
                    }
                };
                txtTitularLN.TextChanged += (s, e) =>
                {
                    if (valTitulLN.IsValid)
                    {
                        lblvalTitular.IsVisible = false;                         //.Text = "";
                        tvm.TitularLN           = CleanString.UseRegex(txtTitularLN.Text);
                    }
                    else
                    {
                        lblvalTitular.IsVisible = true;                         //.Text = "El nombre del titular es obligatorio y tal cual aparece en la tarjeta";
                        tvm.TitularLN           = "";
                    }
                };
                txtCalleNum.TextChanged += (s, e) =>
                {
                    if (valCalle.IsValid)
                    {
                        lblvalCalle.IsVisible = false;                         //.Text = "";
                        tvm.CalleyNum         = CleanString.UseRegex(txtCalleNum.Text);
                    }
                    else
                    {
                        lblvalCalle.IsVisible = true;                         //.Text = "El nombre del titular es obligatorio y tal cual aparece en la tarjeta";
                        tvm.CalleyNum         = "";
                    }
                };
                txtCP.TextChanged += (s, e) =>
                {
                    if (cpval.IsValid)
                    {
                        lblvalCP.IsVisible = false;                         //.Text = "";
                        tvm.CP             = check.SafeSqlLiteral(txtCP.Text);
                    }
                    else
                    {
                        lblvalCP.IsVisible = true;                         //.Text = "El nombre del titular es obligatorio y tal cual aparece en la tarjeta";
                        tvm.CP             = "";
                    }
                };

                string title = ""; ListaOpciones lo;
                //grdPais.Tapped += async (object sender, EventArgs e) =>
                TapGestureRecognizer tapgrdPais = new TapGestureRecognizer();
                tapgrdPais.Tapped += async(s, e) =>
                {
                    grdPais.BackgroundColor = Color.FromHex("#e5e5e5");                     //Color.FromHex((App.Current.Resources["ButtonRojo"] as Style).Setters.Where(x => x.Property == BackgroundColorProperty).FirstOrDefault().Value.ToString()); //.Opacity = .5;
                    await Task.Delay(100);

                    grdPais.BackgroundColor = Color.Transparent;                     //grdEstado.Opacity = 1;
                    ls.Clear();
                    title = "Seleccione un país";
                    ls    = tvm.lsPais().Select(x => new Opcion {
                        idopc = x.idpais, opc = x.pais, imgopc = x.img
                    }).ToObservableCollection();
                    lo       = new ListaOpciones(ls, title, 2);
                    lo.IdOpc = 1;
                    await App.Nav.PushAsync(lo, Constantes.animated);
                };
                grdPais.GestureRecognizers.Add(tapgrdPais);

                TapGestureRecognizer tapgrdTipo = new TapGestureRecognizer();
                tapgrdTipo.Tapped += async(s, e) =>
                                                                        //grdTipo.Tapped += async (object sender, EventArgs e) =>
                {
                    grdTipo.BackgroundColor = Color.FromHex("#e5e5e5"); //Color.FromHex((App.Current.Resources["ButtonRojo"] as Style).Setters.Where(x => x.Property == BackgroundColorProperty).FirstOrDefault().Value.ToString()); //.Opacity = .5;
                    await Task.Delay(100);

                    grdTipo.BackgroundColor = Color.Transparent;                     //grdEstado.Opacity = 1;
                    ls.Clear();
                    title = "Seleccione emisor";
                    ls    = tvm.LsEmisores().Select(x => new Opcion {
                        idopc = x.idemisor, opc = x.emisor, imgopc = x.img
                    }).ToObservableCollection();
                    lo       = new ListaOpciones(ls, title, 2);
                    lo.IdOpc = 2;
                    await App.Nav.PushAsync(lo, Constantes.animated);
                };
                grdTipo.GestureRecognizers.Add(tapgrdTipo);

                TapGestureRecognizer tapgrdScanner = new TapGestureRecognizer();
                tapgrdScanner.Tapped += async(s, e) =>
                                                                           //vclScanner.Tapped += (s, e) =>
                {
                    grdScanner.BackgroundColor = Color.FromHex("#e5e5e5"); //Color.FromHex((App.Current.Resources["ButtonRojo"] as Style).Setters.Where(x => x.Property == BackgroundColorProperty).FirstOrDefault().Value.ToString()); //.Opacity = .5;
                    await Task.Delay(100);

                    grdScanner.BackgroundColor = Color.Transparent;                     //grdEstado.Opacity = 1;
#if __ANDROID__
                    var plataforma = DependencyService.Get <ICardReader>();
                    if (plataforma != null)
                    {
                        plataforma.CardFound = delegate(string FormattedCardNumber, int ExpiryMonth, int ExpiryYear, string CardholderName, Card.IO.CardType CardType)
                        {
                            txtNum.Text = FormattedCardNumber;
                            //txtTitular.Text = CardholderName;
                            txtMes.Text = (ExpiryMonth > 0 ? ExpiryMonth.ToString() : "");
                            if (ExpiryYear > 0)
                            {
                                if (ExpiryYear.ToString().Length > 2)
                                {
                                    txtAno.Text = ExpiryYear.ToString().Substring(2, 2);
                                }
                                else
                                {
                                    txtAno.Text = ExpiryYear.ToString();
                                }
                            }
                            else
                            {
                                txtAno.Text = "";
                            }
                        };
                        plataforma.ReadCard();
                    }
#endif
#if __IOS__
                    //var plataforma = DependencyService.Get<ICardReader>();
                    //if (plataforma != null)
                    //{
                    //	plataforma.CardFound = delegate (string FormattedCardNumber, int ExpiryMonth, int ExpiryYear, string CardholderName, Card.IO.CreditCardType CardType)
                    //	{
                    //		txtNum.Text = FormattedCardNumber;
                    //		//txtTitular.Text = CardholderName;
                    //		txtMes.Text = (ExpiryMonth > 0 ? ExpiryMonth.ToString() : "");
                    //		if (ExpiryYear > 0)
                    //		{
                    //			if (ExpiryYear.ToString().Length > 2)
                    //				txtAno.Text = ExpiryYear.ToString().Substring(2, 2);
                    //			else
                    //				txtAno.Text = ExpiryYear.ToString();
                    //		}
                    //		else
                    //			txtAno.Text = "";
                    //	};
                    //	plataforma.ReadCard();
                    //}
#endif
                };
                grdScanner.GestureRecognizers.Add(tapgrdScanner);

                TapGestureRecognizer tapgrdEstado = new TapGestureRecognizer();
                tapgrdEstado.Tapped += async(s, e) =>
                                                                          //grdEstado.Tapped += async (object sender, EventArgs e) =>
                {
                    grdEstado.BackgroundColor = Color.FromHex("#e5e5e5"); //Color.FromHex((App.Current.Resources["ButtonRojo"] as Style).Setters.Where(x => x.Property == BackgroundColorProperty).FirstOrDefault().Value.ToString()); //.Opacity = .5;
                    await Task.Delay(100);

                    grdEstado.BackgroundColor = Color.Transparent;                     //grdEstado.Opacity = 1;
                    ls.Clear();
                    title = "Seleccione estado";
                    ls    = tvm.lsEstados(tvm.idpais).Select(x => new Opcion {
                        idopc = x.idestado, opc = x.estado,
                    }).ToObservableCollection();
                    lo       = new ListaOpciones(ls, title, 2);
                    lo.IdOpc = 3;
                    await App.Nav.PushAsync(lo, Constantes.animated);
                };
                grdEstado.GestureRecognizers.Add(tapgrdEstado);

                TapGestureRecognizer tapgrdCiudad = new TapGestureRecognizer();
                tapgrdCiudad.Tapped += async(s, e) =>
                                       //btnCiudad.Clicked += async (s,e) =>
                                       //vclCiudad.Tapped += async (s, e) =>
                {
                    grdCiudad.BackgroundColor = Color.FromHex("#e5e5e5");
                    await Task.Delay(100);

                    grdCiudad.BackgroundColor = Color.Transparent;                     //grdEstado.Opacity = 1;
                    ls.Clear();
                    title = "Seleccione ciudad";
                    ls    = tvm.lsMunicipios(tvm.IdEstado).OrderBy(x => x.municipio).Select(x => new Opcion {
                        idopc = x.idmunicipio, opc = x.municipio,
                    }).ToObservableCollection();
                    lo       = new ListaOpciones(ls, title, 2);
                    lo.IdOpc = 4;
                    await App.Nav.PushAsync(lo, Constantes.animated);
                };
                grdCiudad.GestureRecognizers.Add(tapgrdCiudad);

                btnGuardar.Clicked += async(sender, e) =>
                {
                    if (tvm.EsIncompleta())
                    {
                        await DisplayAlert("Error", "Faltan capturar o seleccionar algunos campos", "OK");
                    }
                    else
                    {
                        if (txtAno.Text.Trim().Length < 2 || txtMes.Text.Trim().Length < 2)
                        {
                            await DisplayAlert("Error", "Revise mes y año de expiración", "OK");
                        }
                        else
                        {
                            int mm = int.Parse(txtMes.Text.Trim());
                            int yy = int.Parse(txtAno.Text.Trim());
                            if (mm < 1 || mm > 12 || yy < DateTime.Now.Year - 2000)
                            {
                                await DisplayAlert("Error", "Revise mes y año de expiración", "OK");
                            }
                            else
                            {
                                if (App.usr == null || (App.usr != null && (App.usr.email == null || App.usr.idusuario == 0)))
                                {
                                    var login = new Login(App.Current);
                                    await App.Nav.PushAsync(login, Constantes.animated);
                                }
                                else
                                {
                                    btnGuardar.IsEnabled = false;
                                    //tvm.TarjetaAlta += async (s, ea) =>
                                    //{
                                    //	UserDialogs.Instance.HideLoading();
                                    //	if (ea.Error != null || ea.Cancelled)
                                    //		await DisplayAlert("Error", "Ocurrio un error, vuelva a intentar", "OK");
                                    //	else
                                    //		await App.Nav.PopAsync(Constantes.animated);
                                    //};
                                    //UserDialogs.Instance.ShowLoading("Guardando...");
                                    //tvm.Alta();
                                    rvm.idFormaPago = 2;                                     //tarjeta
                                    rvm.TipoTrans   = TipoTransaccion.PrimeraVez;
                                    rvm.IdTarjeta   = 0;
                                    Procesar pro = App.Nav.NavigationStack.OfType <Procesar>().FirstOrDefault();
                                    if (pro == null)
                                    {
                                        await App.Nav.PushAsync(new Procesar(rvm, tvm, TipoTransaccion.PrimeraVez), Constantes.animated);
                                    }
                                    else
                                    {
                                        pro.Refresh(rvm, tvm, TipoTransaccion.PrimeraVez);
                                        await App.Nav.PopAsync(Constantes.animated);                                         //boto nueva tarjeta (this)

                                        await App.Nav.PopAsync(Constantes.animated);                                         //boto medios pago
                                    }
                                }
                            }
                        }
                    }
                };
                tvm.ChecaIncompleta();
            }
            catch (Exception e)
            {
            }
        }
Ejemplo n.º 20
0
        private void Refresh()
        {
            string json = "";

            tvm = Session["tvm"] as TarjetasViewModel;
            // monedero
            json = ws.GetCatalogo(12, "where idusuario = " + Session["idusrlogged"].ToString());
            List <SaldoMonedero> lsMon = JsonConvert.DeserializeObject <List <SaldoMonedero> >(json);

            if (lsMon.Count() > 0)
            {
                Session["SaldoMonedero"] = lsMon.FirstOrDefault();
                if (lsMon.FirstOrDefault().saldo > 0M)
                {
                    lblSaldoMon.Text = lsMon.FirstOrDefault().saldo.ToString("c");
                }
                else
                {
                    lblSaldoMon.Text = (0M).ToString("c");
                }
            }
            else
            {
                Session["SaldoMonedero"] = new SaldoMonedero();
                lblSaldoMon.Text         = (0M).ToString("c");
            }
            json = "";
            json = ws.GetCatalogo(9, "where idusuario = " + Session["idusrlogged"].ToString());
            List <Tarjeta> lsTar = JsonConvert.DeserializeObject <List <Tarjeta> >(json);

            foreach (Tarjeta t in lsTar)
            {
                HtmlTableRow row = new HtmlTableRow();
                row.Cells.Add(new HtmlTableCell()
                {
                    Width = "20%;", InnerHtml = "<img src='" + tvm.LsEmisores().Where(x => x.idemisor == t.idemisor).FirstOrDefault().img + "' />"
                });
                row.Cells.Add(new HtmlTableCell()
                {
                    Width = "30%;", InnerHtml = tvm.LsEmisores().Where(x => x.idemisor == t.idemisor).FirstOrDefault().emisor + " " + t.last4
                });
                //row.Cells.Add(new HtmlTableCell() { Width = "35%;", InnerHtml = tvm.LsEmisores().Where(x => x.idemisor == t.idemisor).FirstOrDefault().emisor + " " + t.last4 });

                Label lbl = new Label();
                lbl.Text = "<a id=\"sel" + t.idtarjeta.ToString() + "\" class=\"btn default btn-xs btn-primary white\" href=\"javascript:__doPostBack('selcard','" + t.idtarjeta.ToString() + "');\"><i class=\"fa fa-credit-card\"></i> Usar esta tarjeta</a>&nbsp;&nbsp;&nbsp;";

                Label lbldel = new Label();
                lbldel.Text = "<a id=\"del" + t.idtarjeta.ToString() + "\" class=\"btn default btn-xs bg-black white\" href=\"javascript:borratarjeta(" + t.idtarjeta.ToString() + ");\"><i class=\"fa fa-trash\"></i> Borrar tarjeta</a>";

                row.Cells.Add(new HtmlTableCell()
                {
                    Width = "60%;"
                });
                row.Cells[2].Controls.Add(lbl);
                row.Cells[2].Controls.Add(lbldel);

                row.Cells.Add(new HtmlTableCell()
                {
                    Width = "15%;", InnerHtml = ""
                });
                tbTarjetas.Rows.Add(row);
            }
        }
Ejemplo n.º 21
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //--------------------------------------------------------------------------------------------------
            int idusr = 0;

            if (!IsPostBack)
            {
                divMenu.InnerHtml = check.GeneraMenu();
                if (Session["idusrlogged"] != null)
                {
                    if (int.TryParse(Session["idusrlogged"].ToString(), out idusr))
                    {
                        if (idusr > 0)
                        {
                            ws = Session["wsac"] as wsac.IsacClient;
                            string         json = ws.GetUser(idusr, "", "");
                            List <Usuario> lu   = JsonConvert.DeserializeObject <List <Usuario> >(json);
                            if (lu.Count > 0)
                            {
                                Session["usrlogged"] = lu.FirstOrDefault();
                                lblCtaNom.Text       = lu.FirstOrDefault().name;
                                if (!String.IsNullOrEmpty(lu.FirstOrDefault().picture))
                                {
                                    imgFoto.ImageUrl = lu.FirstOrDefault().picture;
                                }
                                else
                                {
                                    imgFoto.ImageUrl = "assets/images/icono_app.png";
                                }
                            }
                            else
                            {
                                Response.Redirect("index.aspx");
                            }
                        }
                        else
                        {
                            Response.Redirect("index.aspx");
                        }
                    }
                    else
                    {
                        Response.Redirect("index.aspx");
                    }
                }
            }
            else
            {
                if (Request["__EVENTTARGET"] == "lnkSalir")
                {
                    Session["idusrlogged"] = 0;
                    Session["usrlogged"]   = null;
                    Response.Redirect("index.aspx");
                    Session.Abandon();
                    Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));
                }
            }

            //-------------------------------------------------------------------------------------------------
            if (!IsPostBack)
            {
                ws = Session["wsac"] as wsac.IsacClient;
                if (tvm == null)
                {
                    tvm            = new TarjetasViewModel();
                    Session["tvm"] = tvm;
                }
                tvm.WS = ws;
                tvm.Inicia();
                //if (Session["rvm"] == null)
                //    Response.Redirect("datosrecarga.aspx");
                //else
                Refresh();
            }
            else
            {
                if (Request.Form["__EVENTTARGET"] == "delrec")
                {
                    int idr = int.Parse(Request.Form["__EVENTARGUMENT"].ToString());
                    ws = Session["wsac"] as wsac.IsacClient;
                    if (ws.EliminaRecProg(idr))
                    {
                        Response.Redirect("histrecprog.aspx");
                    }
                }
            }
        }
Ejemplo n.º 22
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //--------------------------------------------------------------------------------------------------
            int idusr = 0;

            if (!IsPostBack)
            {
                if (Session["idadminlogged"] != null)
                {
                    if (int.TryParse(Session["idadminlogged"].ToString(), out idusr))
                    {
                        if (idusr > 0)
                        {
                            ws = Session["wsac"] as wsac.IsacClient;
                            string         json = ws.GetAdmin(idusr, "", "");
                            List <Usuario> lu   = JsonConvert.DeserializeObject <List <Usuario> >(json);
                            if (lu.Count > 0)
                            {
                                Session["adminlogged"] = lu.FirstOrDefault();
                                lblCtaNom.Text         = lu.FirstOrDefault().name;
                                if (!String.IsNullOrEmpty(lu.FirstOrDefault().picture))
                                {
                                    imgFoto.ImageUrl = lu.FirstOrDefault().picture;
                                }
                                else
                                {
                                    imgFoto.ImageUrl = "assets/images/icono_app.png";
                                }
                            }
                            else
                            {
                                Response.Redirect("index.aspx");
                            }
                        }
                        else
                        {
                            Response.Redirect("index.aspx");
                        }
                    }
                    else
                    {
                        Response.Redirect("index.aspx");
                    }
                }
            }
            else
            {
                if (Request["__EVENTTARGET"] == "lnkSalir")
                {
                    Session["idadminlogged"] = 0;
                    Session["adminlogged"]   = null;
                    Response.Redirect("index.aspx");
                    Session.Abandon();
                    Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));
                }
            }

            //-------------------------------------------------------------------------------------------------
            if (!IsPostBack)
            {
                ws = Session["wsac"] as wsac.IsacClient;
                if (tvm == null)
                {
                    tvm            = new TarjetasViewModel();
                    Session["tvm"] = tvm;
                }
                tvm.WS = ws;
                tvm.Inicia();
                //if (Session["rvm"] == null)
                //    Response.Redirect("datosrecarga.aspx");
                //else
                //    Refresh();
            }
            else
            {
                if (Request.Form["__EVENTTARGET"] == "delrec")
                {
                    int idr = int.Parse(Request.Form["__EVENTARGUMENT"].ToString());
                    ws = Session["wsac"] as wsac.IsacClient;
                    if (ws.EliminaRecProg(idr))
                    {
                        Response.Redirect("histrecprog.aspx");
                    }
                }
            }
            btnExcel.Click += (s, ea) =>
            {
                DateTime dtini = DateTime.MinValue; DateTime dtfin = DateTime.MinValue;
                if (DateTime.TryParseExact(fini.Value, "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out dtini) && DateTime.TryParseExact(ffin.Value, "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out dtfin))
                {
                    DumpExcel(dtini.ToString("yyyyMMdd"), dtfin.ToString("yyyyMMdd"));
                    spnJS.Text = "";
                }
                else
                {
                    spnJS.Text = "<script>msgError('Faltan fecha de inicio y fin');</script>";
                }
            };
            btnConsultar.Click += (s, ea) =>
            {
                DateTime dtini = DateTime.MinValue; DateTime dtfin = DateTime.MinValue;
                if (DateTime.TryParseExact(fini.Value, "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out dtini) && DateTime.TryParseExact(ffin.Value, "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out dtfin))
                {
                    Refresh(dtini.ToString("yyyyMMdd"), dtfin.ToString("yyyyMMdd"));
                    spnJS.Text = "";
                }
                else
                {
                    spnJS.Text = "<script>msgError('Faltan fecha de inicio y fin');</script>";
                }
            };
        }
Ejemplo n.º 23
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //--------------------------------------------------------------------------------------------------
            int idusr = 0;

            if (!IsPostBack)
            {
                divMenu.InnerHtml = check.GeneraMenu();
                if (Session["idusrlogged"] != null)
                {
                    if (int.TryParse(Session["idusrlogged"].ToString(), out idusr))
                    {
                        if (idusr > 0)
                        {
                            ws = Session["wsac"] as wsac.IsacClient;
                            string         json = ws.GetUser(idusr, "", "");
                            List <Usuario> lu   = JsonConvert.DeserializeObject <List <Usuario> >(json);
                            if (lu.Count > 0)
                            {
                                Session["usrlogged"] = lu.FirstOrDefault();
                                lblCtaNom.Text       = lu.FirstOrDefault().name;
                                if (!String.IsNullOrEmpty(lu.FirstOrDefault().picture))
                                {
                                    imgFoto.ImageUrl = lu.FirstOrDefault().picture;
                                }
                                else
                                {
                                    imgFoto.ImageUrl = "assets/images/icono_app.png";
                                }
                            }
                            else
                            {
                                Response.Redirect("index.aspx");
                            }
                        }
                        else
                        {
                            Response.Redirect("index.aspx");
                        }
                    }
                    else
                    {
                        Response.Redirect("index.aspx");
                    }
                }
            }
            else
            {
                if (Request["__EVENTTARGET"] == "lnkSalir")
                {
                    Session["idusrlogged"] = 0;
                    Session["usrlogged"]   = null;
                    Response.Redirect("index.aspx");
                    Session.Abandon();
                    Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));
                }
            }
            //--------------------------------------------------------------------------------------------------

            btnProgramar.Click += async(s, ea) =>
            {
                wsac.AltaRecargaProgResponse rr = new wsac.AltaRecargaProgResponse();
                string dias = hidDias.Value.Trim();
                if (dias.Length > 1)
                {
                    try
                    {
                        ws  = Session["wsac"] as wsac.IsacClient;
                        rvm = Session["rvm"] as RecargasViewModel;
                        tvm = Session["tvm"] as TarjetasViewModel;
                        wsac.RecargaProg rp = new wsac.RecargaProg()
                        {
                            idusuario       = rvm.IdUsuario,
                            idpais          = rvm.idpais,
                            idoperadora     = rvm.idoperadora,
                            idpaquete       = rvm.idpaquete,
                            idformapago     = rvm.idFormaPago,
                            idtarjeta       = (rvm.idFormaPago == 2) ? rvm.IdTarjeta : -1,
                            numerorecarga   = rvm.NumeroRecarga,
                            contactorecarga = rvm.ContactoRecarga,
                            diasmes         = dias,
                        };
                        rr = await ws.AltaRecargaProgAsync(rp);

                        if (rr.Body.AltaRecargaProgResult > 0)
                        {
                            spnJS.Text = "<script>programada('Su recarga quedo programada');</script>";
                        }
                    }
                    catch (Exception ex)
                    {
                        spnJS.Text = "<script>msgError('Ocurrio un error');</script>";
                    }
                }
                else
                {
                    spnJS.Text = "<script>msgError('Seleccione al menos un dia');</script>";
                }
            };
            if (!IsPostBack)
            {
                catPais      pa   = new catPais();
                catOperadora op   = new catOperadora();
                catPaquete   cp   = new catPaquete();
                Tarjeta      tar  = new Tarjeta();
                catEmisorTC  em   = new catEmisorTC();
                string       tipo = "";
                rvm = Session["rvm"] as RecargasViewModel;
                tvm = Session["tvm"] as TarjetasViewModel;
                if (rvm == null)
                {
                    Response.Redirect("datosrecarga.aspx");
                }
                else
                {
                    jsonOp = ws.GetCatalogo(1, "");
                    List <catOperadora> lsoper = JsonConvert.DeserializeObject <List <catOperadora> >(jsonOp);
                    op = lsoper.Where(x => x.idpais == rvm.idpais && x.idoperadora == rvm.idoperadora).FirstOrDefault();
                    Session["catOperadora"] = op;
                    jsonPa = ws.GetCatalogo(2, "");
                    List <catPais> lspais = JsonConvert.DeserializeObject <List <catPais> >(jsonPa);
                    pa     = lspais.Where(x => x.idpais == rvm.idpais).FirstOrDefault();
                    jsonPq = ws.GetCatalogo(3, "");
                    List <catPaquete> lspq = JsonConvert.DeserializeObject <List <catPaquete> >(jsonPq);
                    cp = lspq.Where(x => x.idpaquete == rvm.idpaquete).FirstOrDefault();
                    Session["catPaquete"] = cp;

                    if (rvm.idFormaPago == 2)
                    { //tarjeta
                        if (rvm.TipoTrans == TipoTransaccion.PrimeraVez)
                        {
                            jsonEmi = ws.GetCatalogo(4, "");
                            List <catEmisorTC> lsemi = JsonConvert.DeserializeObject <List <catEmisorTC> >(jsonEmi);
                            em   = lsemi.Where(x => x.idemisor == tvm.idemisor).FirstOrDefault();
                            tipo = (em != null ? em.emisor + " " : "") + tvm.NumeroTarjeta.Substring(tvm.NumeroTarjeta.Length - 4, 4);
                        }
                        if (rvm.TipoTrans == TipoTransaccion.SegundaVez)
                        {
                            jsonTar = ws.GetCatalogo(9, "where idusuario = " + Session["idusrlogged"].ToString());
                            List <Tarjeta> lstar = JsonConvert.DeserializeObject <List <Tarjeta> >(jsonTar);
                            tar     = lstar.Where(x => x.idtarjeta == rvm.IdTarjeta).FirstOrDefault();
                            jsonEmi = ws.GetCatalogo(4, "");
                            List <catEmisorTC> lsemi = JsonConvert.DeserializeObject <List <catEmisorTC> >(jsonEmi);
                            em   = lsemi.Where(x => x.idemisor == tar.idemisor).FirstOrDefault();
                            tipo = (em != null ? em.emisor + " " : "") + tar.last4;
                        }
                    }
                    string formatted = new StringBuilder(12).Append(rvm.NumeroRecarga, 0, 2).Append(" ").Append(rvm.NumeroRecarga, 2, 4).Append(' ').Append(rvm.NumeroRecarga, 6, 4).ToString();
                    lblPais.Text      = pa.pais;
                    lblNumero.Text    = formatted;
                    lblOperadora.Text = op.operadora;
                    lblMonto.Text     = cp.monto.ToString("c");
                    lblFormaPago.Text = (rvm.idFormaPago == 1 ? "Monedero" : "Tarjeta");
                    if (rvm.idFormaPago == 2)
                    {
                        lblEmisor.Text = tipo;
                    }
                    if (rvm.idFormaPago == 1)
                    {
                        lblTarjTxt.Text = "";
                    }
                }
            }
            else
            {
                if (Request.Form["__EVENTTARGET"] == "programaexito")
                {
                    Session["rvm"] = null;
                    Session["tvm"] = null;
                    Response.Redirect("datosrecarga.aspx");
                }
            }
        }
Ejemplo n.º 24
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Request.Form.Count > 0)
                {
                    datosredes            = JsonConvert.DeserializeObject <DatosRedes>(Request.Form[0]);
                    Session["datosredes"] = datosredes;
                    ws = Session["wsac"] as wsac.IsacClient;
                    if (datosredes.email != null && !datosredes.email.Equals(""))
                    {
                        string         json = ws.GetUser(0, check.SafeSqlLiteral(datosredes.email), "");
                        List <Usuario> lu   = JsonConvert.DeserializeObject <List <Usuario> >(json);
                        if (lu.Count > 0)
                        {
                            if (lu.FirstOrDefault().idusuario == -1)
                            {
                                spnJS.Text = "<script>msgError('El usuario se encuentra bloqueado. Revise el correo con el que se registro'); </script>";
                            }
                            else
                            {
                                Session["idusrlogged"] = lu.FirstOrDefault().idusuario;
                                Session["usrlogged"]   = lu.FirstOrDefault();

                                if (Session["RecargaPendiente"] != null)
                                {
                                    if (bool.Parse(Session["RecargaPendiente"].ToString()))
                                    {
                                        RecargasViewModel rvm = Session["rvm"] as RecargasViewModel;
                                        rvm.IdUsuario = lu.FirstOrDefault().idusuario;
                                        TarjetasViewModel tvm = Session["tvm"] as TarjetasViewModel;
                                        tvm.Idusuario = lu.FirstOrDefault().idusuario;
                                        Response.Redirect("confir_recarga.aspx");
                                    }
                                    else
                                    {
                                        Response.Redirect("datosrecarga.aspx");
                                    }
                                }
                                else
                                {
                                    Response.Redirect("datosrecarga.aspx");
                                }
                            }
                        }
                        else
                        {
                            txtNombre.Value  = datosredes.name;
                            txtEmail.Value   = datosredes.email;
                            imgFoto.ImageUrl = datosredes.picture.data.url;
                        }
                    }
                    else
                    {
                        spnJS.Text = "<script>msgError('Error al logearse con redes sociales'); </script>";
                    }
                }
            }
            btnRegistrar.Click += async(s, ea) =>
            {
                string nip1 = "", nip2 = "", email = "", nombre = "", numero = "";
                nip1   = check.SafeSqlLiteral(txtNip1.Value.Trim());
                nip2   = check.SafeSqlLiteral(txtNip2.Value.Trim());
                email  = check.SafeSqlLiteral(txtEmail.Value.Trim());
                nombre = check.SafeSqlLiteral(txtNombre.Value.Trim());
                numero = check.SafeSqlLiteral(txtNumero.Value.Trim());
                //verificador de correo
                Random r     = new Random();
                int    verif = r.Next(100000, 999999);

                if (nip1 != nip2)
                {
                    spnJS.Text = "<script>msgError('Los 2 nips deben ser iguales');</script>";
                    return;
                }
                else
                {
                    if (!check.ValidaNip(nip1))
                    {
                        spnJS.Text = "<script>msgError('Revise el NIP. (No se permiten consecutivos ni que todos los digitos sean iguales)');</script>";
                        return;
                    }
                    else
                    {
                        spnJS.Text = "";
                    }
                }
                ws = Session["wsac"] as wsac.IsacClient;
                string         json = ws.GetUser(0, check.SafeSqlLiteral(email), "");
                List <Usuario> lu   = JsonConvert.DeserializeObject <List <Usuario> >(json);
                if (lu.Count > 0)
                {
                    spnJS.Text = "<script>msgError('Ya existe un usuario con este email. Inicie sesion con su NIP');</script>";
                    return;
                }
                else
                {
                    spnJS.Text = "";
                    wsac.Usuario u = new wsac.Usuario()
                    {
                        numerocontacto = numero,
                        email          = email,
                        name           = nombre,
                        nip            = nip1,
                        fechaalta      = DateTime.Now,
                        verificacion   = nip1 + verif,
                        idpais         = int.Parse(Session["idpais"].ToString())
                    };
                    if (Session["datosredes"] != null)
                    {
                        datosredes = Session["datosredes"] as DatosRedes;
                    }
                    if (datosredes != null)
                    {
                        u.first_name = check.SafeSqlLiteral(!String.IsNullOrEmpty(datosredes.first_name) ? datosredes.first_name : "");
                        u.last_name  = check.SafeSqlLiteral(!String.IsNullOrEmpty(datosredes.last_name) ? datosredes.last_name : "");
                        u.gender     = check.SafeSqlLiteral(!String.IsNullOrEmpty(datosredes.gender) ? datosredes.gender : "");
                        u.picture    = check.SafeSqlLiteral(!String.IsNullOrEmpty(datosredes.picture.data.url) ? datosredes.picture.data.url : "");
                    }
                    wsac.AltaUsrResponse res = await ws.AltaUsrAsync(u, 0);

                    if (res.Body.AltaUsrResult > 0)
                    {
                        Session["idusrlogged"] = res.Body.AltaUsrResult;
                        Session["datosredes"]  = null;
                        if (Session["RecargaPendiente"] != null)
                        {
                            if (bool.Parse(Session["RecargaPendiente"].ToString()))
                            {
                                RecargasViewModel rvm = Session["rvm"] as RecargasViewModel;
                                rvm.IdUsuario = res.Body.AltaUsrResult;
                                TarjetasViewModel tvm = Session["tvm"] as TarjetasViewModel;
                                tvm.Idusuario = res.Body.AltaUsrResult;
                                Response.Redirect("confir_recarga.aspx");
                                //  spnJS.Text = "<script>alert('Revise su mail de confirmación');</script>";
                                //  enviaMail(u.email,u.verificacion);
                                //   Session["bienvenido"] = true;
                                // Response.Redirect("datosrecarga.aspx");
                            }
                            else
                            {
                                //spnJS.Text = "<script>alert('Revise su mail de confirmación');</script>";
                                Session["bienvenido"] = true;
                                Response.Redirect("datosrecarga.aspx");
                            }
                        }
                        else
                        {
                            //spnJS.Text = "<script>alert('Revise su mail de confirmación');</script>";
                            Session["bienvenido"] = true;
                            Response.Redirect("datosrecarga.aspx");
                        }
                    }
                    else
                    {
                        spnJS.Text = "<script>msgError('Ocurrio un error. Contacte al administrador');</script>";
                        return;
                    }
                };
            };
        }
Ejemplo n.º 25
0
        private async Task Recargar()  //btnRecargar.Click += async (s, ea) =>
        {
            rvm = Session["rvm"] as RecargasViewModel;
            tvm = Session["tvm"] as TarjetasViewModel;
            if (rvm.idFormaPago == 1) //monedero
            {
                r = new wsac.Recarga()
                {
                    idusuario       = rvm.IdUsuario,
                    idpais          = rvm.idpais,
                    idoperadora     = rvm.idoperadora,
                    idpaquete       = rvm.idpaquete,
                    idformapago     = rvm.idFormaPago,
                    idtarjeta       = (rvm.idFormaPago == 2) ? rvm.IdTarjeta : -1,
                    numerorecarga   = rvm.NumeroRecarga,
                    contactorecarga = rvm.ContactoRecarga,
                    fecha           = DateTime.Now,
                    TransactionID   = Guid.NewGuid().ToString(),
                    err             = -1, // -1 es una recarga recien creada q aun no ha sido procesada (pagada)
                    os = Request.UserAgent,
                    ip = Request.UserHostAddress,
                };
                wsac.AltaRecargaViaWalletResponse vwr = new wsac.AltaRecargaViaWalletResponse();
                try
                {
                    ws  = Session["wsac"] as wsac.IsacClient;
                    vwr = await ws.AltaRecargaViaWalletAsync(r);

                    errRecarga err = JsonConvert.DeserializeObject <errRecarga>(vwr.Body.AltaRecargaViaWalletResult);
                    if (err.err > 0)
                    {
                        jsonErr = ws.GetCatalogo(6, "");
                        List <catErrores> lserr = JsonConvert.DeserializeObject <List <catErrores> >(jsonErr);
                        string            msg   = "";
                        switch (err.err)
                        {
                        case 1:     //RecargaSell
                            msg = lserr.Where(x => x.iderror == err.errRs).FirstOrDefault().error;
                            break;

                        case 2:     //Vesta
                            msg = lserr.Where(x => x.iderror == err.errVs).FirstOrDefault().error;
                            break;

                        case 3:     //Comunicaciones
                            msg = lserr.Where(x => x.iderror == 9).FirstOrDefault().error;
                            break;
                        }
                        if (!String.IsNullOrEmpty(err.tresp.rcode_description))
                        {
                            msg += "\\n" + err.tresp.rcode_description;
                        }
                        spnJS.Text = "<script>msgError('Ocurrio un error: " + msg + "');</script>";
                    }
                    else
                    {
                        string ticket = "";
                        ticket    += "TRANSACCIÓN " + err.tresp.transaction_id + "<br />";
                        ticket    += "FECHA " + DateTime.Now.ToString("dd/MMM/yyyy") + "<br />";
                        ticket    += "TRANSACCIÓN EXITOSA DE: " + (Session["catOperadora"] as catOperadora).operadora + "<br />";
                        ticket    += "<b>MONTO: " + (Session["catPaquete"] as catPaquete).monto.ToString("c") + "</b><br />";
                        ticket    += "celular: " + rvm.NumeroRecarga + "<br />";
                        ticket    += "AUTORIZACIÓN: " + err.tresp.op_authorization + "<br />";
                        ticket    += err.tresp.printDatam_data;
                        spnJS.Text = "<script>ticket('" + ticket + "');</script>";
                    }
                    //spnJS.Text = "<script>ticket('prueba');</script>";
                }
                catch (Exception ex)
                {
                    //Aqui modifico Pablo y se regreso como estaba, aqui no esta el detalle
                    spnJS.Text = "<script>msgError('Ocurrio un error');</script>";
                }
            }
            //------------------------------------------------------------------------------
            if (rvm.idFormaPago == 2) //tarjeta
            {
                if (rvm.TipoTrans == TipoTransaccion.PrimeraVez)
                {
                    wsac.Tarjeta t = new wsac.Tarjeta()
                    {
                        idusuario      = tvm.Idusuario,
                        idpais         = tvm.idpais,
                        idemisor       = tvm.idemisor,
                        permtoken      = tvm.NumeroTarjeta,
                        Last4          = tvm.Last4,
                        titularFN      = tvm.TitularFN,
                        titularLN      = tvm.TitularLN,
                        calleynumero   = tvm.CalleyNum,
                        idestado       = tvm.IdEstado,
                        idciudad       = tvm.IdCiudad,
                        codigopostal   = tvm.CP,
                        expirationMMYY = tvm.ExpiraMM + tvm.ExpiraYY,
                    };
                    r = new wsac.Recarga()
                    {
                        idusuario       = rvm.IdUsuario,
                        idpais          = rvm.idpais,
                        idoperadora     = rvm.idoperadora,
                        idpaquete       = rvm.idpaquete,
                        idformapago     = rvm.idFormaPago,
                        idtarjeta       = (rvm.idFormaPago == 2) ? rvm.IdTarjeta : -1,
                        numerorecarga   = rvm.NumeroRecarga,
                        contactorecarga = rvm.ContactoRecarga,
                        fecha           = DateTime.Now,
                        TransactionID   = Guid.NewGuid().ToString(),
                        err             = -1, // -1 es una recarga recien creada q aun no ha sido procesada (pagada)
                        os = Request.UserAgent,
                        ip = Request.UserHostAddress,
                    };
                    try
                    {
                        ws          = Session["wsac"] as wsac.IsacClient;
                        r.idrecarga = ws.AltaRecarga(r);
                        t.permtoken = rvm.OpenPayTokenId;
                        t.Last4     = (!String.IsNullOrEmpty(tvm.NumeroTarjeta) ? tvm.NumeroTarjeta.Substring(tvm.NumeroTarjeta.Length - 4, 4) : "");
                        var response3d = await ws.Carga3DSecureAsync(r, null, rvm.OpenPayDeviceId, t, 1);

                        var redirect = JsonConvert.DeserializeObject <Response3dSecure>(response3d.Body.Carga3DSecureResult);
                        if (!redirect.err)
                        {
                            Session["TarjetaParaRecargar"] = t;
                            Session["RecargaParaRecargar"] = r;
                            Response.Redirect(redirect.desc, false);
                            return;
                        }
                        else
                        {
                            string strerrcard = "";
                            int    errcard    = 0;
                            int.TryParse(redirect.desc, out errcard);
                            switch (errcard)
                            {
                            case 3001:
                                strerrcard = "La tarjeta fue declinada."; break;

                            case 3002:
                                strerrcard = "La tarjeta ha expirado."; break;

                            case 3003:
                                strerrcard = "La tarjeta no tiene fondos suficientes."; break;

                            case 3004:
                                strerrcard = "La tarjeta ha sido identificada como una tarjeta robada."; break;

                            case 3005:
                                strerrcard = "La tarjeta ha sido rechazada por el sistema antifraudes."; break;

                            case 3006:
                                strerrcard = "La operación no esta permitida para este cliente o esta transacción."; break;

                            case 3007:
                                strerrcard = "Deprecado. La tarjeta fue declinada."; break;

                            case 3008:
                                strerrcard = "La tarjeta no es soportada en transacciones en línea."; break;

                            case 3009:
                                strerrcard = "La tarjeta fue reportada como perdida."; break;

                            case 3010:
                                strerrcard = "El banco ha restringido la tarjeta."; break;

                            case 3011:
                                strerrcard = "El banco ha solicitado que la tarjeta sea retenida. Contacte al banco."; break;

                            case 3012:
                                strerrcard = "Se requiere solicitar al banco autorización para realizar este pago."; break;
                            }
                            spnJS.Text = "<script>msgError('Ocurrio un error: " + strerrcard + "');</script>";
                        }
                    }
                    //Este es el exception que salta
                    catch (Exception ex)
                    {
                        spnJS.Text = "<script>msgError('Ocurrio un error: " + r.err.ToString() + "');</script>";
                    }
                }
                //-----------------------------------------------------------------------------------
                if (rvm.TipoTrans == TipoTransaccion.SegundaVez)
                {
                    wsac.Tarjeta t = new wsac.Tarjeta()
                    {
                        idtarjeta = rvm.IdTarjeta
                    };
                    r = new wsac.Recarga()
                    {
                        idusuario       = rvm.IdUsuario,
                        idpais          = rvm.idpais,
                        idoperadora     = rvm.idoperadora,
                        idpaquete       = rvm.idpaquete,
                        idformapago     = rvm.idFormaPago,
                        idtarjeta       = (rvm.idFormaPago == 2) ? rvm.IdTarjeta : -1,
                        numerorecarga   = rvm.NumeroRecarga,
                        contactorecarga = rvm.ContactoRecarga,
                        fecha           = DateTime.Now,
                        TransactionID   = Guid.NewGuid().ToString(),
                        err             = -1, // -1 es una recarga recien creada q aun no ha sido procesada (pagada)
                        os = Request.UserAgent,
                        ip = Request.UserHostAddress,
                    };
                    try
                    {
                        ws          = Session["wsac"] as wsac.IsacClient;
                        r.idrecarga = ws.AltaRecarga(r);
                        var response3d = await ws.Carga3DSecureAsync(r, null, rvm.OpenPayDeviceId, t, 2);

                        var redirect = JsonConvert.DeserializeObject <Response3dSecure>(response3d.Body.Carga3DSecureResult);
                        if (!redirect.err)
                        {
                            Session["TarjetaParaRecargar"] = t;
                            Session["RecargaParaRecargar"] = r;
                            Response.Redirect(redirect.desc, false);
                            return;
                        }
                        else
                        {
                            string strerrcard = "";
                            int    errcard    = 0;
                            int.TryParse(redirect.desc, out errcard);
                            switch (errcard)
                            {
                            case 3001:
                                strerrcard = "La tarjeta fue declinada."; break;

                            case 3002:
                                strerrcard = "La tarjeta ha expirado."; break;

                            case 3003:
                                strerrcard = "La tarjeta no tiene fondos suficientes."; break;

                            case 3004:
                                strerrcard = "La tarjeta ha sido identificada como una tarjeta robada."; break;

                            case 3005:
                                strerrcard = "La tarjeta ha sido rechazada por el sistema antifraudes."; break;

                            case 3006:
                                strerrcard = "La operación no esta permitida para este cliente o esta transacción."; break;

                            case 3007:
                                strerrcard = "Deprecado. La tarjeta fue declinada."; break;

                            case 3008:
                                strerrcard = "La tarjeta no es soportada en transacciones en línea."; break;

                            case 3009:
                                strerrcard = "La tarjeta fue reportada como perdida."; break;

                            case 3010:
                                strerrcard = "El banco ha restringido la tarjeta."; break;

                            case 3011:
                                strerrcard = "El banco ha solicitado que la tarjeta sea retenida. Contacte al banco."; break;

                            case 3012:
                                strerrcard = "Se requiere solicitar al banco autorización para realizar este pago."; break;
                            }
                            spnJS.Text = "<script>msgError('Ocurrio un error: " + strerrcard + "');</script>";
                        }
                    }
                    catch (Exception ex)
                    {
                        spnJS.Text = "<script>msgError('Ocurrio un error: " + r.err.ToString() + "');</script>";
                    }
                } // if segundavez
            }     // if formapago = 2
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            //--------------------------------------------------------------------------------------------------
            int idusr = 0;

            if (!IsPostBack)
            {
                CargaCombos(false);
            }

            txtNum4.TextChanged += (s, ea) =>
            {
                string num = "";
                if (!String.IsNullOrEmpty(txtNum1.Text) && !String.IsNullOrEmpty(txtNum2.Text) && !String.IsNullOrEmpty(txtNum3.Text) && !String.IsNullOrEmpty(txtNum4.Text))
                {
                    num = txtNum1.Text.Trim() + txtNum2.Text.Trim() + txtNum3.Text.Trim() + txtNum4.Text.Trim();
                    if (Session["tvm"] != null)
                    {
                        tvm = Session["tvm"] as TarjetasViewModel;
                    }
                    else
                    {
                        tvm = new TarjetasViewModel();
                    }

                    ccv = new CreditCardDetector(num);
                    if (ccv.IsValid())
                    {
                        tvm.idemisor      = SetEmisor(ccv.Brand);
                        tvm.NumeroTarjeta = num;
                        emisor.Value      = tvm.idemisor.ToString();
                    }
                    else
                    {
                        tvm.idemisor      = SetEmisor(ccv.Brand);
                        tvm.NumeroTarjeta = "";
                        emisor.Value      = tvm.idemisor.ToString();
                    }
                    Session["tvm"] = tvm;

                    ws         = Session["wsac"] as wsac.IsacClient;
                    jsonPa     = ws.GetCatalogo(2, "");                   //pais
                    jsonEmi    = ws.GetCatalogo(4, "");                   //emisor
                    jsonEdo    = ws.GetCatalogo(7, "");                   //estados
                    jsonCd     = ws.GetCatalogo(8, "order by municipio"); //ciudades
                    spnJS.Text = "<script>CargaCombos(); SetEmisor('" + tvm.idemisor.ToString() + "');</script>";
                }
            };

            /*btnCancelar.Click += (s, ea) =>
             * {
             *  Session["rvm"] = null;
             *  Session["tvm"] = null;
             *  Response.Redirect("index.aspx");
             * };*/
            btnGuardar.Click += (s, ea) =>
            {
                if (Session["tvm"] != null)
                {
                    tvm = Session["tvm"] as TarjetasViewModel;
                }
                else
                {
                    tvm = new TarjetasViewModel();
                }
                tvm.Idusuario  = 0; //int.Parse(Session["idusrlogged"].ToString());
                tvm.idpais     = int.Parse(hidPais.Value);
                tvm.ExpiraMM   = mes.Value;
                tvm.ExpiraYY   = anio.Value;
                tvm.Cvc        = cvc.Value;
                tvm.TitularFN  = nombre.Value;
                tvm.TitularLN  = apellidos.Value;
                tvm.CalleyNum  = domicilio.Value;
                tvm.IdEstado   = int.Parse(hidEstado.Value);
                tvm.IdCiudad   = int.Parse(hidCiudad.Value);
                tvm.CP         = codpostal.Value;
                Session["tvm"] = tvm;

                if (tvm.EsIncompleta())
                {
                    CargaCombos(true);
                }
                else
                {
                    if (tvm.ExpiraMM.Length < 2 || tvm.ExpiraYY.Length < 2)
                    {
                        CargaCombos(true);
                    }
                    else
                    {
                        RecargasViewModel rvm = Session["rvm"] as RecargasViewModel;
                        rvm.TipoTrans   = TipoTransaccion.PrimeraVez;
                        rvm.idFormaPago = 2; //tarjeta
                        Session["rvm"]  = rvm;
                        Response.Redirect("registro.aspx");
                    }
                }
            };
        }
Ejemplo n.º 27
0
        public RegPago(RecargasViewModel _r = null)
        {
            try
            {
                InitializeComponent();
                App.db.IniciaMonedero();

                montomax = App.WSc.GetMontoMax();

                Title               = "Medios de pago";
                rvm                 = _r;
                tvm                 = new TarjetasViewModel();
                tvm.idpais          = rvm.idpais;
                this.BindingContext = tvm;
                NavigationPage.SetBackButtonTitle(this, "");
                ToolbarItems.Add(new ToolbarItem("Ayuda", "ayuda2.png", () =>
                {
                    var page = new InfoAyuda("mediosdepago.html");
                    Navigation.PushPopupAsync(page);
                }));

                grptipos  = new ObservableCollection <Grupo>();
                gMonedero = new Grupo("Tu monedero", 1, tvm.lm);
                gTarjetas = new Grupo("Tus tarjetas", 2, tvm.lt);
                if (rvm.Tiporecarga == TipoRecarga.RecargaTA)
                {
                    slMonedero.IsVisible = false;
                    grptipos.Add(gMonedero);
                }
                if (rvm.Tiporecarga == TipoRecarga.Monedero)
                {
                    slMonedero.IsVisible = true;
                    lblSaldo.Text        = "Saldo: " + tvm.lm[0].saldo.ToString("c", new System.Globalization.CultureInfo("es-MX"));
                }
                grptipos.Add(gTarjetas);

                lvRegPagos.ItemSelected += async(sender, e) =>
                {
                    if (e.SelectedItem == null)
                    {
                        return;
                    }
                    if (rvm.EdicionOnly) //no se recarga, son programadas solo se modifica
                    {
                        TipoPago tp = (e.SelectedItem as TipoPago);
                        rvm.idFormaPago = tp.idtipo;
                        rvm.TipoTrans   = TipoTransaccion.SegundaVez;
                        if (tp.idtipo == 1) //monedero
                        {
                            rvm.IdTarjeta = -1;
                        }
                        else
                        {
                            rvm.IdTarjeta = tp.extra;
                        }
                        await App.Nav.PushAsync(new Programar(rvm));
                    }
                    else
                    {
                        if (!rvm.ReadOnly)//mis tarjetas
                        {
                            if (rvm.Tiporecarga == TipoRecarga.Monedero)
                            {
                                if (phvalNum.IsValid && phvalNum.Valor > 0M)
                                {
                                    if (phvalNum.Valor > montomax)
                                    {
                                        await DisplayAlert("Error", "Solamente le es permitido agregar " + montomax.ToString("c", new System.Globalization.CultureInfo("es-MX")) + " por cada evento", "OK");

                                        ((ListView)sender).SelectedItem = null;
                                        return;
                                    }
                                    else
                                    {
                                        rvm.MontoRecargaMonedero = phvalNum.Valor;
                                    }
                                }
                                else
                                {
                                    await DisplayAlert("Error", "Para seleccionar una tarjeta tiene que capturar el monto a comprar", "OK");

                                    ((ListView)sender).SelectedItem = null;
                                    return;
                                    //((ListView)sender).SelectedItem = null;
                                }
                            }
                            TipoPago tp = (e.SelectedItem as TipoPago);
                            rvm.idFormaPago = tp.idtipo;
                            rvm.TipoTrans   = TipoTransaccion.SegundaVez;
                            if (tp.idtipo == 1)                             //monedero
                            {
                                if (rvm.LsPaquetes(rvm.idoperadora).Where(x => x.idpaquete == rvm.idpaquete).FirstOrDefault().monto > App.db.SelSaldo().saldo)
                                {
                                    await DisplayAlert("Error", "No tiene suficiente saldo", "Ok");

                                    ((ListView)sender).SelectedItem = null;
                                    return;
                                }
                                else
                                {
                                    rvm.IdTarjeta = -1;
                                }
                            }
                            else
                            {
                                rvm.IdTarjeta = tp.extra;
                            }
                            Procesar pro = App.Nav.NavigationStack.OfType <Procesar>().FirstOrDefault();
                            if (pro == null)
                            {
                                await App.Nav.PushAsync(new Procesar(rvm, tvm, TipoTransaccion.SegundaVez), Constantes.animated);
                            }
                            else
                            {
                                pro.Refresh(rvm, tvm, TipoTransaccion.SegundaVez);
                                await App.Nav.PopAsync(Constantes.animated);
                            }
                        }
                    }
                    ((ListView)sender).SelectedItem = null;
                };

                tvm.NuevaTarjeta += (s, e) =>
                {
                    if (rvm.Tiporecarga == TipoRecarga.Monedero)
                    {
                        gTarjetas   = grptipos[0];
                        gTarjetas   = new Grupo("Tus tarjetas", 2, e.lista);
                        grptipos[0] = gTarjetas;
                    }
                    if (rvm.Tiporecarga == TipoRecarga.RecargaTA)
                    {
                        gTarjetas   = grptipos[1];
                        gTarjetas   = new Grupo("Tus tarjetas", 2, e.lista);
                        grptipos[1] = gTarjetas;
                    }
                    lvRegPagos.BeginRefresh();
                    lvRegPagos.ItemsSource = null;
                    lvRegPagos.ItemsSource = grptipos;
                    lvRegPagos.EndRefresh();
                    if (rvm.Tiporecarga == TipoRecarga.RecargaTA)
                    {
                        if ((grptipos[0].FirstOrDefault().saldo == 0M) && (grptipos[1].Count() == 0))
                        {
                            slMonedero.IsVisible  = false;
                            lvRegPagos.IsVisible  = false;
                            svMsgNoTarj.IsVisible = true;
                        }
                        else
                        {
                            slMonedero.IsVisible  = false;
                            lvRegPagos.IsVisible  = true;
                            svMsgNoTarj.IsVisible = false;
                        }
                    }
                    if (rvm.Tiporecarga == TipoRecarga.Monedero)
                    {
                        //if (grptipos[0].Count() == 0)
                        //{
                        //	slMonedero.IsVisible = false;
                        //	lvRegPagos.IsVisible = false;
                        //	svMsgNoTarj.IsVisible = true;
                        //}
                        //else
                        //{
                        slMonedero.IsVisible  = true;
                        lvRegPagos.IsVisible  = true;
                        svMsgNoTarj.IsVisible = false;
                        //}
                    }
                };

                btnNuevo.Clicked += async(sender, ea) =>
                {
                    if (rvm.Tiporecarga == TipoRecarga.Monedero)
                    {
                        if (phvalNum.IsValid && phvalNum.Valor > 0M)
                        {
                            if (phvalNum.Valor > montomax)
                            {
                                await DisplayAlert("Error", "Solamente le es permitido agregar " + montomax.ToString("c", new System.Globalization.CultureInfo("es-MX")) + " por cada evento", "OK");
                            }
                            else
                            {
                                rvm.MontoRecargaMonedero = phvalNum.Valor;
                                await App.Nav.PushAsync(new NuevaTarjeta(TipoAnadidor.RegistroPago, tvm, rvm), Constantes.animated);
                            }
                        }
                        else
                        {
                            await DisplayAlert("Error", "Para agregar una nueva tarjeta tiene que capturar el monto a comprar", "OK");
                        }
                    }
                    if (rvm.Tiporecarga == TipoRecarga.RecargaTA)
                    {
                        await App.Nav.PushAsync(new NuevaTarjeta(TipoAnadidor.RegistroPago, tvm, rvm), Constantes.animated);
                    }
                };

                if (rvm.Tiporecarga == TipoRecarga.RecargaTA)
                {
                    if ((grptipos[0].FirstOrDefault().saldo == 0M) && (grptipos[1].Count() == 0))
                    {
                        slMonedero.IsVisible  = false;
                        lvRegPagos.IsVisible  = false;
                        svMsgNoTarj.IsVisible = true;
                    }
                    else
                    {
                        slMonedero.IsVisible  = false;
                        lvRegPagos.IsVisible  = true;
                        svMsgNoTarj.IsVisible = false;
                    }
                }
                if (rvm.Tiporecarga == TipoRecarga.Monedero)
                {
                    //if (grptipos[0].Count() == 0)
                    //{
                    //    slMonedero.IsVisible = false;
                    //    lvRegPagos.IsVisible = false;
                    //    svMsgNoTarj.IsVisible = true;
                    //}
                    //else
                    //{
                    slMonedero.IsVisible  = true;
                    lvRegPagos.IsVisible  = true;
                    svMsgNoTarj.IsVisible = false;
                    //}
                }
            }
            catch (Exception e)
            {
            }
        }