Exemple #1
0
        public async Task <string> DoingMagicRE(Models.RecargasViewModel.Recargar recargar, string usuario)
        {
            //check balance
            double balancecia    = data.GetBalanceAvailable(usuario);
            double montoCargar   = data.howmuchserviceRE(recargar.Monto);
            double montoRecargar = montoCargar * 1.06;
            string transactionId = "";

            if (balancecia >= montoCargar)
            {
                //checking for better balance
                string idsupplier         = data.returnBetterBalance(recargar.Monto, recargar.Carrier);
                string localTransactionId = data.returnIdTrans(usuario, recargar.Monto, "0", recargar.Confirmacion);
                switch (idsupplier)
                {
                case "1":
                    transactionId = await GetTransactionTaecel(data.GetCodeServiceSuplier(recargar.Monto, idsupplier), recargar.Confirmacion);

                    if (!transactionId.Contains("|"))
                    {
                        data.updateIdTrans(localTransactionId, transactionId);
                        transactionId = localTransactionId;
                    }
                    else
                    {
                        transactionId = "Error, " + transactionId.Split('|')[1];
                    }
                    break;

                case "2":
                    transactionId = await GetTransactioPrepaTaeRE(data.GetCodeServiceSuplier(recargar.Monto, idsupplier), montoRecargar.ToString(), recargar.Confirmacion);

                    if (!transactionId.StartsWith("Error"))
                    {
                        transactionId = localTransactionId;
                    }
                    break;
                }
            }
            else
            {
                transactionId = "Error, saldo insuficiente. Cuenta con $ " + balancecia.ToString();
            }
            return(transactionId);
        }
        public async Task <IActionResult> DoRecarga(string Viene, string carrier, Models.RecargasViewModel.Recargar recargar)
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (!string.IsNullOrEmpty(Viene))
            {
                switch (carrier)
                {
                case "1": ViewBag.headPanel = "Recarga Telcel"; ViewBag.CarrierImg = 1; ViewBag.CarrierQ = carrier; ViewBag.listaMonto = data.Servicedetails(carrier); break;

                case "2": ViewBag.headPanel = "Recarga Movistar"; ViewBag.CarrierImg = 2; ViewBag.CarrierQ = carrier; ViewBag.listaMonto = data.Servicedetails(carrier); break;

                case "3": ViewBag.headPanel = "Recarga AT&T"; ViewBag.CarrierImg = 3; ViewBag.CarrierQ = carrier; ViewBag.listaMonto = data.Servicedetails(carrier); break;

                case "4": ViewBag.headPanel = "Recarga Iusacell"; ViewBag.CarrierImg = 4; ViewBag.CarrierQ = carrier; ViewBag.listaMonto = data.Servicedetails(carrier); break;

                case "5": ViewBag.headPanel = "Recarga Virgin Mobile"; ViewBag.CarrierImg = 5; ViewBag.CarrierQ = carrier; ViewBag.listaMonto = data.Servicedetails(carrier); break;

                case "6": ViewBag.headPanel = "Recarga Unefon"; ViewBag.CarrierImg = 6; ViewBag.CarrierQ = carrier; ViewBag.listaMonto = data.Servicedetails(carrier); break;

                case "7": ViewBag.headPanel = "Recarga Nextel-ATT"; ViewBag.CarrierImg = 7; ViewBag.CarrierQ = carrier; ViewBag.listaMonto = data.Servicedetails(carrier); break;

                case "8": ViewBag.headPanel = "Recarga Alo"; ViewBag.CarrierImg = 8; ViewBag.CarrierQ = carrier; ViewBag.listaMonto = data.Servicedetails(carrier); break;

                case "9": ViewBag.headPanel = "Recarga Cierto"; ViewBag.CarrierImg = 9; ViewBag.CarrierQ = carrier; ViewBag.listaMonto = data.Servicedetails(carrier); break;

                case "10": ViewBag.headPanel = "Recarga Maztiempo"; ViewBag.CarrierImg = 10; ViewBag.CarrierQ = carrier; ViewBag.listaMonto = data.Servicedetails(carrier); break;

                case "11": ViewBag.headPanel = "Recarga Weex"; ViewBag.CarrierImg = 11; ViewBag.CarrierQ = carrier; ViewBag.listaMonto = data.Servicedetails(carrier); break;

                case "12": ViewBag.headPanel = "Recarga Flash Mobile"; ViewBag.CarrierImg = 12; ViewBag.CarrierQ = carrier; ViewBag.listaMonto = data.Servicedetails(carrier); break;

                case "13": ViewBag.headPanel = "Recarga Tuenti"; ViewBag.CarrierImg = 13; ViewBag.CarrierQ = carrier; ViewBag.listaMonto = data.Servicedetails(carrier); break;

                case "14": ViewBag.headPanel = "Paquete Internet Telcel"; ViewBag.CarrierImg = 14; ViewBag.CarrierQ = carrier; ViewBag.listaMonto = data.Servicedetails(carrier); break;

                case "15": ViewBag.headPanel = "Paquete Amigo Sin Límite"; ViewBag.CarrierImg = 15; ViewBag.CarrierQ = carrier; ViewBag.listaMonto = data.Servicedetails(carrier); break;

                case "16": ViewBag.headPanel = "Paquete Movistar Datos"; ViewBag.CarrierImg = 16; ViewBag.CarrierQ = carrier; ViewBag.listaMonto = data.Servicedetails(carrier); break;
                }
                ViewBag.error = false;
                return(View());
            }
            else
            {
                if (ModelState.IsValid)
                {
                    //call centralRecargaREService
                    Models.centralRecargaAPIModel.recargaElectronica recargaElectronica = new Models.centralRecargaAPIModel.recargaElectronica();
                    recargaElectronica.APIK       = User.Identity.Name;
                    recargaElectronica.codigo     = recargar.Monto;
                    recargaElectronica.referencia = recargar.Confirmacion;
                    Models.centralRecargaAPIModel.respondeRE responde = await APIJob.DoRecargaElectronica(recargaElectronica, "2", "");

                    string passing = responde.error.ToString() + "|" + responde.transaccion + "|" + responde.headerticket + "|" + responde.ticket + "|" + responde.aclaraciones;
                    TempData["responde"] = passing;
                    var response1 = responde.transaccion;
                    return(RedirectToAction("ResultRecarga", "Ecommerce"));
                }
                else
                {
                    ViewBag.error = true; recargar.ErrorMess = "Por favor revise los errores del envío"; return(View(recargar));
                }
            }
            ViewBag.error = false;
            return(View());
        }