public IndexViewModel Create(int endpointId, string orderBy, string direction, int skip, int take, string filter) { IDataSourceRepository dataSourceRepository = this.RequestHandler.Storage.GetRepository <IDataSourceRepository>(); return(new IndexViewModel() { EndpointId = endpointId, Grid = new GridViewModelFactory(this.RequestHandler).Create( orderBy, direction, skip, take, dataSourceRepository.CountByEndpointId(endpointId, filter), new[] { new GridColumnViewModelFactory(this.RequestHandler).Create("Code", "Code"), new GridColumnViewModelFactory(this.RequestHandler).Create("C# class name", "CSharpClassName"), new GridColumnViewModelFactory(this.RequestHandler).CreateEmpty() }, dataSourceRepository.FilteredByEndpointIdRange(endpointId, orderBy, direction, skip, take, filter).ToList().Select(ds => new DataSourceViewModelFactory(this.RequestHandler).Create(ds)), "_DataSource" ) }); }