/// <summary>
        /// Prepare paged address attribute value list model
        /// </summary>
        /// <param name="searchModel">Address attribute value search model</param>
        /// <param name="addressAttribute">Address attribute</param>
        /// <returns>
        /// A task that represents the asynchronous operation
        /// The task result contains the address attribute value list model
        /// </returns>
        public virtual async Task <AddressAttributeValueListModel> PrepareAddressAttributeValueListModelAsync(AddressAttributeValueSearchModel searchModel,
                                                                                                              AddressAttribute addressAttribute)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            if (addressAttribute == null)
            {
                throw new ArgumentNullException(nameof(addressAttribute));
            }

            //get address attribute values
            var addressAttributeValues = (await _addressAttributeService.GetAddressAttributeValuesAsync(addressAttribute.Id)).ToPagedList(searchModel);

            //prepare grid model
            var model = new AddressAttributeValueListModel().PrepareToGrid(searchModel, addressAttributeValues, () =>
            {
                //fill in model values from the entity
                return(addressAttributeValues.Select(value => value.ToModel <AddressAttributeValueModel>()));
            });

            return(model);
        }
Esempio n. 2
0
        /// <summary>
        /// Prepare paged address attribute value list model
        /// </summary>
        /// <param name="searchModel">Address attribute value search model</param>
        /// <param name="addressAttribute">Address attribute</param>
        /// <returns>Address attribute value list model</returns>
        public virtual AddressAttributeValueListModel PrepareAddressAttributeValueListModel(AddressAttributeValueSearchModel searchModel,
                                                                                            AddressAttribute addressAttribute)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            if (addressAttribute == null)
            {
                throw new ArgumentNullException(nameof(addressAttribute));
            }

            //get address attribute values
            var addressAttributeValues = _addressAttributeService.GetAddressAttributeValues(addressAttribute.Id);

            //prepare grid model
            var model = new AddressAttributeValueListModel
            {
                //fill in model values from the entity
                Data  = addressAttributeValues.PaginationByRequestModel(searchModel).Select(value => value.ToModel <AddressAttributeValueModel>()),
                Total = addressAttributeValues.Count
            };

            return(model);
        }