public ActionResult ExportCsv(NewsLetterSubscriptionListModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNewsletterSubscribers)) return AccessDeniedView(); string fileName = String.Format("newsletter_emails_{0}_{1}.txt", DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss"), CommonHelper.GenerateRandomDigitCode(4)); var sb = new StringBuilder(); var newsLetterSubscriptions = _newsLetterSubscriptionService.GetAllNewsLetterSubscriptions(model.SearchEmail, 0, int.MaxValue, true); if (newsLetterSubscriptions.Count == 0) { throw new NopException("No emails to export"); } for (int i = 0; i < newsLetterSubscriptions.Count; i++) { var subscription = newsLetterSubscriptions[i]; sb.Append(subscription.Email); sb.Append(","); sb.Append(subscription.Active); sb.Append(Environment.NewLine); //new line } string result = sb.ToString(); return File(Encoding.UTF8.GetBytes(result), "text/csv", fileName); }
public ActionResult SubscriptionList(DataSourceRequest command, NewsLetterSubscriptionListModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNewsletterSubscribers)) return AccessDeniedView(); bool? isActive = null; if (model.ActiveId == 1) isActive = true; else if (model.ActiveId == 2) isActive = false; var newsletterSubscriptions = _newsLetterSubscriptionService.GetAllNewsLetterSubscriptions(model.SearchEmail, model.StoreId, isActive, command.Page - 1, command.PageSize); var gridModel = new DataSourceResult { Data = newsletterSubscriptions.Select(x => { var m = x.ToModel(); var store = _storeService.GetStoreById(x.StoreId); m.StoreName = store != null ? store.Name : "Unknown store"; m.CreatedOn = _dateTimeHelper.ConvertToUserTime(x.CreatedOnUtc, DateTimeKind.Utc); return m; }), Total = newsletterSubscriptions.TotalCount }; return Json(gridModel); }
public ActionResult List() { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNewsletterSubscribers)) return AccessDeniedView(); var model = new NewsLetterSubscriptionListModel(); //stores model.AvailableStores.Add(new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" }); foreach (var s in _storeService.GetAllStores()) model.AvailableStores.Add(new SelectListItem { Text = s.Name, Value = s.ID.ToString() }); //active model.ActiveList.Add(new SelectListItem { Value = "0", Text = _localizationService.GetResource("Admin.Promotions.NewsLetterSubscriptions.List.SearchActive.All") }); model.ActiveList.Add(new SelectListItem { Value = "1", Text = _localizationService.GetResource("Admin.Promotions.NewsLetterSubscriptions.List.SearchActive.ActiveOnly") }); model.ActiveList.Add(new SelectListItem { Value = "2", Text = _localizationService.GetResource("Admin.Promotions.NewsLetterSubscriptions.List.SearchActive.NotActiveOnly") }); return View(model); }
public ActionResult List() { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNewsletterSubscribers)) return AccessDeniedView(); var model = new NewsLetterSubscriptionListModel(); return View(model); }
public ActionResult ExportCsv(NewsLetterSubscriptionListModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNewsletterSubscribers)) return AccessDeniedView(); bool? isActive = null; if (model.ActiveId == 1) isActive = true; else if (model.ActiveId == 2) isActive = false; var subscriptions = _newsLetterSubscriptionService.GetAllNewsLetterSubscriptions(model.SearchEmail, model.StoreId, isActive); string result = _exportManager.ExportNewsletterSubscribersToTxt(subscriptions); string fileName = String.Format("newsletter_emails_{0}_{1}.txt", DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss"), CommonHelper.GenerateRandomDigitCode(4)); return File(Encoding.UTF8.GetBytes(result), "text/csv", fileName); }
public ActionResult SubscriptionList(DataSourceRequest command, NewsLetterSubscriptionListModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNewsletterSubscribers)) return AccessDeniedView(); var newsletterSubscriptions = _newsLetterSubscriptionService.GetAllNewsLetterSubscriptions(model.SearchEmail, command.Page - 1, command.PageSize, true); var gridModel = new DataSourceResult { Data = newsletterSubscriptions.Select(x => { var m = x.ToModel(); m.CreatedOn = _dateTimeHelper.ConvertToUserTime(x.CreatedOnUtc, DateTimeKind.Utc); return m; }), Total = newsletterSubscriptions.TotalCount }; return Json(gridModel); }
public ActionResult List() { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNewsletterSubscribers)) return AccessDeniedView(); var newsletterSubscriptions = _newsLetterSubscriptionService.GetAllNewsLetterSubscriptions(String.Empty, 0, _adminAreaSettings.GridPageSize, true); var model = new NewsLetterSubscriptionListModel(); model.NewsLetterSubscriptions = new GridModel<NewsLetterSubscriptionModel> { Data = newsletterSubscriptions.Select(x => { var m = x.ToModel(); m.CreatedOn = _dateTimeHelper.ConvertToUserTime(x.CreatedOnUtc, DateTimeKind.Utc); return m; }), Total = newsletterSubscriptions.TotalCount }; return View(model); }
public ActionResult ExportCsv(NewsLetterSubscriptionListModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNewsletterSubscribers)) return AccessDeniedView(); bool? isActive = null; if (model.ActiveId == 1) isActive = true; else if (model.ActiveId == 2) isActive = false; var startDateValue = (model.StartDate == null) ? null : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.StartDate.Value, _dateTimeHelper.CurrentTimeZone); var endDateValue = (model.EndDate == null) ? null : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.EndDate.Value, _dateTimeHelper.CurrentTimeZone).AddDays(1); var subscriptions = _newsLetterSubscriptionService.GetAllNewsLetterSubscriptions(model.SearchEmail, startDateValue, endDateValue, model.StoreId, isActive, model.CustomerRoleId); string result = _exportManager.ExportNewsletterSubscribersToTxt(subscriptions); string fileName = String.Format("newsletter_emails_{0}_{1}.txt", DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss"), CommonHelper.GenerateRandomDigitCode(4)); return File(Encoding.UTF8.GetBytes(result), MimeTypes.TextCsv, fileName); }