Пример #1
0
        public virtual IActionResult List(DiscountSearchModel searchModel)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageDiscounts))
                return AccessDeniedKendoGridJson();

            //prepare model
            var model = _discountModelFactory.PrepareDiscountListModel(searchModel);

            return Json(model);
        }
Пример #2
0
        public IActionResult DiscountsList([FromQuery] DiscountSearchModel searchModel)
        {
            var discountCoupons = _discountCouponService.SearchDiscountCoupons(searchModel.SearchPhrase,
                                                                               out int totalMatches, searchModel.Current, searchModel.RowCount);

            var discountCouponModels = discountCoupons.Select(x => _modelMapper.Map <DiscountModel>(x)).ToList();

            return(R.Success.With("discounts", discountCouponModels)
                   .WithGridResponse(totalMatches, searchModel.Current, searchModel.RowCount)
                   .Result);
        }
        public virtual IActionResult List(DiscountSearchModel searchModel)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageDiscounts))
            {
                return(AccessDeniedDataTablesJson());
            }

            //prepare model
            var model = _discountModelFactory.PrepareDiscountListModel(searchModel);

            return(Json(model));
        }
        /// <returns>A task that represents the asynchronous operation</returns>
        public virtual async Task <IActionResult> List(DiscountSearchModel searchModel)
        {
            if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageDiscounts))
            {
                return(await AccessDeniedDataTablesJson());
            }

            //prepare model
            var model = await _discountModelFactory.PrepareDiscountListModelAsync(searchModel);

            return(Json(model));
        }
Пример #5
0
        /// <summary>
        /// Prepare discount search model
        /// </summary>
        /// <param name="searchModel">Discount search model</param>
        /// <returns>Discount search model</returns>
        public virtual DiscountSearchModel PrepareDiscountSearchModel(DiscountSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //prepare available discount types
            _baseAdminModelFactory.PrepareDiscountTypes(searchModel.AvailableDiscountTypes);

            //prepare page parameters
            searchModel.SetGridPageSize();

            return(searchModel);
        }
Пример #6
0
        /// <summary>
        /// Prepare paged discount list model
        /// </summary>
        /// <param name="searchModel">Discount search model</param>
        /// <returns>Discount list model</returns>
        public virtual DiscountListModel PrepareDiscountListModel(DiscountSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get parameters to filter discounts
            var discountType = searchModel.SearchDiscountTypeId > 0 ? (DiscountType?)searchModel.SearchDiscountTypeId : null;
            var startDateUtc = searchModel.SearchStartDate.HasValue ?
                               (DateTime?)_dateTimeHelper.ConvertToUtcTime(searchModel.SearchStartDate.Value, _dateTimeHelper.CurrentTimeZone) : null;
            var endDateUtc = searchModel.SearchEndDate.HasValue ?
                             (DateTime?)_dateTimeHelper.ConvertToUtcTime(searchModel.SearchEndDate.Value, _dateTimeHelper.CurrentTimeZone).AddDays(1) : null;

            //get discounts
            var discounts = _discountService.GetAllDiscounts(showHidden: true,
                                                             discountType: discountType,
                                                             couponCode: searchModel.SearchDiscountCouponCode,
                                                             discountName: searchModel.SearchDiscountName,
                                                             startDateUtc: startDateUtc,
                                                             endDateUtc: endDateUtc);

            //prepare list model
            var model = new DiscountListModel
            {
                Data = discounts.PaginationByRequestModel(searchModel).Select(discount =>
                {
                    //fill in model values from the entity
                    var discountModel = discount.ToModel <DiscountModel>();

                    //fill in additional values (not existing in the entity)
                    discountModel.DiscountTypeName         = _localizationService.GetLocalizedEnum(discount.DiscountType);
                    discountModel.PrimaryStoreCurrencyCode = _currencyService
                                                             .GetCurrencyById(_currencySettings.PrimaryStoreCurrencyId)?.CurrencyCode;
                    discountModel.TimesUsed = _discountService.GetAllDiscountUsageHistory(discount.Id, pageSize: 1).TotalCount;

                    return(discountModel);
                }),
                Total = discounts.Count
            };

            return(model);
        }
        /// <summary>
        /// Prepare paged discount list model
        /// </summary>
        /// <param name="searchModel">Discount search model</param>
        /// <returns>
        /// A task that represents the asynchronous operation
        /// The task result contains the discount list model
        /// </returns>
        public virtual async Task <DiscountListModel> PrepareDiscountListModelAsync(DiscountSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get parameters to filter discounts
            var discountType = searchModel.SearchDiscountTypeId > 0 ? (DiscountType?)searchModel.SearchDiscountTypeId : null;
            var startDateUtc = searchModel.SearchStartDate.HasValue ?
                               (DateTime?)_dateTimeHelper.ConvertToUtcTime(searchModel.SearchStartDate.Value, await _dateTimeHelper.GetCurrentTimeZoneAsync()) : null;
            var endDateUtc = searchModel.SearchEndDate.HasValue ?
                             (DateTime?)_dateTimeHelper.ConvertToUtcTime(searchModel.SearchEndDate.Value, await _dateTimeHelper.GetCurrentTimeZoneAsync()).AddDays(1) : null;

            //get discounts
            var discounts = (await _discountService.GetAllDiscountsAsync(showHidden: true,
                                                                         discountType: discountType,
                                                                         couponCode: searchModel.SearchDiscountCouponCode,
                                                                         discountName: searchModel.SearchDiscountName,
                                                                         startDateUtc: startDateUtc,
                                                                         endDateUtc: endDateUtc)).ToPagedList(searchModel);

            //prepare list model
            var model = await new DiscountListModel().PrepareToGridAsync(searchModel, discounts, () =>
            {
                return(discounts.SelectAwait(async discount =>
                {
                    //fill in model values from the entity
                    var discountModel = discount.ToModel <DiscountModel>();

                    //fill in additional values (not existing in the entity)
                    discountModel.DiscountTypeName = await _localizationService.GetLocalizedEnumAsync(discount.DiscountType);
                    discountModel.PrimaryStoreCurrencyCode = (await _currencyService
                                                              .GetCurrencyByIdAsync(_currencySettings.PrimaryStoreCurrencyId))?.CurrencyCode;
                    discountModel.TimesUsed = (await _discountService.GetAllDiscountUsageHistoryAsync(discount.Id, pageSize: 1)).TotalCount;

                    return discountModel;
                }));
            });

            return(model);
        }
        public IQueryable <DiscountDto> GetDiscountQueryable(DiscountSearchModel searchModel = null)
        {
            IQueryable <DiscountDto> list = null;

            if (searchModel.IsNull())
            {
                list = _discountService.GetAll().OrderBy(d => d.DateCreated);
            }
            else
            {
                if (!searchModel.BranchID.IsNull())
                {
                    list = _discountService.GetAll().Where(d => d.BranchID == searchModel.BranchID);
                }
                else
                {
                    list = _discountService.GetAll().OrderBy(d => d.DateCreated);
                }
            }

            return(list);
        }
        public virtual ActionResult GetDiscount([DataSourceRequest] DataSourceRequest request, DiscountSearchModel searchModel)
        {
            var list = GetDiscountQueryable(searchModel);

            return(Json(list.ToDataSourceResult(request), JsonRequestBehavior.AllowGet));
        }