/// <summary> /// Prepare paged user address list model /// </summary> /// <param name="searchModel">User address search model</param> /// <param name="user">User</param> /// <returns>User address list model</returns> public virtual UserAddressListModel PrepareUserAddressListModel(UserAddressSearchModel searchModel, User user) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } if (user == null) { throw new ArgumentNullException(nameof(user)); } //get user addresses var addresses = user.Addresses .OrderByDescending(address => address.CreatedOnUtc).ThenByDescending(address => address.Id).ToList(); //prepare list model var model = new UserAddressListModel { Data = addresses.PaginationByRequestModel(searchModel).Select(address => { //fill in model values from the entity var addressModel = address.ToModel <AddressModel>(); //fill in additional values (not existing in the entity) PrepareModelAddressHtml(addressModel, address); return(addressModel); }), Total = addresses.Count }; return(model); }
/// <summary> /// Prepare user address search model /// </summary> /// <param name="searchModel">User address search model</param> /// <param name="user">User</param> /// <returns>User address search model</returns> protected virtual UserAddressSearchModel PrepareUserAddressSearchModel(UserAddressSearchModel searchModel, User user) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } if (user == null) { throw new ArgumentNullException(nameof(user)); } searchModel.UserId = user.Id; //prepare page parameters searchModel.SetGridPageSize(); return(searchModel); }