Exemplo n.º 1
0
        protected void btnSendNow_Click(object sender, EventArgs e)
        {
            PayCulqi culqi = new PayCulqi();
            BrMembershipPayDetail payDetail = new BrMembershipPayDetail();

            if (!fuRecibo.HasFile)
            {
                //no hay imagen en el control
                return;
            }
            //si hay una archivo.

            string[] arraynombreArchivo2 = fuRecibo.FileName.Split('.');

            int indice = (arraynombreArchivo2.Length - 1);

            string extension = arraynombreArchivo2[indice];

            string userRec = User.Identity.Name.Split('¬')[1] + DateTime.Now.ToString("yyyyMMddHHmmss");

            string nameImage = userRec + "." + extension;

            string ruta = "~/Resources/RecibosRegister/" + nameImage;

            fuRecibo.SaveAs(Server.MapPath(ruta));

            var data = (Dictionary <string, object>)Session["changingschedule"];

            var action       = data["Action"];
            var valueQuote   = Convert.ToDouble(data["ValueQuote"]);
            var numQuote     = Convert.ToDouble(data["NumQuote"]);
            var idMembership = Convert.ToInt32(data["IdMembership"]);
            var lastpaydate  = Convert.ToDateTime(data["PayDate"]);

            var smallDate = DateTime.Now - lastpaydate;

            var numberDays = smallDate.Days;

            var valueTotal = valueQuote * numQuote;

            Session.RemoveAll();
            int numQuotes = int.Parse(numQuote.ToString());


            bool responseb = payDetail.PutQuotesChangingSchedule(idMembership, numQuotes, nameImage, 2);

            if (numberDays > 0)
            {
                BrDaysFree brDaysFree = new BrDaysFree();
                var        dataanw    = brDaysFree.Put(User.Identity.Name.Split('¬')[1], numberDays, idMembership);
            }
            string message = "";

            if (responseb)
            {
                message = "La operación se realizó con éxito.";
            }
            Response.Redirect("Payments.aspx?msg=" + message);
        }
Exemplo n.º 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string typeChange = string.Empty;
                BrMembershipPayDetail brMembership = new BrMembershipPayDetail();
                //pago de cuotaa
                //almacenamientoValorCuota
                //quote = Request["quota"].ToString();

                //int id = 0;
                //string numCuota = "";

                int    id       = int.Parse(Request["id"].ToString());
                string numCuota = Request["numCuota"].ToString();

                //samir seguridad del valor de su cuota
                string[] arrayLogin = User.Identity.Name.Split('¬');
                typeChange = arrayLogin[5];
                if (arrayLogin.Length < 5)
                {
                    return;
                }
                lblDescription.Text = numCuota;

                var response = brMembership.GetQuote(id, arrayLogin[1]).Split('|');

                if (response.Length < 2)
                {
                    Response.Redirect("Payments.aspx", true);
                    return;
                }

                var      quote   = response[0];
                DateTime payDate = DateTime.Parse(response[1] + " 23:59:59").AddDays(15);
                //DateTime payDate = DateTime.Parse("2019-07-01 23:59:59");
                if (decimal.Parse(quote) == decimal.Parse("0"))
                {
                    Response.Redirect("Index.aspx", true);
                    return;
                }
                BrDaysFree daysFree = new BrDaysFree();

                bool success = daysFree.Qualify(arrayLogin[1], id);

                BrWallet brWallet = new BrWallet();

                var amountWallet = decimal.Parse(brWallet.GetAmount(User.Identity.Name.Split('¬')[1]));
                if (amountWallet <= 0)
                {
                    rbtWallet.Enabled = false;
                }

                Session["CurrencyCode"]   = response[2];
                Session["tcCro"]          = response[4];
                Session["IdImg"]          = id.ToString();
                Session["StatusCalendar"] = id.ToString();
                lblPriceUnit.Text         = quote + "" + response[2];


                lblSubTotal.Text  = quote + " " + response[2];
                lblExchange.Text  = typeChange;
                lblTot.Text       = quote;
                ccc.Text          = response[2];
                lblCostQuote.Text = quote;

                panel1.Visible = false;
                //lblDescription.Text = "KIT DE INICIO";
                //lblDescription.Visible = true;
                Session["dataQuote"] = id.ToString();
                Session["Amount"]    = quote;
                Session["quotePay"]  = quote;
                Session["numCuota"]  = numCuota;


                if (payDate < DateTime.Now && success)
                {
                    // im nq
                    //TODO: comente para
                    Response.Redirect("ChangingSchedule.aspx?im=" + id.ToString() + "&nq=1");
                    return;
                }
            }
        }
