/// <summary> /// Prepare paged campaign list model /// </summary> /// <param name="searchModel">Campaign search model</param> /// <returns>Campaign list model</returns> public virtual CampaignListModel PrepareCampaignListModel(CampaignSearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //get campaigns var campaigns = _campaignService.GetAllCampaigns(searchModel.StoreId).ToPagedList(searchModel); //prepare grid model var model = new CampaignListModel().PrepareToGrid(searchModel, campaigns, () => { return(campaigns.Select(campaign => { //fill in model values from the entity var campaignModel = campaign.ToModel <CampaignModel>(); //convert dates to the user time campaignModel.CreatedOn = _dateTimeHelper.ConvertToUserTime(campaign.CreatedOnUtc, DateTimeKind.Utc); if (campaign.DontSendBeforeDateUtc.HasValue) { campaignModel.DontSendBeforeDate = _dateTimeHelper .ConvertToUserTime(campaign.DontSendBeforeDateUtc.Value, DateTimeKind.Utc); } return campaignModel; })); }); return(model); }
public virtual IActionResult List(DataSourceRequest command, CampaignListModel searchModel) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageCampaigns)) { return(AccessDeniedKendoGridJson()); } var campaigns = _campaignService.GetAllCampaigns(searchModel.StoreId); var gridModel = new DataSourceResult { Data = campaigns.Select(x => { var model = x.ToModel(); model.CreatedOn = _dateTimeHelper.ConvertToUserTime(x.CreatedOnUtc, DateTimeKind.Utc); if (x.DontSendBeforeDateUtc.HasValue) { model.DontSendBeforeDate = _dateTimeHelper.ConvertToUserTime(x.DontSendBeforeDateUtc.Value, DateTimeKind.Utc); } return(model); }), Total = campaigns.Count }; return(Json(gridModel)); }
public virtual IActionResult List() { if (!_permissionService.Authorize(StandardPermissionProvider.ManageCampaigns)) { return(AccessDeniedView()); } var stores = _storeService.GetAllStores(); var model = new CampaignListModel(); model.AvailableStores.Add(new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" }); foreach (var store in stores) { model.AvailableStores.Add(new SelectListItem { Text = store.Name, Value = store.Id.ToString() }); } return(View(model)); }
public virtual ActionResult List() { if (!_permissionService.Authorize(StandardPermissionProvider.ManageCampaigns)) { return(AccessDeniedView()); } var stores = _storeService.GetAllStores(); var model = new CampaignListModel(); #region Extensions by QuanNH //stores var _workContext = Nop.Core.Infrastructure.EngineContext.Current.Resolve <Nop.Core.IWorkContext>(); var AllStores = _storeService.GetAllStoresByEntityName(_workContext.CurrentCustomer.Id, "Stores"); if (AllStores.Count <= 0) { AllStores = _storeService.GetAllStores(); model.AvailableStores.Add(new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" }); } foreach (var s in AllStores) { model.AvailableStores.Add(new SelectListItem { Text = s.Name, Value = s.Id.ToString() }); } #endregion return(View(model)); }
// GET: Campaign public async Task <IActionResult> Index(string sortOrder, int?page) { ViewBag.CurrentSort = sortOrder; ViewBag.ProductSortParm = string.IsNullOrEmpty(sortOrder) ? "product" : ""; ViewBag.PromotionSortParm = string.IsNullOrEmpty(sortOrder) ? "promotion" : ""; ViewBag.DiscountSortParm = string.IsNullOrEmpty(sortOrder) ? "discount" : ""; var list = await GetCampaignQueryable(); switch (sortOrder) { case "product": list = list.OrderByDescending(p => p.Product); break; case "promotion": list = list.OrderByDescending(p => p.Promotion); break; case "discount": list = list.OrderByDescending(p => p.Discount); break; default: list = list.OrderBy(s => s.Product); break; } var pageNumber = page ?? 1; var campaignList = new CampaignListModel { Campaigns = list.ToPagedList(pageNumber, 15) }; return(View(campaignList)); }
public CampaignListModel Create(IEnumerable <Campaign> campaigns, IEnumerable <OrderedPair <long, string> > campaignCreatedByAgentNameIdPair, IEnumerable <CorporateAccount> corporateAccounts, IEnumerable <CampaignActivity> campaignActivity, IEnumerable <CampaignActivityAssignment> campaignActivityAssignments, IEnumerable <DirectMailType> directMailTypes) { var model = new CampaignListModel(); var collection = new List <CampaignViewModel>(); campaigns.ToList().ForEach(cg => { var createdBy = "N/A"; var modifiedBy = "N/A"; if (campaignCreatedByAgentNameIdPair != null && campaignCreatedByAgentNameIdPair.Any()) { createdBy = campaignCreatedByAgentNameIdPair.Single(ap => ap.FirstValue == cg.DataRecorderMetaData.DataRecorderCreator.Id).SecondValue; modifiedBy = campaignCreatedByAgentNameIdPair.Single(ap => ap.FirstValue == cg.DataRecorderMetaData.DataRecorderModifier.Id).SecondValue; } var corporateAccountName = string.Empty; if (corporateAccounts != null && corporateAccounts.Any()) { corporateAccountName = corporateAccounts.Where(x => x.Id == cg.AccountId).Select(x => x.Name).FirstOrDefault(); } var campaignActivityCollection = GetCampaignActivityViewModel(cg.Id, campaignActivity, campaignActivityAssignments, campaignCreatedByAgentNameIdPair, directMailTypes, cg.IsPublished); var campaignViewModel = new CampaignViewModel { Id = cg.Id, Name = cg.Name, CampaignType = ((CampaignType)cg.TypeId).ToString(), CampaignMode = ((CampaignMode)cg.ModeId).ToString(), StartDate = cg.StartDate, EndDate = cg.EndDate, IsPublish = cg.IsPublished, CreatedOn = cg.DataRecorderMetaData.DateCreated, CreatedBy = createdBy, ModifiedOn = cg.DataRecorderMetaData.DateModified, ModifiedBy = modifiedBy, CorporateAccount = corporateAccountName, CustomTags = string.IsNullOrEmpty(cg.CustomTags) ? "" : string.Join(", ", cg.CustomTags.Split(',').ToArray()), CampaignActivity = campaignActivityCollection }; collection.Add(campaignViewModel); }); model.Collection = collection; return(model); }