Hi.
I am on llblgen v3.5. I use LLBLGen Pro Runtime Framework with adapter template group.
I have this table that stores user verifications for correct access to services:
CREATE TABLE [dbo].[UserAccessLevelsVerification](
[UserAccessLevelsVerificationId] [bigint] IDENTITY(1,1) NOT NULL,
[UserId] [uniqueidentifier] NOT NULL,
[ServiceId] [bigint] NOT NULL,
[When] [datetime] NOT NULL,
CONSTRAINT [PK_UserAccessLevelsVerification] PRIMARY KEY CLUSTERED
(
[UserAccessLevelsVerificationId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
I have a gridview with a llblgenprodatasource2. I'd like to add this filter to get the latest verification per service:
select * from UserAccessLevelsVerification where UserAccessLevelsVerificationId in
(select max(UserAccessLevelsVerificationId) ualvId from UserAccessLevelsVerification group by serviceid)
Below is my count/fetch code. How do I add the filter?
private RelationPredicateBucket FilterToUse { get; set; }
protected void UserAccessLevelsVerificationDsPerformGetDbCount(object sender, PerformGetDbCountEventArgs2 e) {
using (var adapter = new DataAccessAdapter()) {
CalculateFilterToUse();
e.DbCount = adapter.GetDbCount(e.ContainedCollection, FilterToUse);
}
}
protected void UserAccessLevelsVerificationDsPerformSelect(object sender, PerformSelectEventArgs2 e) {
using (var adapter = new DataAccessAdapter()) {
CalculateFilterToUse();
var isFilterListRequest = e.PageSize == 0 && !_isExcelExport;
var sorterToUse = isFilterListRequest ? e.Sorter : SorterToUse ?? new SortExpression(UserAccessLevelsVerificationFields.When | SortOperator.Descending);
if (GridViewFilterFormat != CurrentFilter && e.PageNumber > 1) {
CurrentFilter = GridViewFilterFormat;
UserAccessLevelsVerificationGridView.PageIndex = 0;
return;
}
adapter.FetchEntityCollection(e.ContainedCollection, FilterToUse, e.MaxNumberOfItemsToReturn, sorterToUse, e.PrefetchPath, e.PageNumber, e.PageSize);
_btnExcel.Enabled = e.ContainedCollection.Count > 0;
}
}