I am facing a problem while trying to use DotvvmFacadeExtensions.FillDataSet extension method. It extends ICrudFilteredFacade<TListDTO, TDetailDTO, TFilterDTO, TKey> / ICrudFacade<TListDTO, TDetailDTO, TKey>, but the method implementation does not work/need TDetailDTO objects.
I think DotvvmFacadeExtensions.FillDataSet should extend ICrudListFacade<TListDTO> / ICrudFilteredListFacade<TListDTO, TFilterDTO> (they are the base for interfaces those full-CRUD interfaces anyway), which makes more sense to me. The only issue is that these interfaces does not implement IFacade (to get UnitOfWorkProvider) - I feel like it is omitted "by accident"; or is it an intention?
Resulting method signatures could be:
-
public static void FillDataSet<TListDTO>(this ICrudListFacade<TListDTO> facade, GridViewDataSet<TListDTO> dataSet)
-
public static void FillDataSet<TListDTO, TFilterDTO>(this ICrudFilteredListFacade<TListDTO, TFilterDTO> facade, GridViewDataSet<TListDTO> dataSet, TFilterDTO filter)
My use-case: I have a DotVVM ViewModel for list-like page with injected ICrudFilteredListFacade<TListDTO, TFilterDTO> object and I would like fill DataSet in PreRender method.