private async void ReloadRequests( SHTarget Target )
{
if ( LoadingRing.IsActive ) return;
ReqTarget = Target;
MarkLoading();
HSLoader<SHRequest> CLoader = new HSLoader<SHRequest>(
BindItem.Id
, Target
, ( _Target, _Skip, _Limit, _Ids ) => Shared.ShRequest.GetRequests( _Target, _Ids[0], _Skip, _Limit )
);
CLoader.ConvertResult = xs =>
{
XParameter XParam = XGrant.Parameter( BindItem.Id );
if ( XParam != null )
{
foreach ( SHRequest x in xs )
{
x.Granted = XParam.FindParameter( x.Id ) != null;
}
}
return xs.ToArray();
};
IList<SHRequest> FirstPage = await CLoader.NextPage();
MarkNotLoading();
RequestsSource = new Observables<SHRequest, SHRequest>( FirstPage );
RequestsSource.ConnectLoader( CLoader );
RequestsSource.LoadStart += ( x, y ) => MarkLoading();
RequestsSource.LoadEnd += ( x, y ) => MarkNotLoading();
RequestList.ItemsSource = RequestsSource;
}
#endregion