initial commit

This commit is contained in:
2026-08-04 14:41:21 +03:00
parent 3cb8fcde60
commit 1a1d6186d8
101 changed files with 23239 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
using Microsoft.Data.SqlClient;
namespace Library.Models;
public class RepositoryPageModel : BasePageModel
{
public BookListData Books { get; } = new( );
public CategoryItemData CategoryData { init; get; } = null!;
public List<CategoryItemData> CategoryPath { init; get; } = new( );
public PagingData PagingData { init; get; } = null!;
public RepositoryPageModel( SqlConnection? db , int category_index , int page_index )
: base( db )
{
CategoryData = LookupCategoryData( category_index );
BuildCategoryPath( CategoryTree.FindCategory( CategoryData.ParentID ) );
Books.LoadCategory( db! , CategoryData.ID , page_index , 20 );
int books_in_category = BookListData.GetCategoryCount( db! , category_index );
PagingData = new PagingData( "/Repository/" + category_index + "?page=" , page_index , books_in_category , 20 );
}
private CategoryItemData LookupCategoryData( int category_index )
{
CategoryItemData? category_data = CategoryTree.FindCategory( category_index );
if ( category_data != null )
return category_data!;
return CategoryTree.FindCategory( CategoryTree.GetRootID( ) )!;
}
private void BuildCategoryPath( CategoryItemData? item )
{
if ( item == null )
return;
CategoryItemData? parent_item = CategoryTree.FindCategory( item!.ParentID );
if ( parent_item != null )
BuildCategoryPath( parent_item );
CategoryPath.Add( item! );
}
}