Exemplo n.º 3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            MyConstants mc = new MyConstants();

            try
            {
                var dataSche = (Dictionary <string, object>)Session["changingschedule"];

                string token        = "";
                int    numberQuotes = 0;

                token        = Request["token"].ToString();
                numberQuotes = int.Parse(Request["numcuotes"].ToString());

                string codeCurrency = Request["typeCurrency"].ToString();

                var newUserName = User.Identity.Name.Split('¬')[1];

                var idMemberDetails = 0;


                BrTypeChange brTypeChange = new BrTypeChange();
                var          arrayTypes   = brTypeChange.GetTypesChange().Split('|');

                var tcBuy  = decimal.Parse(arrayTypes[1]);
                var tcSale = decimal.Parse(arrayTypes[0]);

                if (Session["quotePay"] == null || Session["numCuota"] == null)
                {
                    //MessageError.Text = "Ocurrio un error.";
                    return;
                }
                var totalPay = decimal.Parse(Session["quotePay"].ToString());

                var description = Session["numCuota"].ToString();

                var methods2 = "CULQI";

                var recibe = string.Empty;


                if (Session["StatusCalendar"] == null || Session["CurrencyCode"] == null)
                {
                    //MessageError.Text = "Ocurrio un error.";
                    return;
                }

                idMemberDetails = int.Parse(Session["StatusCalendar"].ToString());

                //monto| fecha de expiration |codecurrency | description| typechange
                BrMembershipPayDetail brMembership = new BrMembershipPayDetail();
                var response = brMembership.GetQuote(idMemberDetails, User.Identity.Name.Split('¬')[1]).Split('|');

                if (decimal.Parse(response[0]) == 0)
                {
                    //MessageError.Text = "Ocurrio un error.";
                    return;
                }
                var amountCro = decimal.Parse(response[0]);

                var codeCurrencyCro = response[2];
                var tcCrono         = decimal.Parse(response[4]);

                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)
                {
                    //MessageWarning.Text = "Tu Cuota ya esta Pagada.Verifica tu cronograma de pagos.";
                    return;
                }

                BrWallet    brWallet   = new BrWallet();
                MyMessages  myMessages = new MyMessages();
                MyFunctions mf         = new MyFunctions();

                var amountWallet = decimal.Parse(brWallet.GetAmount(User.Identity.Name.Split('¬')[1]));



                BrPerson brPerson   = new BrPerson();
                var      dataPerson = brPerson.GetByUserName(newUserName).Split('|');
                PayCulqi payCulqi   = new PayCulqi();


                decimal surcharge         = (1 + mc.Surcharge);
                var     amountRestan      = 0m;
                var     amountPayCulqires = 0d;

                var tcSend = 0m;

                if (codeCurrencyCro == "USD")
                {
                    if (codeCurrency == "PEN")
                    {
                        tcSend            = tcSale;
                        amountRestan      = ((amountCro - amountWallet) * tcSale) * surcharge;
                        amountPayCulqires = double.Parse(amountRestan.ToString());
                    }
                    if (codeCurrency == "USD")
                    {
                        tcSend            = tcBuy;
                        amountRestan      = (amountCro - amountWallet) * surcharge;
                        amountPayCulqires = double.Parse(amountRestan.ToString());
                    }
                }

                if (codeCurrencyCro == "PEN")
                {
                    if (codeCurrency == "USD")
                    {
                        tcSend            = tcCrono;
                        amountRestan      = ((amountCro * tcCrono) - amountWallet) * surcharge;
                        amountPayCulqires = double.Parse(amountRestan.ToString());
                    }
                    if (codeCurrency == "PEN")
                    {
                        tcSend            = tcBuy;
                        amountRestan      = (amountCro - (amountWallet * tcBuy)) * surcharge;
                        amountPayCulqires = double.Parse(amountRestan.ToString());
                    }
                }

                string[] culqiAnwser = payCulqi.newPayment(newUserName, dataPerson[1], amountPayCulqires, token, numberQuotes, codeCurrency).Split('¬');
                if (culqiAnwser[0] == "false")
                {
                    Response.Write("false¬" + culqiAnwser[1]);
                    return;
                }



                var namePeson = User.Identity.Name.Split('¬')[0];

                var dateCurrent = DateTime.Now.ToString("yyyy-MM-dd").Split('-');

                string tranferId    = "";
                string numReceipt   = "0";
                string datecomplete = dateCurrent[2] + " de " + mf.GetMonth(dateCurrent[1]) + " del " + dateCurrent[0];
                string nAffiliate   = "";

                string hour = DateTime.Now.ToString("HH:mm:ss");

                namePeson = myMessages.ToCapitalize(namePeson);
                var moneyStatus = 1;

                string imgTicketWalle = "";

                var action       = dataSche["Action"];
                var valueQuote   = Convert.ToDouble(dataSche["ValueQuote"]);
                var numQuote     = Convert.ToDouble(dataSche["NumQuote"]);
                var idMembership = Convert.ToInt32(dataSche["IdMembership"]);

                var lastpaydate = Convert.ToDateTime(dataSche["PayDate"]);

                var smallDate = DateTime.Now - lastpaydate;

                var numberDays = smallDate.Days;


                int numQuotes = int.Parse(numQuote.ToString());

                BrMembershipPayDetail payDetail = new BrMembershipPayDetail();
                bool responseb = payDetail.PutQuotesChangingSchedule(idMembership, numQuotes, recibe, 2);

                if (numberDays > 0)
                {
                    BrDaysFree brDaysFree = new BrDaysFree();
                    var        dataanw    = brDaysFree.Put(User.Identity.Name.Split('¬')[1], numberDays, idMembership);
                }


                if (amountWallet > 0)
                {
                    imgTicketWalle = GetRecibo(tranferId, User.Identity.Name.Split('¬')[1], numReceipt, datecomplete, nAffiliate, "", namePeson, hour, amountWallet.ToString() + $" USD  Atravez de Wallet.", "", $" {description}", "WL");


                    //amount | @idInfo | @typeInfo | @walletOperationId | @currencyCode | @typeChange | idmembershipDetail | imgTicket
                    string data   = $"{(amountWallet * tcSend).ToString()}|{idInfo}|{typeInfo}|{walleOperationId}|PEN|{tcSend}|{idMemberDetails.ToString()}|{imgTicketWalle}";
                    bool   answer = brWallet.Put(data, User.Identity.Name.Split('¬')[1], moneyStatus);

                    //Extorno

                    if (!answer)
                    {
                        //MessageError.Text = "Ocurrio un error.";
                        return;
                    }
                }
                //MessageSucces.Text = "Su Pago de Realizo Con Exito.";

                /*=============================================================================================================================*/

                var amountOthers = amountCro;
                //esta en estado pendienete
                var statusPay = 1;


                //marcar como pagado en la tabla membershipdetails

                //TODO: Agregar los detalles del pago
                BrUser brUser      = new BrUser();
                var    recibeCulqi = GetRecibo(tranferId, User.Identity.Name.Split('¬')[1], numReceipt, datecomplete, nAffiliate, "", namePeson, hour, amountRestan.ToString("0.00") + $" {codeCurrency}  Atravez de Culqi.", "", $" {description}", "CQ");

                //recibe
                bool habiliAccount = brUser.BiPayQuote(idMemberDetails, imgTicketWalle + '~' + recibeCulqi, amountWallet, amountRestan, "WALLET", methods2, statusPay, tcBuy);


                var urlRedirect = "EndPaymendMbs";


                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");
            }
        }
