/// <summary> /// Prepare paged affiliated customer list model /// </summary> /// <param name="searchModel">Affiliated customer search model</param> /// <param name="affiliate">Affiliate</param> /// <returns>Affiliated customer list model</returns> public virtual AffiliatedCustomerListModel PrepareAffiliatedCustomerListModel(AffiliatedCustomerSearchModel searchModel, Affiliate affiliate) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } if (affiliate == null) { throw new ArgumentNullException(nameof(affiliate)); } //get customers var customers = _customerService.GetAllCustomers(affiliateId: affiliate.Id, pageIndex: searchModel.Page - 1, pageSize: searchModel.PageSize); //prepare list model var model = new AffiliatedCustomerListModel { //fill in model values from the entity Data = customers.Select(customer => new AffiliatedCustomerModel { Id = customer.Id, Name = customer.Email }), Total = customers.TotalCount }; return(model); }
/// <summary> /// Prepare paged affiliated customer list model /// </summary> /// <param name="searchModel">Affiliated customer search model</param> /// <param name="affiliate">Affiliate</param> /// <returns>Affiliated customer list model</returns> public virtual AffiliatedCustomerListModel PrepareAffiliatedCustomerListModel(AffiliatedCustomerSearchModel searchModel, Affiliate affiliate) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } if (affiliate == null) { throw new ArgumentNullException(nameof(affiliate)); } //get customers var customers = _customerService.GetAllCustomers(affiliateId: affiliate.Id, pageIndex: searchModel.Page - 1, pageSize: searchModel.PageSize); //prepare list model var model = new AffiliatedCustomerListModel().PrepareToGrid(searchModel, customers, () => { //fill in model values from the entity return(customers.Select(customer => { var affiliatedCustomerModel = customer.ToModel <AffiliatedCustomerModel>(); affiliatedCustomerModel.Name = customer.Email; return affiliatedCustomerModel; })); }); return(model); }