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); } }