Ejemplo n.º 1
0
        // GET: SMS
        public ActionResult Index()
        {
            try
            {
                ViewData["Resultado1"] = SynWayAPI_models.Consultas(SynWayAPI_models.Consultas_Types.GetPortInfo);
                ViewData["Resultado2"] = SynWayAPI_models.Consultas(SynWayAPI_models.Consultas_Types.GetPortConnectState);
                ViewData["Resultado3"] = SynWayAPI_models.Consultas(SynWayAPI_models.Consultas_Types.GetWirelessinfo);
                ViewData["Resultado4"] = SynWayAPI_models.Consultas(SynWayAPI_models.Consultas_Types.GetDetailPortInfo);

                /*ViewData["Resultado5"] = SynWayAPI_models.EnvioSMS(SynWayAPI_models.Envios_Types.SendSMS,"2616142278","1","prueba:"+ DateTime.Now.ToShortTimeString());
                 * ViewData["Resultado6"] = SynWayAPI_models.EnvioSMS(SynWayAPI_models.Envios_Types.SendSMS, "2616142278", "1", "prueba:" + DateTime.Now.ToShortTimeString());
                 */
                /*
                 * BackgroundJob.Schedule(() => SynWayAPI_models.EnvioSMS(SynWayAPI_models.Envios_Types.SendSMS, "2616142278", "1", "prueba:" + DateTime.Now.ToShortTimeString()),
                 *  TimeSpan.FromMinutes(1));
                 *
                 *  BackgroundJob.Schedule(() => SynWayAPI_models.EnvioSMS(SynWayAPI_models.Envios_Types.SendSMS, "2616142278", "1", "prueba:" + DateTime.Now.ToShortTimeString()),
                 *  TimeSpan.FromMinutes(2));
                 *
                 *
                 *  BackgroundJob.Schedule(() => SynWayAPI_models.EnvioSMS(SynWayAPI_models.Envios_Types.SendSMS, "2616142278", "1", "prueba:" + DateTime.Now.ToShortTimeString()),
                 *  TimeSpan.FromMinutes(3));
                 */

                //  BackgroundJob.Enqueue(() => SynWayAPI_models.EnvioSMS(SynWayAPI_models.Envios_Types.SendSMS, "2616142278", "1", "prueba:" + DateTime.Now.ToShortTimeString()) );

                /*
                 * using (new BackgroundJobServer())
                 * {
                 *  Console.ReadLine();
                 * }
                 */
            }
            catch (Exception ex)
            {
                throw;
            }

            return(View());
        }
Ejemplo n.º 2
0
        public JsonResult EnviarSMSMasivo(string Mensaje, string Lote, string reporte, string Port, string Times)
        {
            List <Resultados_Models> ListarR = new List <Resultados_Models>();
            Resultados_Models        R       = new Resultados_Models();
            Mensajes_Models          M       = new Mensajes_Models();

            try
            {
                List <Contactos_Models> ListarM = new List <Contactos_Models>();

                ListarM = new Contactos_Models().SelectContactos(Lote);
                string _loteenvio = DateTime.Now.ToString("yyMMdd-HHmmss");
                int    i          = 0;
                int    _Times     = 10;
                int.TryParse(Times, out _Times);

                //Acuse de inicio
                //SynWayAPI_models.EnvioSMS(SynWayAPI_models.Envios_Types.SendSMS,reporte , Port, DateTime.Now.ToString("dd/MM/yy HH:mm:ss")+" Iniciado:"+ListarM.Count+" items."+ "Envio: " + _loteenvio + " Segs:" + _Times + " Puerto:" + Port.ToString());
                Mensajes_Models.EnviarSMS(reporte, Port, DateTime.Now.ToString("dd/MM/yy HH:mm:ss") + " Iniciado:" + ListarM.Count + " items." + "Envio: " + _loteenvio + " Segs:" + _Times + " Puerto:" + Port.ToString());

                //Envios
                foreach (Contactos_Models item in ListarM)
                {
                    M = new Mensajes_Models();

                    M.mencon_id      = item.con_id;
                    M.men_phone      = item.con_phone;
                    M.mencon_id      = item.con_id;
                    M.men_cant       = 1;
                    M.men_cuerpo     = Mensaje;
                    M.men_enviolote  = _loteenvio;
                    M.men_estado     = "ERROR";
                    M.men_fecha      = DateTime.Now;
                    M.men_fechamodif = DateTime.Now;
                    M.men_lote       = item.con_lote;
                    M.men_phone      = item.con_phone;
                    M.men_taskid     = 0;
                    ResultadoCRUD_Models rm = M.InsertUpdateMensajes(M);

                    //No pudo crear el mensaje en la base. Se sale del proceso
                    if (rm.res_cantidad == -1)
                    {
                        R               = new Resultados_Models();
                        R.res_mensaje   = "ERROR al crear el mensaje el la BD:" + rm.res_excepcion;
                        R.res_excepcion = "-1";
                        ListarR.Add(R);
                    }
                    else
                    {
                        R        = new Resultados_Models();
                        M.men_id = int.Parse(rm.res_id);
                        //ID de Tarea
                        R.res_id = int.Parse(BackgroundJob.Schedule(() => Mensajes_Models.EnviarSMS(item.con_phone, Port, Mensaje, M.men_id), TimeSpan.FromSeconds(_Times)));
                        i++;

                        //guardo el número de tarea
                        M.men_taskid = R.res_id;
                        rm           = new ResultadoCRUD_Models();
                        rm           = M.InsertUpdateMensajes(M);
                        if (rm.res_cantidad == -1)
                        {
                            R               = new Resultados_Models();
                            R.res_mensaje   = "ERROR al crear el mensaje el la BD:" + rm.res_excepcion;
                            R.res_excepcion = "-1";
                            ListarR.Add(R);
                        }



                        R.res_mensaje   = "Se ha creado la tarea:" + R.res_id.ToString();
                        R.res_contenido = new ReturnValue()
                        {
                            content = "Envio: " + _loteenvio + " Segs:" + _Times + " Puerto:" + Port.ToString(), result = "OK"
                        };
                        M.men_estado = "Creado";
                        M.men_taskid = R.res_id;
                        ListarR.Add(R);
                    }
                }

                //Acuse de envio realizado
                BackgroundJob.Schedule(() => SynWayAPI_models.EnvioSMS(SynWayAPI_models.Envios_Types.SendSMS, reporte, Port, DateTime.Now.ToString("dd/MM/yy HH:mm:ss") + " Envio programado:" + ListarM.Count + " items" + "Envio: " + _loteenvio + " Segs:" + _Times + " Puerto:" + Port.ToString())
                                       , TimeSpan.FromSeconds(i));
            }
            catch (Exception ex)
            {
                R               = new Resultados_Models();
                R.res_mensaje   = "ERROR:" + ex.Message;
                R.res_excepcion = "-1";
                ListarR.Add(R);
            }

            return(new JsonResult
            {
                ContentType = "application/json",
                Data = ListarR,
                JsonRequestBehavior = JsonRequestBehavior.AllowGet,
                MaxJsonLength = Int32.MaxValue
            });
        }