protected void Page_Load(object sender, EventArgs e) { MyConstants mc = new MyConstants(); try { string token = ""; int numberQuotes = 0; token = Request["token"].ToString(); numberQuotes = int.Parse(Request["numcuotes"].ToString()); //pagar con wallet BrWallet brWallet = new BrWallet(); var amountWalletc = decimal.Parse(brWallet.GetAmount(User.Identity.Name.Split('¬')[1])); var amountTotal = 0m; if (Session["MontoWallet"] != null) { amountTotal = decimal.Parse(Session["MontoWallet"].ToString()); } var amountRestan = amountTotal - amountWalletc; //if (amountWalletc < quota) //{ // MessageError.Text = "No tiene el monto suficiente para realizar Pago."; // return; //} var methods2 = "CULQI"; var recibe = string.Empty; BrPayments brPayments = new BrPayments(); BrUser brUser = new BrUser(); string dataKitMember = Session["cronograma"].ToString(); string date = dataKitMember.Split('$')[1]; var cart = Session["carrito"].ToString(); var arrayCart = cart.Split('|'); var codeMemb = arrayCart[6]; string[] datos = Session["datos"].ToString().Split('$'); var dataBdd = Session["datos"].ToString(); if (Session["datos"] == null) { Response.Write("false¬Ha Ocurrido Un Error, no hay datos."); return; } string[] arraycontacto = datos[3].Split('|'); string[] arrayperson = datos[0].Split('|'); string dni = arrayperson[5]; var newUserName = User.Identity.Name.Split('¬')[1]; var emailNewUser = arraycontacto[0].Trim(); var codeCurrencyPay = Session["TypeCurrency"].ToString(); string[] array1 = Session["cronogramaYa"].ToString().Split('^'); string[] datosMem = array1[0].Split('|'); string[] array2 = array1[1].Split('~'); string[] cuotas = array2[0].Split('¬'); string cronoActiv = ""; var quotesPendiente = (cuotas.Length - 2).ToString(); for (int i = 0; i < cuotas.Length - 1; i++) { var fila = cuotas[i].Split('|'); if (fila[0].Substring(0, 7) != "Inicial") { cronoActiv += DateTime.Parse(fila[1]).ToString("yyyy-MM-dd"); //amountFinanciade = double.Parse(fila[2].Replace("S/.", "")); break; } else { cronoActiv += DateTime.Parse(fila[1]).ToString("yyyy-MM-dd") + "¬"; } } var respDataper = brPayments.PersonGetData(newUserName); string respData = string.Empty; respData = respData + '^' + dataKitMember; // isRegister = brPayments.GetCalculatePaymentSchedule(respData, newUserName); //string data2 = Session["financedAmount"].ToString(); string data2 = "0"; //string codeCurrency = Session["TypeCurrency"].ToString(); var currencyCode = Session[""].ToString(); PayCulqi payCulqi = new PayCulqi(); string[] culqiAnwser = payCulqi.newPayment(newUserName, emailNewUser, double.Parse(amountRestan.ToString()), token, numberQuotes, codeCurrencyPay).Split('¬'); if (culqiAnwser[0] == "false") { Response.Write("false¬" + culqiAnwser[1]); return; } Int32 ansNmembershi = brUser.RegisterNmembership(codeMemb + '|' + newUserName, data2, 1, codeCurrencyPay); BrTypeMembership brTypeMemb = new BrTypeMembership(); string typeChange = arrayCart[4]; //var isRegister = brPayments.GetCalculatePaymentSchedule(respData, newUserName, ansNmembershi, typeChange, 1); bool isRegister = false; if (Session["codeUpgrate"] != null) { //si es upgrate isRegister = brPayments.GetCalculatePaymentScheduleUpgrate(respData, newUserName, ansNmembershi, typeChange, 1); if (!isRegister) { Response.Write("false¬Ha Ocurrido Un Error al Intentar Registrar el Cronograma de Pagos del Usuario"); return; } if (Session["dateup"] != null) { string dateup = Session["dateup"].ToString(); bool an = brPayments.PutDateUpgrate(ansNmembershi, dateup); } //registramos si upgrate para } else { //si no es upgrate isRegister = brPayments.GetCalculatePaymentSchedule(respData, newUserName, ansNmembershi, typeChange, 1); if (!isRegister) { Response.Write("false¬Ha Ocurrido Un Error al Intentar Registrar el Cronograma de Pagos del Usuario"); return; } //cronograma de activacion BrActivation brActivation = new BrActivation(); bool registerActi = brActivation.PutCronograma(cronoActiv, newUserName, ansNmembershi); } if (Session["codeUpgrate"] != null) { //el id de account n membership del upgrate ¬ y el nuevo int codeUpgrate = int.Parse(Session["codeUpgrate"].ToString()); bool upgrate = brTypeMemb.CancelMembershipUpgrate(codeUpgrate, ansNmembershi); if (!upgrate) { Response.Write("false¬Ha Ocurrido Un Error al Intentar Registrar el Cronograma de Pagos del Usuario"); return; } BrActivation brActivation = new BrActivation(); string fechaAnterior = Session["fechaanterior"].ToString(); bool registerActi = brActivation.PutCronogramaUpgrade(fechaAnterior, newUserName, ansNmembershi, codeUpgrate); } //validamos si tiene consumo if (!isRegister) { // "Ha Ocurrido Un Error al Intentar Registrar el Cronograma de Pagos del Usuario"; return; } //BrActivation brActivation = new BrActivation(); //bool registerActi = brActivation.PutCronograma(cronoActiv, newUserName, ansNmembershi); //obtengo el monto a pagar string[] username_idmen_amount_email = brUser.getAmountPay(newUserName).Split('¬'); if (username_idmen_amount_email.Length < 4) { // "false¬Ha Ocurrido Un Error al Intentar Obtener el monto a Pagar"; return; } var idMemberDetails = int.Parse(username_idmen_amount_email[1]); var amountPay = double.Parse(username_idmen_amount_email[2]); emailNewUser = username_idmen_amount_email[3]; codeCurrencyPay = username_idmen_amount_email[4]; date = null; username_idmen_amount_email = null; dataKitMember = null; respData = null; var namePeson = arrayperson[0].Trim() + " " + arrayperson[1].Trim(); var dateCurrent = DateTime.Now.ToString("yyyy-MM-dd").Split('-');; string tranferId = ""; string numReceipt = "0"; string datecomplete = dateCurrent[2] + " de " + GetMonth(dateCurrent[1]) + " del " + dateCurrent[0]; string nAffiliate = ""; string hour = DateTime.Now.ToString("HH:mm:ss"); string detalle = amountRestan.ToString(); MyMessages myMessages = new MyMessages(); namePeson = myMessages.ToCapitalize(namePeson); //cvbc var imgTicket = GetRecibo(tranferId, newUserName, numReceipt, datecomplete, nAffiliate, codeMemb, namePeson, hour, detalle, quotesPendiente, " Inicial 1"); /*=============================================================================================================================*/ //var currencyCode = Session["CurrencyCode"].ToString(); BrMembershipPayDetail brMembership = new BrMembershipPayDetail(); var response = brMembership.GetQuote(idMemberDetails, User.Identity.Name.Split('¬')[1]).Split('|'); if (decimal.Parse(response[0]) == 0) { // "Ocurrio un error."; return; } var amount = decimal.Parse(response[0]).ToString(); if (codeCurrencyPay == "USD") { amount = (decimal.Parse(amount) * decimal.Parse(typeChange)).ToString(); } var idInfo = idMemberDetails.ToString(); //dos es que wallet es una parte del pago de una cuota var typeInfo = "2"; var walleOperationId = "2"; bool IsPay = brMembership.IsPayQuote(idMemberDetails.ToString()); if (!IsPay) { // "Tu Cuota ya esta Pagada.Verifica tu cronograma de pagos."; return; } var amountWallet = decimal.Parse(brWallet.GetAmount(User.Identity.Name.Split('¬')[1])); //if (amountWallet < decimal.Parse(amount)) //{ // MessageError.Text = "No tiene el monto suficiente para realizar Pago."; // return; //} imgTicket += recibe; var moneyStatus = 0; if (amountWallet > 0) { var imgTicketWalle = GetRecibo(idMemberDetails.ToString(), newUserName, numReceipt, datecomplete, nAffiliate, codeMemb, namePeson, hour, amountWalletc.ToString(), quotesPendiente, " Inicial 1"); imgTicket += $"~{imgTicketWalle}"; //amount | @idInfo | @typeInfo | @walletOperationId | @currencyCode | @typeChange | idmembershipDetail | imgTicket string data = $"{amountWalletc}|{idInfo}|{typeInfo}|{walleOperationId}|PEN|{typeChange}|{idMemberDetails.ToString()}|{imgTicket}"; bool answer = brWallet.Put(data, User.Identity.Name.Split('¬')[1], moneyStatus); //Extorno if (!answer) { // = "Ocurrio un error."; return; } } //MessageSucces.Text = "Su Pago de Realizo Con Exito."; /*=============================================================================================================================*/ var amountOthers = amount; //esta en estado pendienete var statusPay = 1; //marcar como pagado en la tabla membershipdetails //TODO: Agregar los detalles del pago bool habiliAccount = brUser.BiPayQuote(idMemberDetails, imgTicket, amountWalletc, amountRestan, "WALLET", methods2, statusPay, decimal.Parse(typeChange)); int nAfiliate = int.Parse(brUser.GetNafiliate(idMemberDetails)); BrTypeMembership brTypeMembership = new BrTypeMembership(); var correlativo = int.Parse(brTypeMembership.GetTotalMemberships(User.Identity.Name.Split('¬')[1])); correlativo--; if (correlativo < 0) { correlativo = 0; } Cronograma2(nAfiliate, codeCurrencyPay, correlativo.ToString()); // enviar el email de confirmacion con la data y lo redirecciona al post register if (!habiliAccount) { Response.Write("false¬Ha Ocurrido un Error al Intentar Habilitar Su Cuenta.Sin embargo su Pago fue Exitoso"); return; } var urlRedirect = "EndPaymendMbs"; if (codeMemb == "EXP" || codeMemb == "LHT" || codeMemb == "STD" || codeMemb == "PLUS" || codeMemb == "TOP" || codeMemb == "VIT") { urlRedirect = "EndPaymendMbs"; } if (codeMemb == "EVOL" || codeMemb == "MVC") { urlRedirect = "EndPaymendMbs"; } if (codeMemb == "SBY") { urlRedirect = "EndPaymentSby"; } Response.Write($"true¬{urlRedirect}.aspx"); } catch (Exception ex) { Email email = new Email(); email.SendEmail(mc.ErrorEmail, "error-inresorts", ex.StackTrace + '¬' + DateTime.Now.ToLongDateString(), false); Response.Write("false¬ocurrio un error"); } }
public void RegisterMembership(string nameImages) { BrPayments brPayments = new BrPayments(); BrUser brUser = new BrUser(); BrTypeMembership brTypeMemb = new BrTypeMembership(); string[] dataLogin = HttpContext.Current.User.Identity.Name.Split('¬'); string userName = dataLogin[0]; if (dataLogin.Length > 1) { userName = dataLogin[1]; } string dataBdd = Session["datos"].ToString(); string[] acarrito = Session["carrito"].ToString().Split('|'); string TypeMembership = acarrito[6]; string cronograma = Session["cronograma"].ToString(); //string respData = brPayments.PersonGetData(userName); string respData = ""; respData = respData + '^' + cronograma; double amountFinanciade = 0; string[] array1 = Session["cronogramaYa"].ToString().Split('^'); string[] datosMem = array1[0].Split('|'); string[] array2 = array1[1].Split('~'); string[] cuotas = array2[0].Split('¬'); string cronoActiv = ""; for (int i = 0; i < cuotas.Length - 1; i++) { var fila = cuotas[i].Split('|'); if (fila[0].Substring(0, 7) != "Inicial") { cronoActiv += DateTime.Parse(fila[1]).ToString("yyyy-MM-dd"); amountFinanciade = double.Parse(fila[2].Replace("S/.", "")); break; } else { cronoActiv += DateTime.Parse(fila[1]).ToString("yyyy-MM-dd") + "¬"; } } string codeCurrency = Session["TypeCurrency"].ToString(); int ansNmembershi = brUser.RegisterNmembership(TypeMembership + '|' + userName, amountFinanciade.ToString(), Int32.Parse(Session["membPred"].ToString()), codeCurrency); bool isRegister = false; if (Session["codeUpgrate"] != null) { //si es upgrate string exchange = Session["carrito"].ToString().Split('|')[4]; //ultParametroSinCalculoDePuntaje isRegister = brPayments.GetCalculatePaymentScheduleUpgrate(respData, userName, ansNmembershi, exchange, 0); if (!isRegister) { // Response.Write("false¬Ha Ocurrido Un Error al Intentar Registrar el Cronograma de Pagos del Usuario"); return; } if (Session["dateup"] != null) { string dateup = Session["dateup"].ToString(); bool an = brPayments.PutDateUpgrate(ansNmembershi, dateup); } } else { //si no es upgrate string exchange = Session["carrito"].ToString().Split('|')[4]; isRegister = brPayments.GetCalculatePaymentSchedule(respData, userName, ansNmembershi, exchange, 0); if (!isRegister) { //Response.Write("false¬Ha Ocurrido Un Error al Intentar Registrar el Cronograma de Pagos del Usuario"); return; } BrActivation brActivation = new BrActivation(); bool registerActi = brActivation.PutCronograma(cronoActiv, userName, ansNmembershi); } if (Session["codeUpgrate"] != null) { int codeUpgrate = int.Parse(Session["codeUpgrate"].ToString()); bool upgrate = brTypeMemb.CancelMembershipUpgrate(codeUpgrate, ansNmembershi); if (!upgrate) { // Response.Write("false¬Ha Ocurrido Un Error al Intentar Registrar el Cronograma de Pagos del Usuario"); return; } BrActivation brActivation = new BrActivation(); string fechaAnterior = Session["fechaanterior"].ToString(); bool registerActi = brActivation.PutCronogramaUpgrade(fechaAnterior, userName, ansNmembershi, codeUpgrate); //cambia el estado de la cuota upgrate y si el segundo parametro es 1 paga la primera cuota BrMembershipPayDetail brMembershipPayDetail = new BrMembershipPayDetail(); isRegister = brMembershipPayDetail.UpgrateStatusPaymentInitial(ansNmembershi, 0, "upgrade.png"); } if (nameImages != null) { bool upload = brPayments.UploadReceiptUpgradeCerooInitial(ansNmembershi.ToString() + '|' + nameImages); } if (!isRegister) { //Response.Write("false¬Ha Ocurrido Un Error al Intentar Registrar el Cronograma de Pagos del Usuario"); return; } brPayments = null; brUser = null; }
protected void Page_Load(object sender, EventArgs e) { try { if (!IsPostBack) { string quotesPendiente = ""; string namePeson = ""; string token = "", emailNewUser = "", userName = "", codeMembers = ""; int numberQuotes = 0, idMemberDetails = 0; double amountPay = 0; string currencyCode = string.Empty; BrUser brUser = new BrUser(); BrPayments brPayments = new BrPayments(); BrTypeMembership brTypeMemb = new BrTypeMembership(); string[] dataLogin = HttpContext.Current.User.Identity.Name.Split('¬'); userName = dataLogin[1]; token = Request["tokenid"].ToString(); numberQuotes = int.Parse(Request["ddlQuote"].ToString()); currencyCode = Request["ddlcurrencyCode"].ToString(); if (numberQuotes < 0 || numberQuotes > 32) { Response.Write("false¬" + "Numero de Cuotas No Valido"); return; } codeMembers = Session["carrito"].ToString().Split('|')[6]; string dataBdd = Session["datos"].ToString(); string[] arraycontacto = dataBdd.Split('$')[3].Split('|'); string[] arrayperson = dataBdd.Split('$')[0].Split('|'); //correo = arraycontacto[0]; namePeson = arrayperson[0] + " " + arrayperson[1]; string[] acarrito = Session["carrito"].ToString().Split('|'); string TypeMembership = acarrito[6]; string cronograma = Session["cronograma"].ToString(); //string respData = brPayments.PersonGetData(userName); string respData = ""; respData = respData + '^' + cronograma; double amountFinanciade = 0; string cronogramaYa = Session["cronogramaYa"].ToString(); string[] array1 = Session["cronogramaYa"].ToString().Split('^'); string[] datosMem = array1[0].Split('|'); string[] array2 = array1[1].Split('~'); string[] cuotas = array2[0].Split('¬'); string cronoActiv = ""; for (int i = 0; i < cuotas.Length - 1; i++) { var fila = cuotas[i].Split('|'); if (fila[0].Substring(0, 7) != "Inicial") { cronoActiv += DateTime.Parse(fila[1]).ToString("yyyy-MM-dd"); amountFinanciade = double.Parse(fila[2].Replace("S/.", "")); break; } else { cronoActiv += DateTime.Parse(fila[1]).ToString("yyyy-MM-dd") + "¬"; } } string codeCurrency = Session["TypeCurrency"].ToString(); int ansNmembershi = brUser.RegisterNmembership(TypeMembership + '|' + userName, amountFinanciade.ToString(), Int32.Parse(Session["membPred"].ToString()), codeCurrency); bool isRegister = false; string exchange = Session["carrito"].ToString().Split('|')[4]; var typeChange = double.Parse(exchange); if (Session["codeUpgrate"] != null) { //si es upgrate isRegister = brPayments.GetCalculatePaymentScheduleUpgrate(respData, userName, ansNmembershi, exchange, 1); if (!isRegister) { Response.Write("false¬Ha Ocurrido Un Error al Intentar Registrar el Cronograma de Pagos del Usuario"); return; } if (Session["dateup"] != null) { string dateup = Session["dateup"].ToString(); bool an = brPayments.PutDateUpgrate(ansNmembershi, dateup); } //registramos si upgrate para } else { //si no es upgrate isRegister = brPayments.GetCalculatePaymentSchedule(respData, userName, ansNmembershi, exchange, 1); if (!isRegister) { Response.Write("false¬Ha Ocurrido Un Error al Intentar Registrar el Cronograma de Pagos del Usuario"); return; } //cronograma de activacion BrActivation brActivation = new BrActivation(); bool registerActi = brActivation.PutCronograma(cronoActiv, userName, ansNmembershi); } if (Session["codeUpgrate"] != null) { //el id de account n membership del upgrate ¬ y el nuevo int codeUpgrate = int.Parse(Session["codeUpgrate"].ToString()); bool upgrate = brTypeMemb.CancelMembershipUpgrate(codeUpgrate, ansNmembershi); if (!upgrate) { Response.Write("false¬Ha Ocurrido Un Error al Intentar Registrar el Cronograma de Pagos del Usuario"); return; } BrActivation brActivation = new BrActivation(); string fechaAnterior = Session["fechaanterior"].ToString(); bool registerActi = brActivation.PutCronogramaUpgrade(fechaAnterior, userName, ansNmembershi, codeUpgrate); } //validamos si tiene consumo if (!isRegister) { Response.Write("false¬Ha Ocurrido Un Error al Intentar Registrar el Cronograma de Pagos del Usuario"); return; } string[] username_idmen_amount_email = brUser.GetAmountPay(ansNmembershi).Split('|'); if (username_idmen_amount_email.Length < 4) { Response.Write("false¬Ha Ocurrido Un Error al Intentar Obtener el monto a Pagar"); return; } idMemberDetails = int.Parse(username_idmen_amount_email[1]); amountPay = double.Parse(username_idmen_amount_email[2]); emailNewUser = username_idmen_amount_email[3]; username_idmen_amount_email = null; brPayments = null; brUser = null; if (idMemberDetails <= 0 || amountPay <= 0) { Response.Write("false¬Ha Ocurrido Un Error al Intentar Registrar al Usuario"); return; } if (currencyCode == "USD") { amountPay = amountPay / typeChange; } PayCulqi payCulqi = new PayCulqi(); string[] culqiAnwser = payCulqi.newPayment(userName, emailNewUser, amountPay, token, numberQuotes, currencyCode).Split('¬'); if (culqiAnwser[0] == "false") { Response.Write("false¬" + culqiAnwser[1]); return; } //marcar como pagado en la tabla membershipdetails BrMembershipPayDetail brMembershipPayDetail = new BrMembershipPayDetail(); if (Session["codeUpgrate"] != null) { bool habiliAccount = brMembershipPayDetail.UpgrateStatusPaymentInitial(ansNmembershi, 1, ""); //enviar el email de confirmacion con la data y lo redirecciona al post register if (!habiliAccount) { Response.Write("false¬Ha Ocurrido un Error al Intentar Habilitar Su Cuenta."); return; } } else { var dateCurrent = DateTime.Now.ToString("yyyy-MM-dd").Split('-');; string tranferId = culqiAnwser[2] == null ? "" : culqiAnwser[2]; string numReceipt = "0"; string date = dateCurrent[2] + " de " + GetMonth(dateCurrent[1]) + " del " + dateCurrent[0]; string nAffiliate = ""; string hour = DateTime.Now.ToString("HH:mm:ss"); string detalle = amountPay.ToString(); //cvbc string nameTicket = GetRecibo(tranferId, userName, numReceipt, date, nAffiliate, TypeMembership, namePeson, hour, detalle, quotesPendiente); bool habiliAccount = brMembershipPayDetail.UpgrateStatusPaymentInitial(ansNmembershi, 0, nameTicket); //enviar el email de confirmacion con la data y lo redirecciona al post register if (!habiliAccount) { Response.Write("false¬Ha Ocurrido un Error al Intentar Habilitar Su Cuenta."); return; } } Email oEmail = new Email(); bool awnserEmail = oEmail.SubmitEmail(emailNewUser, "[RIBERA DEL RIO - PAGO]", "Ud. Ha efectuado su pago en Ribera del Rio con Exito."); if (!awnserEmail) { Response.Write("false¬" + culqiAnwser[1] + "\n" + "Ocurrio un Error al intentar enviar un Email de conformidad con su compra"); return; } //ejecutamos el core para los puntos de equipo //BrCore_Automation brCore_Automation = new BrCore_Automation(); // bool isCoreRegister = brCore_Automation.ExecuteCore(); var urlRedire = string.Empty; var codeMemb = TypeMembership.Trim(); if (codeMemb == "EXP" || codeMemb == "LHT" || codeMemb == "STD" || codeMemb == "PLUS" || codeMemb == "TOP" || codeMemb == "VIT") { urlRedire = "EndPayments"; } if (codeMemb == "EVOL" || codeMemb == "MVC") { urlRedire = "EndPaymentQuote"; } if (codeMemb == "SBY") { urlRedire = "EndPaymentSby"; } Response.Write($"true¬{urlRedire}.aspx"); return; } } catch (Exception ex) { Response.Redirect("error.aspx?error=" + ex.Message, true); } }