/*========================================================================================================================== | CONSTRUCTOR \-------------------------------------------------------------------------------------------------------------------------*/ /// <summary> /// Establishes a new instance of the <see cref="SampleControllerFactory"/>, including any shared dependencies to be used /// across instances of controllers. /// </summary> /// <remarks> /// The constructor is responsible for establishing dependencies with the singleton lifestyle so that they are available /// to all requests. /// </remarks> public SampleActivator(string connectionString) { /*------------------------------------------------------------------------------------------------------------------------ | Initialize Topic Repository \-----------------------------------------------------------------------------------------------------------------------*/ var sqlTopicRepository = new SqlTopicRepository(connectionString); var cachedTopicRepository = new CachedTopicRepository(sqlTopicRepository); _ = new PageTopicViewModel(); /*------------------------------------------------------------------------------------------------------------------------ | Preload repository \-----------------------------------------------------------------------------------------------------------------------*/ _topicRepository = cachedTopicRepository; _typeLookupService = new DynamicTopicViewModelLookupService(); _topicMappingService = new TopicMappingService(_topicRepository, _typeLookupService); _ = _topicRepository.Load(); /*------------------------------------------------------------------------------------------------------------------------ | Establish hierarchical topic mapping service \-----------------------------------------------------------------------------------------------------------------------*/ _hierarchicalMappingService = new CachedHierarchicalTopicMappingService<NavigationTopicViewModel>( new HierarchicalTopicMappingService<NavigationTopicViewModel>( _topicRepository, _topicMappingService ) ); }
public ActionResult Topic(int page = 1) { var topics = db.Topics; int pageSize = 5; // количество объектов на страницу IEnumerable <Topic> topicsPerPages = topics.OrderBy(p => p.Id).Skip((page - 1) * pageSize).Take(pageSize); PageInfo pageInfo = new PageInfo { PageNumber = page, PageSize = pageSize, TotalItems = topics.Count() }; PageTopicViewModel tvm = new PageTopicViewModel { PageInfo = pageInfo, Topics = topicsPerPages }; return(View(tvm)); }