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