/// <summary> /// Prepare paged list model of products that use the specification attribute /// </summary> /// <param name="searchModel">Search model of products that use the specification attribute</param> /// <param name="specificationAttribute">Specification attribute</param> /// <returns>List model of products that use the specification attribute</returns> public virtual SpecificationAttributeProductListModel PrepareSpecificationAttributeProductListModel( SpecificationAttributeProductSearchModel searchModel, SpecificationAttribute specificationAttribute) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } if (specificationAttribute == null) { throw new ArgumentNullException(nameof(specificationAttribute)); } //get products var products = _specificationAttributeService.GetProductsBySpecificationAttributeId( specificationAttributeId: specificationAttribute.Id, pageIndex: searchModel.Page - 1, pageSize: searchModel.PageSize); //prepare list model var model = new SpecificationAttributeProductListModel { //fill in model values from the entity Data = products.Select(product => new SpecificationAttributeProductModel { SpecificationAttributeId = specificationAttribute.Id, ProductId = product.Id, ProductName = product.Name, Published = product.Published }), Total = products.TotalCount }; return(model); }
/// <summary> /// Prepare paged list model of products that use the specification attribute /// </summary> /// <param name="searchModel">Search model of products that use the specification attribute</param> /// <param name="specificationAttribute">Specification attribute</param> /// <returns>List model of products that use the specification attribute</returns> public virtual SpecificationAttributeProductListModel PrepareSpecificationAttributeProductListModel( SpecificationAttributeProductSearchModel searchModel, SpecificationAttribute specificationAttribute) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } if (specificationAttribute == null) { throw new ArgumentNullException(nameof(specificationAttribute)); } //get products var products = _specificationAttributeService.GetProductsBySpecificationAttributeId( specificationAttributeId: specificationAttribute.Id, pageIndex: searchModel.Page - 1, pageSize: searchModel.PageSize); //prepare list model var model = new SpecificationAttributeProductListModel().PrepareToGrid(searchModel, products, () => { //fill in model values from the entity return(products.Select(product => { var specificationAttributeProductModel = product.ToModel <SpecificationAttributeProductModel>(); specificationAttributeProductModel.ProductId = product.Id; specificationAttributeProductModel.ProductName = product.Name; specificationAttributeProductModel.SpecificationAttributeId = specificationAttribute.Id; return specificationAttributeProductModel; })); }); return(model); }
/// <summary> /// Prepare paged list model of products that use the specification attribute /// </summary> /// <param name="searchModel">Search model of products that use the specification attribute</param> /// <param name="specificationAttribute">Specification attribute</param> /// <returns>List model of products that use the specification attribute</returns> public virtual SpecificationAttributeProductListModel PrepareSpecificationAttributeProductListModel( SpecificationAttributeProductSearchModel searchModel, SpecificationAttribute specificationAttribute) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } if (specificationAttribute == null) { throw new ArgumentNullException(nameof(specificationAttribute)); } //prepare list model var model = new SpecificationAttributeProductListModel { }; return(model); }