public void Refresh(RecargasViewModel _r, TarjetasViewModel _t, TipoTransaccion tt) { rvm = _r; tvm = _t; tipotran = tt; CargaLabels(); }
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); }
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); }
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); } }
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); }
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); }
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); }
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); }
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"); }; }
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"); } } } }; }
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; } }; }; }
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) { } }
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"); }; }
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(); } }; }
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>"; } }; }
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 }
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 = ""; } } }; }
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) { } }
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> "; 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); } }
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"); } } } }
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>"; } }; }
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"); } } }
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; } }; }; }
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"); } } }; }
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) { } }