public ActionResult Schedule(int id, DateTime scheduledDate, DateTime scheduledTime) { scheduledDate = scheduledDate.Add(scheduledTime.Subtract(scheduledTime.Date)); var response = new CampaignModule().ScheduleCampaign(id, scheduledDate); return(Json(response, JsonRequestBehavior.AllowGet)); }
public ActionResult Create(CampaignVM campaign) { try { ViewBag.CampaignTypes = GetCampaignTypes(); if (ModelState.IsValid) { ViewBag.CampaignTypes = GetCampaignTypes(); campaign.CreatedBy = User.Identity.Name; var campaignModule = new CampaignModule(); var report = campaignModule.ValidateCampaign(campaign); TempData["CampaignReport"] = report; return(View("Report", report.Validations)); } ViewBag.Message = "Error in input. Please correct the errors"; return(View(campaign)); } catch (Exception ex) { ErrorSignal.FromCurrentContext().Raise(ex); ViewBag.Message = "Cannot create campaign"; return(View(campaign)); } }
// // GET: /Campaign/ public ActionResult Index(int messageId = 0) { SetCampaignMessage(messageId); var campaigns = new CampaignModule().GetAllCampaigns().OrderByDescending(p => p.Id); return(View(campaigns)); }
public FileResult Export(int campaignId, int statusId) { CampaignModule campaignModule = new CampaignModule(); var campaign = campaignModule.GetCampaign(campaignId); string fileName = "export-" + campaign.Id + ".csv"; var memoryStream = new MemoryStream(); var streamWriter = new StreamWriter(memoryStream); if (campaign.TypeId == (int)CampaignType.Email) { var emailList = campaignModule.GetCampaignEmails(campaign.Id).Where(p => p.StatusId == statusId); using (var csv = new CsvWriter(streamWriter)) { csv.WriteRecords(emailList); } } else { var smsList = campaignModule.GetCampaignSmses(campaign.Id).Where(p => p.StatusId == statusId); using (var csv = new CsvWriter(streamWriter)) { csv.WriteRecords(smsList); } } MemoryStream newStream = new MemoryStream(memoryStream.ToArray()); newStream.Seek(0, SeekOrigin.Begin); return(File(newStream, "text/csv", fileName)); }
public ActionResult Details(int id) { CampaignModule campaignModule = new CampaignModule(); var campaign = campaignModule.GetCampaign(id); int newStatus = 0, send = 0, failed = 0; if (campaign.TypeId == (int)CampaignType.Email) { var emailList = campaignModule.GetCampaignEmails(campaign.Id); if (emailList != null) { newStatus = emailList.Where(p => p.StatusId == (int)MessageStatus.New).Count(); send = emailList.Where(p => p.StatusId == (int)MessageStatus.Send).Count(); failed = emailList.Where(p => p.StatusId == (int)MessageStatus.Failed).Count(); } } else { var smsList = campaignModule.GetCampaignSmses(campaign.Id); if (smsList != null) { newStatus = smsList.Where(p => p.StatusId == (int)MessageStatus.New).Count(); send = smsList.Where(p => p.StatusId == (int)MessageStatus.Send).Count(); failed = smsList.Where(p => p.StatusId == (int)MessageStatus.Failed).Count(); } } ViewBag.NewStatus = newStatus.ToString(); ViewBag.Send = send.ToString(); ViewBag.Failed = failed.ToString(); return(View(campaign)); }
public ActionResult Save() { var report = (CampaignReport)TempData["CampaignReport"]; var campaignModule = new CampaignModule(); int campaignId = campaignModule.SaveCampaign(report); campaignModule.UpdateCampaignFile(campaignId); return(RedirectToAction("Index", new { messageId = (int)ViewMessage.CampaignSaved })); }
public ActionResult UploadFile(HttpPostedFileBase File) { string[] formats = new string[] { ".xls", ".xlsx", ".csv" }; if (File != null && formats.Contains(Path.GetExtension(File.FileName))) { var headers = new CampaignModule().GetHeaders(File); ModelState.Clear(); return(View("FileHeaders", headers)); } throw new ArgumentNullException("File corrupted"); }
public ActionResult ApprovalDetails(int id) { CampaignModule campaignModule = new CampaignModule(); var campaign = campaignModule.GetCampaign(id); if (campaign.TypeId == (int)CampaignType.Email) { ViewBag.EmailList = campaignModule.GetCampaignEmails(campaign.Id); } else { ViewBag.SmsList = campaignModule.GetCampaignSmses(campaign.Id); } return(View(campaign)); }
public ActionResult SendTestMsg(int id, string recepient) { var response = new CampaignModule().SendTestCampaign(id, recepient); return(Json(response, JsonRequestBehavior.AllowGet)); }
public ActionResult Stop(int id) { var response = new CampaignModule().StopCampaign(id); return(Json(response, JsonRequestBehavior.AllowGet)); }
public ActionResult Approval() { var campaigns = new CampaignModule().GetAllCampaigns().OrderByDescending(p => p.Id); return(View(campaigns)); }