Beispiel #1
0
        public async Task <ActionResult> Cargar(HttpPostedFileBase file, string CampaignName, string CampaignSms)
        {
            if (!IsLogin())
            {
                return(RedirectToAction("Index", "Login"));
            }

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

            if (CampaignName == "" || CampaignName == null || CampaignSms == "" || CampaignSms == null || CampaignSms == "\r\n")
            {
                Session["msg"] = "Complete el formulario";
                return(RedirectToAction("Index", "Campaign"));
            }


            if (file != null)
            {
                if (!file.GetNumberList().Any())
                {
                    Session["msg"] = "El archivo no contiene una lista de numeros teléfonicos.";
                    return(RedirectToAction("Index", "Campaign"));
                }
            }



            //insertar nuevo file

            var lista = new List <string>();
            var ruta  = "";

            //modificar promocion
            if (Session["EditarPromocion"] != null && file == null)
            {
                RutaFile = ruta = ((Campaign)Session["EditarPromocion"]).path;
                ListaSMS = lista = ruta.GetNumberList();
                // goto etk_enviar_sms;


                Campaign.accontId = ID_CUENTA;
                Campaign.name     = CampaignName;
                Campaign.sms      = CampaignSms;
                Campaign.path     = ruta;
                Campaign.date     = DateTime.Now;
                Campaign.numbers  = lista;

                Campaign.costBySms = TARIFA_SMS;
                Campaign.cost      = (float)0;

                Session["msg"]    = "El archivo se ha cargado correctamente en breve se enviará su campaña.";
                Session["enviar"] = "si";

                return(RedirectToAction("Index", "Campaign", db.Campaing.Where(x => x.accontId == ID_CUENTA.ToString()).ToList()));
            }
            else
            if (Session["EditarPromocion"] != null && file != null)
            {
                var result = ((Campaign)Session["EditarPromocion"]).path.DeleteFile();
                if (!result)
                {
                    Session["msg"] = "No se pudo acceder al archivo.";
                    return(RedirectToAction("Index", "Campaign"));
                }
                else
                {
                    var FileName = Path.GetFileName(file.FileName);

                    var ext = "";
                    if (FileName.Contains(".txt"))
                    {
                        ext = ".txt";
                    }
                    if (FileName.Contains(".csv"))
                    {
                        ext = ".csv";
                    }

                    ruta = Server.MapPath("~/Files/" + ((Campaign)Session["EditarPromocion"]).name + ext);

                    file.SaveAs(ruta);
                }


                Campaign.accontId = ID_CUENTA;
                Campaign.name     = CampaignName;
                Campaign.sms      = CampaignSms;
                Campaign.path     = ruta;
                Campaign.date     = DateTime.Now;
                Campaign.numbers  = lista;


                Campaign.costBySms = TARIFA_SMS;
                Campaign.cost      = (float)0;
            }
            else
            if (Session["EditarPromocion"] == null)
            {
                if (file == null)
                {
                    Session["msg"] = "Seleccione el archivo";
                    return(RedirectToAction("Index", "Campaign"));
                }


                if (db.Campaing.Where(x => x.name == CampaignName).Any())
                {
                    Session["msg"] = "Ya existe una promoción con este nombre.";
                    return(RedirectToAction("Index", "Campaign"));
                }

                var FileName = Path.GetFileName(file.FileName);
                var ext      = "";
                if (FileName.Contains(".txt"))
                {
                    ext = ".txt";
                }
                if (FileName.Contains(".csv"))
                {
                    ext = ".csv";
                }
                RutaFile = ruta = Server.MapPath("~/Files/" + CampaignName + ext);
                try
                {
                    file.SaveAs(ruta);


                    Campaign.accontId = ID_CUENTA;
                    Campaign.name     = CampaignName;
                    Campaign.sms      = CampaignSms;
                    Campaign.path     = ruta;
                    Campaign.date     = DateTime.Now;
                    Campaign.numbers  = lista;


                    Campaign.costBySms = TARIFA_SMS;
                    Campaign.cost      = (float)0;
                }
                catch (Exception)
                {
                    Session["msg"] = "El sistema no tiene permisos para habrir el archivo.";
                    return(RedirectToAction("Index", "Campaign"));
                }

                ListaSMS = lista = ruta.GetNumberList();
                if (!lista.Any())
                {
                    ruta.DeleteFile();
                    Session["msg"] = "El archivo no contiene una lista de numeros teléfonicos.";
                    return(RedirectToAction("Index", "Campaign"));
                }
                else
                {
                    Campaign.accontId = ID_CUENTA;
                    Campaign.name     = CampaignName;
                    Campaign.sms      = CampaignSms;
                    Campaign.path     = ruta;
                    Campaign.date     = DateTime.Now;
                    Campaign.numbers  = lista;


                    Campaign.costBySms = TARIFA_SMS;
                    Campaign.cost      = (float)0;
                    //enviar sms
                    Session["msg"]    = "El archivo se ha cargado correctamente en breve se enviará su campaña.";
                    Session["enviar"] = "si";
                    return(RedirectToAction("Index", "Campaign", db.Campaing.Where(x => x.accontId == ID_CUENTA.ToString()).ToList()));
                }
                ;
            }


            Campaign.accontId = ID_CUENTA;
            Campaign.name     = CampaignName;
            Campaign.sms      = CampaignSms;
            Campaign.path     = ruta;
            Campaign.date     = DateTime.Now;
            Campaign.numbers  = lista;


            Campaign.costBySms = TARIFA_SMS;
            Campaign.cost      = (float)0;

            Session["msg"]    = "El archivo se ha cargado correctamente en breve se enviará su campaña.";
            Session["enviar"] = "si";
            return(RedirectToAction("Index", "Campaign", db.Campaing.Where(x => x.accontId == ID_CUENTA.ToString()).ToList()));

            // etk_enviar_sms:
        }