Exemplo n.º 4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                btnProcess.Style["Visibility"]    = "visible";
                btnContinue.Style["Visibility"]   = "hidden";
                btnProcessPay.Style["Visibility"] = "hidden";
                Button1.Style["Visibility"]       = "hidden";

                if (!IsPostBack)
                {
                    BrMembershipPayDetail brMembership = new BrMembershipPayDetail();
                    string[] listParameters;
                    listParameters = new string[300];
                    string req         = "";
                    double tipocambio  = 0.00;
                    double subtotalkit = 0.00;
                    string quote       = "";
                    req = (string)Session["carrito"];

                    if (!string.IsNullOrEmpty(req))
                    {
                        if (Session["Discount"] == null)
                        {
                            Session["Discount"] = 0;
                        }
                        //cambie esto samir pazo
                        if (Convert.ToDouble(Session["Discount"]) <= 1)
                        {
                            lblDiscount.Text = Convert.ToDouble(Session["Discount"]).ToString();
                        }

                        req            = Session["carrito"].ToString();
                        listParameters = req.Split('|');
                        tipocambio     = double.Parse(Session["carrito"].ToString().Split('|')[4]);
                        decimal typeChange = decimal.Parse(Session["carrito"].ToString().Split('|')[4]);
                        subtotalkit = double.Parse(listParameters[3]) * tipocambio;

                        string cuurencyCode = Session["TypeCurrency"].ToString();

                        if (Session["Amount"] == null)
                        {
                            Session["Amount"] = 0;
                        }

                        decimal amountSoles = decimal.Parse(Session["Amount"].ToString());
                        decimal amountDolar = amountSoles / typeChange;
                        ccc.Text = "";
                        if (cuurencyCode == "PEN")
                        {
                            lblPriceUnit.Text = amountSoles.ToString() + " PEN";
                            lblSubTotal.Text  = subtotalkit.ToString();
                            double total = 0.00;

                            if (Session["JustKit"] != null)
                            {
                                if ((int)Session["JustKit"] != 1)
                                {
                                    total = double.Parse(lblSubTotal.Text) - 10;
                                }
                            }
                            else
                            {
                                total = double.Parse(lblSubTotal.Text);
                            }

                            lblSubTotal.Text = amountSoles.ToString() + " PEN";
                            lblExchange.Text = tipocambio.ToString();

                            lblCostQuote.Text = amountSoles.ToString() + " PEN";

                            lblTot.Text = amountSoles.ToString() + " PEN";
                        }
                        else
                        {
                            lblPriceUnit.Text = amountDolar.ToString() + " " + " USD";
                            lblSubTotal.Text  = subtotalkit.ToString();
                            double total = 0.00;

                            if (Session["JustKit"] != null)
                            {
                                total = double.Parse(lblSubTotal.Text) - 10;
                            }
                            else
                            {
                                total = double.Parse(lblSubTotal.Text);
                            }

                            lblSubTotal.Text = amountDolar.ToString() + " USD";
                            lblExchange.Text = tipocambio.ToString();

                            lblCostQuote.Text = amountDolar.ToString() + " USD";

                            lblTot.Text = amountDolar.ToString() + " USD";
                        }



                        //lblCostQuote.Text = lblTot.Text;
                        //Session["Amount"] = lblCostQuote.Text;
                        lblDescription.Text = listParameters[1];
                        if (Session["JustKit"] != null)
                        {
                            panel1.Visible         = false;
                            lblDescription.Text    = "KIT DE INICIO";
                            lblDescription.Visible = true;
                        }
                    }
                    else
                    {
                        //pago de cuotaa
                        //almacenamientoValorCuota
                        //quote = Request["quota"].ToString();
                        int    id       = int.Parse(Request["id"].ToString());
                        string numCuota = Request["numCuota"].ToString();
                        //samir seguridad del valor de su cuota
                        string[] arrayLogin = User.Identity.Name.Split('¬');

                        lblDescription.Text = numCuota;

                        var response = brMembership.GetQuote(id, arrayLogin[1]).Split('|');
                        quote = response[0];
                        DateTime payDate = DateTime.Parse(response[1] + " 23:59:59");
                        //DateTime payDate = DateTime.Parse("2019-04-04 23:59:59");
                        if (decimal.Parse(quote) == decimal.Parse("0"))
                        {
                            Response.Redirect("Index.aspx", true);
                            return;
                        }
                        BrDaysFree daysFree = new BrDaysFree();

                        bool success = daysFree.Qualify(arrayLogin[1], id);

                        if (payDate < DateTime.Now && success)
                        {
                            // im nq
                            Response.Redirect("ChangingSchedule.aspx?im=" + id.ToString() + "&nq=1", true);
                            return;
                        }

                        Session["CurrencyCode"]   = response[2];
                        Session["IdImg"]          = id.ToString();
                        Session["StatusCalendar"] = id.ToString();
                        lblPriceUnit.Text         = quote + "" + response[2];


                        lblSubTotal.Text  = quote + " " + response[2];
                        lblExchange.Text  = tipocambio.ToString();
                        lblTot.Text       = quote;
                        ccc.Text          = response[2];
                        lblCostQuote.Text = quote;

                        panel1.Visible = false;
                        //lblDescription.Text = "KIT DE INICIO";
                        //lblDescription.Visible = true;
                        Session["quotePay"] = quote;
                        Session["numCuota"] = numCuota;
                    }
                    if (lblSubTotal.Text == "0 PEN" || lblSubTotal.Text == "0 USD")
                    {
                        btnProcess.Style["Visibility"]    = "hidden";
                        btnContinue.Style["Visibility"]   = "visible";
                        btnProcessPay.Style["Visibility"] = "hidden";

                        Response.Redirect("PayRegisterExoneration.aspx");
                        return;
                    }
                    else
                    {
                        btnProcessPay.Style["Visibility"] = "visible";
                        btnContinue.Style["Visibility"]   = "hidden";
                    }
                }
            }
            catch (Exception ex)
            {
                Response.Redirect("Index.aspx?error=" + ex.StackTrace, true);
            }
        }
