Пример #1
0
        public async Task <ActionResult> EnviarSMS()
        {
            if (SMSEnviados == 0)
            {
                TotalSMS = ListaSMS.Count;
            }
            if (ListaSMS.Any())
            {
                try
                {
                    //await Task.Delay(2000);
                    //Campaign.balanceFinal += 1;
                    //Campaign.cost += 2;
                    var sms = new innoverit_sms
                    {
                        NumeroTelefono = ListaSMS.First(),
                        SMS            = Campaign.sms
                    };

                    var responce = await sms.Enviar();

                    if (responce.error != null)
                    {
                        Campaign.smsCountError++;
                    }
                    else
                    {
                        Campaign.balanceFinal = (float)Convert.ToDecimal(responce.balance, CultureInfo.CreateSpecificCulture("en-US"));
                        Campaign.cost        += Campaign.countSMS * (float)Convert.ToDecimal((responce.costo), CultureInfo.CreateSpecificCulture("en-US")) + Campaign.costBySms;
                    }

                    ListaSMS.RemoveAt(0);
                    SMSEnviados++;

                    return(Json(new { Total = TotalSMS, Enviados = SMSEnviados }, JsonRequestBehavior.AllowGet));
                }
                catch (Exception ex)
                {
                    // guardar en la base si se mandaron sms

                    return(Json(new { fin = "si", respuesta = ex.Message }, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                // guardar en la base
                return(Json(new { fin = "si", respuesta = "No hay numeros en la lista" }, JsonRequestBehavior.AllowGet));
            }
        }
Пример #2
0
        public async Task <ActionResult> RecargarLista(string remitente, string accion)
        {
            if (accion == "reservar")
            {
                var ListaRecargas = ((List <RecargaTienda>)Session["ListaRecargasMoviles"]);

                if (!ListaRecargas.Any())
                {
                    return(Json("ListaVacia", JsonRequestBehavior.AllowGet));
                }

                var listaErrores = new List <RecargaTienda>();

                //Para guardar lista de respuestas de sms
                var smsResponse = new List <innoverit>();

                if (ListaRecargas.Any())
                {
                    try
                    {
                        foreach (var item in ListaRecargas)
                        {
                            Ding.SendTransferResponse result = new Ding.SendTransferResponse();

                            result = await item.DingSimular(PHONE1);

                            if (result != null)
                            {
                                if (result.ResultCode == "1")
                                {
                                    item.Estado     = EstadoRecarga.Reservada.ToString();
                                    item.Error      = "";
                                    item.ColorError = "";

                                    db.RecargaTienda.Add(item);
                                    try
                                    {
                                        db.SaveChanges();
                                    }
                                    catch
                                    {
                                        item.Error      = "No se pudo añadir a la lista de recargas reservas";
                                        item.ColorError = Colores.errorRecarga;
                                        item.Estado     = EstadoRecarga.Error.ToString();
                                        listaErrores.Add(item);
                                    }
                                }
                                else
                                {
                                    if (result.ResultCode == "5")
                                    {
                                        //item.Error = "Contacte a support";
                                        //item.ColorError = Colores.errorRecarga;
                                        //item.Estado = EstadoRecarga.Error.ToString();
                                        //listaErrores.Add(item);
                                        item.Estado     = EstadoRecarga.Reservada.ToString();
                                        item.Error      = "";
                                        item.ColorError = "";

                                        db.RecargaTienda.Add(item);
                                        try
                                        {
                                            db.SaveChanges();
                                        }
                                        catch
                                        {
                                            item.Error      = "No se pudo añadir a la lista de recargas reservas";
                                            item.ColorError = Colores.errorRecarga;
                                            item.Estado     = EstadoRecarga.Error.ToString();
                                            listaErrores.Add(item);
                                        }
                                    }
                                    else
                                    {
                                        item.Error      = result.ErrorCodes[0].Code;
                                        item.ColorError = Colores.errorRecarga;
                                        item.Estado     = EstadoRecarga.Error.ToString();
                                        listaErrores.Add(item);
                                    }
                                }
                            }
                            else
                            {
                                return(Json("Error", JsonRequestBehavior.AllowGet));
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        ;
                    }
                }
                else
                {
                    return(Json("ListaVacia", JsonRequestBehavior.AllowGet));
                }
                await FONDOS();

                Session["ListaRecargasMoviles"] = listaErrores;

                return(Json(listaErrores, JsonRequestBehavior.AllowGet));
            }


            if (accion == "recargar")
            {
                if (!IsLogin())
                {
                    return(RedirectToAction("Index", "Login"));
                }

                var ListaRecargas = ((List <RecargaTienda>)Session["ListaRecargasMoviles"]);

                if (!ListaRecargas.Any())
                {
                    return(Json("ListaVacia", JsonRequestBehavior.AllowGet));
                }

                var listaErrores = new List <RecargaTienda>();

                //Para guardar lista de respuestas de sms
                var smsResponse = new List <innoverit>();

                if (ListaRecargas.Any())
                {
                    try
                    {
                        foreach (var item in ListaRecargas)
                        {
                            await Task.Delay(5000);

                            Ding.SendTransferResponse result = new Ding.SendTransferResponse();

                            if (_Global.ModoPrueba)
                            {
                                result = await item.DingSimular(PHONE1);
                            }
                            else
                            {
                                result = await item.DingRecargar(PHONE1);
                            }


                            if (result != null)
                            {
                                if (result.ResultCode == "1")
                                {
                                    if (await FONDOS() < (float)item.Costo || await FONDOS_TIENDAPADRE() < (float)item.Costo)
                                    {
                                        item.Estado     = EstadoRecarga.Error.ToString();
                                        item.Error      = "Contacte a support";
                                        item.ColorError = "Orange";
                                        listaErrores.Add(item);
                                    }
                                    else
                                    {
                                        if (_Global.ModoPrueba)
                                        {
                                            item.Estado     = EstadoRecarga.Simulada.ToString();
                                            item.Error      = "";
                                            item.ColorError = "";
                                        }
                                        else
                                        {
                                            item.Estado     = EstadoRecarga.Recargada.ToString();
                                            item.Error      = "";
                                            item.ColorError = "";
                                        }

                                        var padre = await((customer_info)Session["CurrentCustomer"]).GetParent();

                                        // CALCULAR DIFERENCIA DE SALDO

                                        var Total      = (float)_Global.ReglaDeTres(IMPUESTO, 0, (float)item.Costo);
                                        var DineroReal = (float)_Global.ReglaDeTres((float)padre.GetComisionTopUp(), Total, 0);

                                        await padre.MakeTransaction_Manualcharge(DineroReal, "M-" + item.Monto + "-" + item.CodigoPais + item.Numero + "-" + ID_CUENTA + "-" + item.Nombre);

                                        await ACTUALIZAR_BALANCE(item);
                                        await FONDOS();
                                    }

                                    //Mandar sms
                                    if (remitente != "" && remitente != null)
                                    {
                                        var sms = new innoverit_sms
                                        {
                                            NumeroTelefono = remitente,
                                            SMS            = "Usted envio una recarga al numero " + item.Numero + " con un monto de $" + item.Monto.To_0_00() + ",transaccion " + result.TransferRecord.TransferId.TransferRef + ".Gracias por su compra!!3054477549 teleyuma.com."
                                        };
                                        var res = new innoverit();
                                        res = await sms.Enviar();

                                        smsResponse.Add(res);
                                    }
                                }
                                else
                                {
                                    if (result.ResultCode == "5")
                                    {
                                        item.Error      = "Contacte a support";
                                        item.ColorError = "Orange";
                                        item.Estado     = EstadoRecarga.Error.ToString();
                                        listaErrores.Add(item);
                                    }
                                    else
                                    {
                                        item.Error      = result.ErrorCodes[0].Code;
                                        item.ColorError = "Orange";
                                        item.Estado     = EstadoRecarga.Error.ToString();
                                        listaErrores.Add(item);
                                    }
                                }
                            }
                            else
                            {
                                return(Json("Error", JsonRequestBehavior.AllowGet));
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        ;
                    }
                }
                else
                {
                    return(Json("ListaVacia", JsonRequestBehavior.AllowGet));
                }
                await FONDOS();

                Session["ListaRecargasMoviles"] = listaErrores;

                await Historial();

                if (listaErrores.Any())
                {
                    return(Json(listaErrores, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json("ok", JsonRequestBehavior.AllowGet));
                }
            }

            await Historial();

            return(Json("Error", JsonRequestBehavior.AllowGet));
        }
Пример #3
0
        public async Task <ActionResult> Guardar()
        {
            var campaign = Campaign;

            if (SMSEnviados == 0)
            {
                return(Json(new { fin = "si", respuesta = "No se pudo enviar los sms, revise la lista de numeros" }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                if (Session["EditarPromocion"] != null)
                {
                    var promocion = (Campaign)Session["EditarPromocion"];
                    campaign.id              = promocion.id;
                    campaign.date            = promocion.date;
                    db.Entry(campaign).State = EntityState.Modified;
                    try
                    {
                        db.SaveChanges();
                    }
                    catch (Exception ex)
                    {
                        ;
                    }
                }
                else
                {
                    db.Campaing.Add(campaign);
                    try
                    {
                        db.SaveChanges();
                    }
                    catch
                    {
                    }
                }
                //  Enviar sms admin
                var totalSms = SMSEnviados;
                var numero   = "17862719040";
                //var numero = "5355043317";
                var supportSms = new innoverit_sms
                {
                    NumeroTelefono = numero,
                    SMS            = "La cuenta con id: " + campaign.accontId + " ha realizado una promocion con el nombre:'" + campaign.name + "' con un total de: " + totalSms + " sms para un monto de: $" + campaign.cost.To_0_00() + " USD, Su balance es de: $" + campaign.balanceFinal.To_0_00() + " USD",
                };
                await supportSms.Enviar();

                await ACTUALIZAR_BALANCE(campaign.cost, "promocion-" + totalSms + "-" + campaign.balanceFinal.To_0_00());

                Session["EditarPromocion"] = null;

                Session["CampaignName"] = null;
                Session["CampaignSms"]  = null;



                SMSEnviados = 0;
                TotalSMS    = 0;
                campaign    = new Campaign();

                return(Json(new { fin = "si", respuesta = "La promoción se ha enviado." }, JsonRequestBehavior.AllowGet));
            }
        }