public virtual async Task <CustomerRewardPointsModel> PrepareCustomerRewardPoints(Customer customer) { var model = new CustomerRewardPointsModel(); foreach (var rph in await _rewardPointsService.GetRewardPointsHistory(customer.Id)) { model.RewardPoints.Add(new CustomerRewardPointsModel.RewardPointsHistoryModel { Points = rph.Points, PointsBalance = rph.PointsBalance, Message = rph.Message, CreatedOn = _dateTimeHelper.ConvertToUserTime(rph.CreatedOnUtc, DateTimeKind.Utc) }); } //current amount/balance int rewardPointsBalance = await _rewardPointsService.GetRewardPointsBalance(customer.Id, _storeContext.CurrentStore.Id); decimal rewardPointsAmountBase = await _orderTotalCalculationService.ConvertRewardPointsToAmount(rewardPointsBalance); decimal rewardPointsAmount = await _currencyService.ConvertFromPrimaryStoreCurrency(rewardPointsAmountBase, _workContext.WorkingCurrency); model.RewardPointsBalance = rewardPointsBalance; model.RewardPointsAmount = _priceFormatter.FormatPrice(rewardPointsAmount, true, false); //minimum amount/balance int minimumRewardPointsBalance = _rewardPointsSettings.MinimumRewardPointsToUse; decimal minimumRewardPointsAmountBase = await _orderTotalCalculationService.ConvertRewardPointsToAmount(minimumRewardPointsBalance); decimal minimumRewardPointsAmount = await _currencyService.ConvertFromPrimaryStoreCurrency(minimumRewardPointsAmountBase, _workContext.WorkingCurrency); model.MinimumRewardPointsBalance = minimumRewardPointsBalance; model.MinimumRewardPointsAmount = _priceFormatter.FormatPrice(minimumRewardPointsAmount, true, false); return(model); }
protected CustomerRewardPointsModel PrepareCustomerRewardPointsModel(CustomerRewardPointsPagingFilteringModel command) { if (command.SelectedAccountId <= 0) { return(new CustomerRewardPointsModel()); } var model = new CustomerRewardPointsModel(); var result = _accountService.GetPagedRewardPointHistory( accountId: command.SelectedAccountId, pageIndex: command.PageNumber - 1, pageSize: command.PageSize); for (int i = 0; i < result.Items.Count; i++) { var item = result.Items[i]; var itemModel = new RewardPointsHistoryModel { Id = item.Id, Points = item.Points, UsedPoints = item.UsedPoints, PointsBalance = item.PointsBalance, Message = item.Message, CreatedOn = item.CreatedOnDate }; model.RewardPoints.Add(itemModel); } model.PagingFilteringContext.LoadPagedList(result); model.PagingFilteringContext.SelectedAccountId = command.SelectedAccountId; return(model); }
/// <summary> /// Prepare the customer reward points model /// </summary> /// <param name="page">Number of items page; pass null to load the first page</param> /// <returns>Customer reward points model</returns> public virtual CustomerRewardPointsModel PrepareCustomerRewardPoints(int?page) { //get reward points history var customer = _workContext.CurrentCustomer; var store = _storeContext.CurrentStore; var pageSize = _rewardPointsSettings.PageSize; var rewardPoints = _rewardPointService.GetRewardPointsHistory(customer.Id, store.Id, true, pageIndex: --page ?? 0, pageSize: pageSize); //prepare model var model = new CustomerRewardPointsModel { RewardPoints = rewardPoints.Select(historyEntry => { var activatingDate = _dateTimeHelper.ConvertToUserTime(historyEntry.CreatedOnUtc, DateTimeKind.Utc); return(new CustomerRewardPointsModel.RewardPointsHistoryModel { Points = historyEntry.Points, PointsBalance = historyEntry.PointsBalance.HasValue ? historyEntry.PointsBalance.ToString() : string.Format(_localizationService.GetResource("RewardPoints.ActivatedLater"), activatingDate), Message = historyEntry.Message, CreatedOn = activatingDate, EndDate = !historyEntry.EndDateUtc.HasValue ? null : (DateTime?)_dateTimeHelper.ConvertToUserTime(historyEntry.EndDateUtc.Value, DateTimeKind.Utc) }); }).ToList(), PagerModel = new PagerModel { PageSize = rewardPoints.PageSize, TotalRecords = rewardPoints.TotalCount, PageIndex = rewardPoints.PageIndex, ShowTotalSummary = true, RouteActionName = "CustomerRewardPointsPaged", UseRouteLinks = true, RouteValues = new RewardPointsRouteValues { pageNumber = page ?? 0 } } }; //current amount/balance var rewardPointsBalance = _rewardPointService.GetRewardPointsBalance(customer.Id, _storeContext.CurrentStore.Id); var rewardPointsAmountBase = _orderTotalCalculationService.ConvertRewardPointsToAmount(rewardPointsBalance); var rewardPointsAmount = _currencyService.ConvertFromPrimaryStoreCurrency(rewardPointsAmountBase, _workContext.WorkingCurrency); model.RewardPointsBalance = rewardPointsBalance; model.RewardPointsAmount = _priceFormatter.FormatPrice(rewardPointsAmount, true, false); //minimum amount/balance var minimumRewardPointsBalance = _rewardPointsSettings.MinimumRewardPointsToUse; var minimumRewardPointsAmountBase = _orderTotalCalculationService.ConvertRewardPointsToAmount(minimumRewardPointsBalance); var minimumRewardPointsAmount = _currencyService.ConvertFromPrimaryStoreCurrency(minimumRewardPointsAmountBase, _workContext.WorkingCurrency); model.MinimumRewardPointsBalance = minimumRewardPointsBalance; model.MinimumRewardPointsAmount = _priceFormatter.FormatPrice(minimumRewardPointsAmount, true, false); return(model); }
public ActionResult CustomerRewardPoints(int?page) { if (!_workContext.CurrentCustomer.IsRegistered()) { return(new HttpUnauthorizedResult()); } if (!_rewardPointsSettings.Enabled) { return(RedirectToRoute("CustomerInfo")); } var customer = _workContext.CurrentCustomer; var pageSize = _rewardPointsSettings.PageSize; var model = new CustomerRewardPointsModel(); var list = _rewardPointService.GetRewardPointsHistory(customer.Id, pageIndex: --page ?? 0, pageSize: pageSize); model.RewardPoints = list.Select(rph => new CustomerRewardPointsModel.RewardPointsHistoryModel { Points = rph.Points, PointsBalance = rph.PointsBalance, Message = rph.Message, CreatedOn = _dateTimeHelper.ConvertToUserTime(rph.CreatedOnUtc, DateTimeKind.Utc) }).ToList(); model.PagerModel = new PagerModel { PageSize = list.PageSize, TotalRecords = list.TotalCount, PageIndex = list.PageIndex, ShowTotalSummary = true, RouteActionName = "CustomerRewardPointsPaged", UseRouteLinks = true, RouteValues = new RewardPointsRouteValues { page = page ?? 0 } }; //current amount/balance int rewardPointsBalance = _rewardPointService.GetRewardPointsBalance(customer.Id, _storeContext.CurrentStore.Id); decimal rewardPointsAmountBase = _orderTotalCalculationService.ConvertRewardPointsToAmount(rewardPointsBalance); decimal rewardPointsAmount = _currencyService.ConvertFromPrimaryStoreCurrency(rewardPointsAmountBase, _workContext.WorkingCurrency); model.RewardPointsBalance = rewardPointsBalance; model.RewardPointsAmount = _priceFormatter.FormatPrice(rewardPointsAmount, true, false); //minimum amount/balance int minimumRewardPointsBalance = _rewardPointsSettings.MinimumRewardPointsToUse; decimal minimumRewardPointsAmountBase = _orderTotalCalculationService.ConvertRewardPointsToAmount(minimumRewardPointsBalance); decimal minimumRewardPointsAmount = _currencyService.ConvertFromPrimaryStoreCurrency(minimumRewardPointsAmountBase, _workContext.WorkingCurrency); model.MinimumRewardPointsBalance = minimumRewardPointsBalance; model.MinimumRewardPointsAmount = _priceFormatter.FormatPrice(minimumRewardPointsAmount, true, false); return(View(model)); }
public virtual CustomerRewardPointsModel PrepareCustomerRewardPoints(int?page) { var customer = _workContext.CurrentCustomer; var pageSize = _rewardPointsSettings.PageSize; var model = new CustomerRewardPointsModel(); var list = _rewardPointService.GetRewardPointsHistory(customer.Id, showNotActivated: true, pageIndex: --page ?? 0, pageSize: pageSize); model.RewardPoints = list.Select(rph => { var activatingDate = _dateTimeHelper.ConvertToUserTime(rph.CreatedOnUtc, DateTimeKind.Utc); return(new CustomerRewardPointsModel.RewardPointsHistoryModel { Points = rph.Points, PointsBalance = rph.PointsBalance.HasValue ? rph.PointsBalance.ToString() : string.Format(_localizationService.GetResource("RewardPoints.ActivatedLater"), activatingDate), Message = rph.Message, CreatedOn = activatingDate }); }).ToList(); model.PagerModel = new PagerModel { PageSize = list.PageSize, TotalRecords = list.TotalCount, PageIndex = list.PageIndex, ShowTotalSummary = true, RouteActionName = "CustomerRewardPointsPaged", UseRouteLinks = true, RouteValues = new RewardPointsRouteValues { page = page ?? 0 } }; //current amount/balance int rewardPointsBalance = _rewardPointService.GetRewardPointsBalance(customer.Id, _storeContext.CurrentStore.Id); decimal rewardPointsAmountBase = _orderTotalCalculationService.ConvertRewardPointsToAmount(rewardPointsBalance); decimal rewardPointsAmount = _currencyService.ConvertFromPrimaryStoreCurrency(rewardPointsAmountBase, _workContext.WorkingCurrency); model.RewardPointsBalance = rewardPointsBalance; model.RewardPointsAmount = _priceFormatter.FormatPrice(rewardPointsAmount, true, false); //minimum amount/balance int minimumRewardPointsBalance = _rewardPointsSettings.MinimumRewardPointsToUse; decimal minimumRewardPointsAmountBase = _orderTotalCalculationService.ConvertRewardPointsToAmount(minimumRewardPointsBalance); decimal minimumRewardPointsAmount = _currencyService.ConvertFromPrimaryStoreCurrency(minimumRewardPointsAmountBase, _workContext.WorkingCurrency); model.MinimumRewardPointsBalance = minimumRewardPointsBalance; model.MinimumRewardPointsAmount = _priceFormatter.FormatPrice(minimumRewardPointsAmount, true, false); return(model); }
public ActionResult CustomerRewardPoints() { if (!_workContext.CurrentCustomer.IsRegistered()) { return(new HttpUnauthorizedResult()); } if (!_rewardPointsSettings.Enabled) { return(RedirectToRoute("CustomerInfo")); } var customer = _workContext.CurrentCustomer; var model = new CustomerRewardPointsModel(); foreach (var rph in customer.RewardPointsHistory.OrderByDescending(rph => rph.CreatedOnUtc).ThenByDescending(rph => rph.Id)) { model.RewardPoints.Add(new CustomerRewardPointsModel.RewardPointsHistoryModel { Points = rph.Points, PointsBalance = rph.PointsBalance, Message = rph.Message, CreatedOn = _dateTimeHelper.ConvertToUserTime(rph.CreatedOnUtc, DateTimeKind.Utc) }); } //current amount/balance int rewardPointsBalance = customer.GetRewardPointsBalance(); decimal rewardPointsAmountBase = _orderTotalCalculationService.ConvertRewardPointsToAmount(rewardPointsBalance); decimal rewardPointsAmount = _currencyService.ConvertFromPrimaryStoreCurrency(rewardPointsAmountBase, _workContext.WorkingCurrency); model.RewardPointsBalance = rewardPointsBalance; model.RewardPointsAmount = _priceFormatter.FormatPrice(rewardPointsAmount, true, false); //minimum amount/balance int minimumRewardPointsBalance = _rewardPointsSettings.MinimumRewardPointsToUse; decimal minimumRewardPointsAmountBase = _orderTotalCalculationService.ConvertRewardPointsToAmount(minimumRewardPointsBalance); decimal minimumRewardPointsAmount = _currencyService.ConvertFromPrimaryStoreCurrency(minimumRewardPointsAmountBase, _workContext.WorkingCurrency); model.MinimumRewardPointsBalance = minimumRewardPointsBalance; model.MinimumRewardPointsAmount = _priceFormatter.FormatPrice(minimumRewardPointsAmount, true, false); return(View(model)); }