Exemplo n.º 5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BrMembershipPayDetail brMemDetail = new BrMembershipPayDetail();
                string  _idMembership             = "0";
                string  userName = "";
                decimal numQuote = 0, valueTotal = 0;
                int     idMembership = 0;

                _idMembership = Request["im"] == null ? "0" : Request["im"];
                numQuote      = Request["nq"] == null ? 0 : decimal.Parse(Request["nq"]);
                userName      = User.Identity.Name.Split('¬')[1];
                idMembership  = int.Parse(_idMembership);

                if (idMembership <= 0)
                {
                    Response.Redirect("Index.aspx");
                }

                BrDaysFree brDaysFree = new BrDaysFree();

                var isqualifi = brDaysFree.Qualify(userName, idMembership);

                if (!isqualifi)
                {
                    Response.Redirect("Payments.aspx");
                }

                var response = brMemDetail.GetValueQuoteMaxQuoteChangeSchedule(idMembership, userName).Split('|');

                decimal valueQuote = decimal.Parse(response[0]);
                int     maxQuote   = int.Parse(response[1]);

                if (valueQuote == 0 || maxQuote == 0 || numQuote > maxQuote || numQuote <= 0)
                {
                    Response.Redirect("Index.aspx");
                }

                DateTime payDate = DateTime.Parse(response[2]);
                //DateTime payDate = DateTime.Parse("2019-04-04 23:59:59");

                valueTotal         = numQuote * valueQuote;
                lblValueTotal.Text = valueTotal.ToString();

                Dictionary <string, object> data = new Dictionary <string, object>
                {
                    { "Action", "changeschedule" },
                    { "ValueQuote", valueQuote },
                    { "NumQuote", numQuote },
                    { "IdMembership", idMembership },
                    { "PayDate", payDate }
                };

                BrWallet brWallet = new BrWallet();

                var amountWallet = decimal.Parse(brWallet.GetAmount(User.Identity.Name.Split('¬')[1]));
                if (amountWallet <= 0)
                {
                    rbtWallet.Enabled = false;
                }

                Session["changingschedule"] = data;
            }
        }
