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: }