Exemplo n.º 6
0
        protected void ProcesarPay_Click(object sender, EventArgs e)
        {
            var dataSche = (Dictionary <string, object>)Session["changingschedule"];


            var idMemberDetails   = 0;
            var typeChangeSend    = 0m;
            var typeChangecurrent = 0m;

            typeChangecurrent = decimal.Parse(User.Identity.Name.Split('¬')[4]);

            BrWallet brWallet     = new BrWallet();
            var      amountWallet = decimal.Parse(brWallet.GetAmount(User.Identity.Name.Split('¬')[1]));

            if (!(amountWallet > 0))
            {
                MessageError.Text = "ocurrio un error";
                return;
            }

            string currencyCode = ddlcurrencyCode.SelectedValue;

            if (Session["quotePay"] == null || Session["numCuota"] == null)
            {
                MessageError.Text = "Ocurrio un error.";
                return;
            }
            var totalPay = decimal.Parse(Session["quotePay"].ToString());

            var description = Session["numCuota"].ToString();

            var methods2 = "AFTER";

            var recibe = string.Empty;

            if (NowReceipt.Checked)
            {
                if (!Recibo.HasFile)
                {
                    MessageError.Text = "No hay imagen.";
                    return;
                }

                string[] arraynombreArchivo2 = Recibo.FileName.Split('.');

                int indice = (arraynombreArchivo2.Length - 1);

                string extension = arraynombreArchivo2[indice];

                var nameFile = Guid.NewGuid().ToString();

                recibe = $"{nameFile}.{extension}";
                string filePath = "~/Resources/RecibosRegister/" + recibe;

                Recibo.SaveAs(Server.MapPath(filePath));

                methods2 = "NOW";
            }


            if (Session["StatusCalendar"] == null || Session["CurrencyCode"] == null)
            {
                MessageError.Text = "Ocurrio un error.";
                return;
            }

            idMemberDetails = int.Parse(Session["StatusCalendar"].ToString());

            BrMembershipPayDetail brMembership = new BrMembershipPayDetail();
            var response = brMembership.GetQuote(idMemberDetails, User.Identity.Name.Split('¬')[1]).Split('|');

            if (decimal.Parse(response[0]) == 0)
            {
                MessageError.Text = "Ocurrio un error.";
                return;
            }
            var amount          = decimal.Parse(response[0]);
            var currencycodecro = response[2];

            var typechangecro = decimal.Parse(response[4]);



            BrTypeChange tc = new BrTypeChange();
            MyMessages   mm = new MyMessages();
            MyFunctions  mf = new MyFunctions();

            var arraytypechan           = tc.GetTypesChange().Split('|');
            var typeChangeVentaCurrent  = decimal.Parse(arraytypechan[0]);
            var typechangecompraCurrent = decimal.Parse(arraytypechan[1]);

            decimal amountRestan      = 0;
            decimal amountWalletSoles = 0;


            var    idInfo         = idMemberDetails.ToString();
            var    imgTicketWalle = "";
            var    namePeson      = User.Identity.Name.Split('¬')[0];
            var    dateCurrent    = DateTime.Now.ToString("yyyy-MM-dd").Split('-');
            string tranferId      = "";
            string numReceipt     = "0";
            string datecomplete   = dateCurrent[2] + " de " + mf.GetMonth(dateCurrent[1]) + " del " + dateCurrent[0];
            string nAffiliate     = "";
            string hour           = DateTime.Now.ToString("HH:mm:ss");

            namePeson = mm.ToCapitalize(namePeson);
            var moneyStatus = 1;

            if (currencycodecro == "PEN")
            {
                if (currencyCode == "PEN")
                {
                    typeChangeSend    = typechangecompraCurrent;
                    amountWalletSoles = amountWallet * typechangecompraCurrent;

                    amountRestan = amount - amountWalletSoles;

                    imgTicketWalle = GetRecibo(tranferId, User.Identity.Name.Split('¬')[1], numReceipt, datecomplete, nAffiliate, "", namePeson, hour, amountWalletSoles.ToString("0.00") + " PEN Atravez del Wallet", "", $" {description}");

                    if (!NowReceipt.Checked)
                    {
                        SendEmailAmountRestante(amountRestan.ToString("0.00"), amountWalletSoles.ToString("0.00"), amount.ToString("0.00"), idInfo, description, currencyCode);
                    }
                }

                if (currencyCode == "USD")
                {
                    typeChangeSend = typechangecro;

                    amountRestan = (amount / typechangecro) - amountWallet;

                    imgTicketWalle = GetRecibo(tranferId, User.Identity.Name.Split('¬')[1], numReceipt, datecomplete, nAffiliate, "", namePeson, hour, amountWallet.ToString() + " USD Atravez del Wallet", "", $" {description}");

                    if (!NowReceipt.Checked)
                    {
                        SendEmailAmountRestante(amountRestan.ToString("0.00"), amountWallet.ToString("0.00"), (amount / typechangecro).ToString("0.00"), idInfo, description, currencyCode);
                    }
                }
            }

            if (currencycodecro == "USD")
            {
                if (currencyCode == "USD")
                {
                    amountRestan = amount - amountWallet;

                    imgTicketWalle = GetRecibo(tranferId, User.Identity.Name.Split('¬')[1], numReceipt, datecomplete, nAffiliate, "", namePeson, hour, amountWallet.ToString() + " USD Atravez del Wallet", "", $" {description}");

                    if (!NowReceipt.Checked)
                    {
                        SendEmailAmountRestante(amountRestan.ToString("0.00"), amountWallet.ToString("0.00"), amount.ToString("0.00"), idInfo, description, currencyCode);
                    }
                }

                amount         = amount * typechangecompraCurrent;
                typeChangeSend = typechangecompraCurrent;

                if (currencyCode == "PEN")
                {
                    amountWalletSoles = amountWallet * typechangecompraCurrent;
                    amountRestan      = amount - amountWalletSoles;

                    imgTicketWalle = GetRecibo(tranferId, User.Identity.Name.Split('¬')[1], numReceipt, datecomplete, nAffiliate, "", namePeson, hour, amountWalletSoles.ToString() + " PEN Atravez del Wallet", "", $" {description}");

                    if (!NowReceipt.Checked)
                    {
                        SendEmailAmountRestante(amountRestan.ToString("0.00"), amountWalletSoles.ToString("0.00"), amount.ToString("0.00"), idInfo, description, currencyCode);
                    }
                }
            }


            //dos es que wallet es una parte del pago de una cuota
            var typeInfo         = "2";
            var walleOperationId = "2";

            MessageError.Text   = string.Empty;
            MessageWarning.Text = string.Empty;
            MessageSucces.Text  = string.Empty;

            bool IsPay = brMembership.IsPayQuote(idMemberDetails.ToString());

            if (!IsPay)
            {
                MessageWarning.Text = "Tu Cuota ya esta Pagada.Verifica tu cronograma de pagos.";
                return;
            }


            var action       = dataSche["Action"];
            var valueQuote   = Convert.ToDouble(dataSche["ValueQuote"]);
            var numQuote     = Convert.ToDouble(dataSche["NumQuote"]);
            var idMembership = Convert.ToInt32(dataSche["IdMembership"]);

            var lastpaydate = Convert.ToDateTime(dataSche["PayDate"]);

            var smallDate = DateTime.Now - lastpaydate;

            var numberDays = smallDate.Days;


            int numQuotes = int.Parse(numQuote.ToString());

            BrMembershipPayDetail payDetail = new BrMembershipPayDetail();
            bool responseb = payDetail.PutQuotesChangingSchedule(idMembership, numQuotes, recibe, 2);

            if (numberDays > 0)
            {
                BrDaysFree brDaysFree = new BrDaysFree();
                var        dataanw    = brDaysFree.Put(User.Identity.Name.Split('¬')[1], numberDays, idMembership);
            }



            if (amountWallet > 0)
            {
                if (string.IsNullOrEmpty(recibe))
                {
                    recibe += $"{imgTicketWalle}";
                }
                else
                {
                    recibe += $"~{imgTicketWalle}";
                }
                //amount | @idInfo | @typeInfo | @walletOperationId | @currencyCode | @typeChange | idmembershipDetail | imgTicket
                string data   = $"{(amountWallet * typeChangeSend).ToString()}|{idInfo}|{typeInfo}|{walleOperationId}|PEN|{typeChangeSend}|{idMemberDetails.ToString()}|{recibe}";
                bool   answer = brWallet.Put(data, User.Identity.Name.Split('¬')[1], moneyStatus);

                //Extorno

                if (!answer)
                {
                    MessageError.Text = "Ocurrio un error.";
                    return;
                }
            }
            //MessageSucces.Text = "Su Pago de Realizo Con Exito.";

            /*=============================================================================================================================*/

            var amountOthers = amount;
            //esta en estado pendienete
            var statusPay = 4;

            if (methods2 == "NOW")
            {
                statusPay = 2;
            }

            //marcar como pagado en la tabla membershipdetails

            //TODO: Agregar los detalles del pago
            BrUser brUser = new BrUser();

            bool habiliAccount = brUser.BiPayQuote(idMemberDetails, recibe, amountWallet * typeChangeSend, amountRestan, "WALLET", methods2, statusPay, typeChangeSend);

            var amountTot = amountWallet + amountRestan;



            if (habiliAccount)
            {
                Response.Redirect("EndPaymentQuote.aspx");
            }
        }
Exemplo n.º 7
0
        protected void PayByWallet_Click(object sender, EventArgs e)
        {
            decimal amount = 0, typeChangeVentaCurrent = 0, typechangecompraCurrent = 0;
            string  numcuota = string.Empty;
            string  idInfo = string.Empty, typeInfo = string.Empty, walleOperationId = string.Empty;
            string  currencyCode       = string.Empty;
            string  imgTicket          = string.Empty;
            decimal amountWallet       = 0;
            string  idMembershipDetail = string.Empty;

            decimal typechangesend = 0;


            currencyCode = ddlcurrencyCode.SelectedValue.Trim();

            if (currencyCode != "USD" && currencyCode != "PEN")
            {
                MessageError.Text = "ocurrio un error.";
                return;
            }



            if (Session["StatusCalendar"] == null || Session["CurrencyCode"] == null)
            {
                MessageError.Text = "Ocurrio un error.";
                return;
            }
            idMembershipDetail = int.Parse(Session["StatusCalendar"].ToString()).ToString();
            imgTicket          = $"{idMembershipDetail}{DateTime.Now.ToString("yyyyMMdd")}";

            //

            BrTypeChange tc = new BrTypeChange();

            var arraytypechan = tc.GetTypesChange().Split('|');

            typeChangeVentaCurrent  = decimal.Parse(arraytypechan[0]);
            typechangecompraCurrent = decimal.Parse(arraytypechan[1]);



            BrMembershipPayDetail brMembership = new BrMembershipPayDetail();
            var response = brMembership.GetQuote(int.Parse(idMembershipDetail), User.Identity.Name.Split('¬')[1]).Split('|');

            if (decimal.Parse(response[0]) == 0)
            {
                MessageError.Text = "Ocurrio un error.";
                return;
            }
            //el monto llega deacuerdo al currency code del cronograma
            amount = decimal.Parse(response[0]);
            var currencyCodeCro = response[2];
            var typechangeCro   = decimal.Parse(response[4]);

            idInfo           = "1";
            typeInfo         = "1";
            walleOperationId = "2";


            MessageError.Text   = string.Empty;
            MessageWarning.Text = string.Empty;
            MessageSucces.Text  = string.Empty;

            bool IsPay = brMembership.IsPayQuote(idMembershipDetail);

            if (!IsPay)
            {
                MessageWarning.Text = "Tu Cuota ya esta Pagada.Verifica tu cronograma de pagos.";
                return;
            }

            BrWallet    brWallet   = new BrWallet();
            MyMessages  myMessages = new MyMessages();
            MyFunctions mf         = new MyFunctions();


            var namePeson = mf.ToCapitalize(User.Identity.Name.Split('¬')[0].ToLower());

            var dateCurrent = DateTime.Now.ToString("yyyy-MM-dd").Split('-');;

            string tranferId    = "";
            string numReceipt   = "0";
            string datecomplete = dateCurrent[2] + " de " + mf.GetMonth(dateCurrent[1]) + " del " + dateCurrent[0];
            string nAffiliate   = "";

            string hour            = DateTime.Now.ToString("HH:mm:ss");
            string detalle         = amount.ToString() + $" {currencyCode}";
            string quotesPendiente = "";
            string codeMemb        = "";

            string descripcion = string.Empty;

            if (Session["numCuota"] != null)
            {
                descripcion = Session["numCuota"].ToString();
            }

            namePeson = myMessages.ToCapitalize(namePeson);
            //cvbc

            amountWallet = decimal.Parse(brWallet.GetAmount(User.Identity.Name.Split('¬')[1]));
            //el monto de wallet viene en dolares.

            if (currencyCodeCro == "PEN")
            {
                if ((amountWallet * typechangeCro) < amount)
                {
                    MessageError.Text = "No tiene el monto suficiente para realizar Pago.";
                    return;
                }

                detalle = amount.ToString() + $" {currencyCode}";
                //tipo de moneda en soles
                imgTicket = GetRecibo(tranferId, User.Identity.Name.Split('¬')[1], numReceipt, datecomplete, nAffiliate, codeMemb, namePeson, hour, detalle, quotesPendiente, $" {descripcion}");

                //en este caso el amount esta en soles y le aplicamos elm tipo de cambioo
                typechangesend = typechangeCro;
            }

            if (currencyCodeCro == "USD")
            {
                if (amountWallet < amount)
                {
                    MessageError.Text = "No tiene el monto suficiente para realizar Pago.";
                    return;
                }

                //tipo de moneda en dolares

                if (currencyCode == "USD")
                {
                    detalle   = amount.ToString() + $" {currencyCode}";
                    imgTicket = GetRecibo(tranferId, User.Identity.Name.Split('¬')[1], numReceipt, datecomplete, nAffiliate, codeMemb, namePeson, hour, detalle, quotesPendiente, $" {descripcion}");
                }

                amount         = amount * typechangecompraCurrent;
                typechangesend = typechangecompraCurrent;

                if (currencyCode == "PEN")
                {
                    detalle   = amount.ToString() + $" {currencyCode}";
                    imgTicket = GetRecibo(tranferId, User.Identity.Name.Split('¬')[1], numReceipt, datecomplete, nAffiliate, codeMemb, namePeson, hour, detalle, quotesPendiente, $" {descripcion}");
                }
            }


            //amount|@idInfo|@typeInfo|@walletOperationId|@currencyCode|@typeChange|idmembershipDetail|imgTicket
            string data   = $"{amount}|{idInfo}|{typeInfo}|{walleOperationId}|{currencyCode}|{typechangesend}|{idMembershipDetail}|{imgTicket}";
            bool   answer = brWallet.Put(data, User.Identity.Name.Split('¬')[1]);


            if (!answer)
            {
                MessageError.Text = "Ocurrio un error.";
                return;
            }

            MessageSucces.Text = "Su Pago de Realizo Con Exito.";

            var urlRedirect = "EndPaymentQuote";

            //Email oEmail = new Email();
            //bool awnserEmail = oEmail.submitEmail(emailNewUser, "[RIBERA DEL RIO - PAGO]", myMessages.EmailPago());
            //MessageSucces.Text += " - y se le envio un correo con su confirmacion. ";
            var dataSche = (Dictionary <string, object>)Session["changingschedule"];

            var action       = dataSche["Action"];
            var valueQuote   = Convert.ToDouble(dataSche["ValueQuote"]);
            var numQuote     = Convert.ToDouble(dataSche["NumQuote"]);
            var idMembership = Convert.ToInt32(dataSche["IdMembership"]);

            var lastpaydate = Convert.ToDateTime(dataSche["PayDate"]);

            var smallDate = DateTime.Now - lastpaydate;

            var numberDays = smallDate.Days;

            if (numberDays > 0)
            {
                BrDaysFree brDaysFree = new BrDaysFree();
                var        dataanw    = brDaysFree.Put(User.Identity.Name.Split('¬')[1], numberDays, idMembership);
            }


            Response.Redirect($"{urlRedirect}.aspx");
        }
Exemplo n.º 8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                PayCulqi culqi = new PayCulqi();
                BrMembershipPayDetail payDetail = new BrMembershipPayDetail();
                BrDaysFree            daysFree = new BrDaysFree();
                string userName = "", email = "", token = "", typeMembresia = "", namePerson = "";
                int    numberQuotes = 0, numberDays = 0;;

                token        = Request["token"] == null ? "" : Request["token"];
                numberQuotes = Request["numcuotes"] == null ? 0 : int.Parse(Request["numcuotes"]);

                if (string.IsNullOrEmpty(token) || numberQuotes <= 0 || numberQuotes >= 20)
                {
                    Response.Write("[{data:{'success':false,'message':'Ocurrio un error'}}]");
                    return;
                }

                if (Session["changingschedule"] == null)
                {
                    Response.Write("[{data:{'success':false,'message':'Ocurrio un error'}}]");
                    return;
                }

                var data         = (Dictionary <string, object>)Session["changingschedule"];

                var action       = data["Action"];
                var valueQuote   = Convert.ToDouble(data["ValueQuote"]);
                var numQuote     = Convert.ToDouble(data["NumQuote"]);
                var idMembership = Convert.ToInt32(data["IdMembership"]);
                var payDate      = Convert.ToDateTime(data["PayDate"]);


                TimeSpan ts      = DateTime.Now - payDate;

                // Difference in days.
                numberDays = ts.Days;

                var valueTotal   = valueQuote * numQuote;

                userName = User.Identity.Name.Split('¬')[1].Trim();
                email    = User.Identity.Name.Split('¬')[8].Trim();
                string currencyCode = "PEN";
                if (Session["CurrencyCode"] != null)
                {
                    currencyCode = Session["CurrencyCode"].ToString();
                }
                var response = culqi.newPayment(userName, email, valueTotal, token, numberQuotes, currencyCode).Split('¬');

                if (!bool.Parse(response[0]))
                {
                    Response.Write("[{data:{'success':false,'message':'Ocurrio un error'}}]");
                    return;
                }
                Session.RemoveAll();
                int    numQuotes = int.Parse(numQuote.ToString());
                string nameImage = "", concepto = "";

                var info = payDetail.GetInfoQuoteForRecibo(idMembership).Split('|');

                if (info.Length > 1)
                {
                    typeMembresia = info[0].ToUpper();
                    namePerson    = info[1].ToUpper();
                    concepto      = info[2].ToUpper();
                }
                else
                {
                    typeMembresia = userName;
                    namePerson    = userName;
                    concepto      = userName;
                }

                var dateCurrent = DateTime.Now.ToString("yyyy-MM-dd").Split('-');

                string tranferId = response[2] == null ? "" : response[2];
                string date      = dateCurrent[2] + " de " + GetMonth(dateCurrent[1]) + " del " + dateCurrent[0];

                string hour    = DateTime.Now.ToString("HH:mm:ss");
                string detalle = valueTotal.ToString();

                nameImage = GetRecibo(tranferId, userName, date, typeMembresia, namePerson, hour, detalle, concepto);

                bool responseb = payDetail.PutQuotesChangingSchedule(idMembership, numQuotes, nameImage, 1);

                if (numberDays > 0)
                {
                    responseb = daysFree.Put(userName, numberDays, idMembership);
                }

                Response.Write("[{data:{'success':true,'message':'" + response[1] + "'}}]");
            }
        }