refactor: 增加 QueryPageBase 基类
This commit is contained in:
parent
1e3fabc46f
commit
aee783baea
|
@ -8,13 +8,8 @@ namespace Bootstrap.Pages.Admin.Components
|
|||
/// <summary>
|
||||
/// 字典表维护组件
|
||||
/// </summary>
|
||||
public class DictsBase : PageBase
|
||||
public class DictsBase : QueryPageBase<BootstrapDict>
|
||||
{
|
||||
/// <summary>
|
||||
/// 获得/设置 BootstrapDict 实例
|
||||
/// </summary>
|
||||
protected BootstrapDict QueryModel { get; set; } = new BootstrapDict() { Define = -1 };
|
||||
|
||||
/// <summary>
|
||||
/// 获得/设置 字典类别集合
|
||||
/// </summary>
|
||||
|
@ -25,12 +20,20 @@ namespace Bootstrap.Pages.Admin.Components
|
|||
/// </summary>
|
||||
protected List<SelectedItem> QueryDefine { get; set; } = new List<SelectedItem>(new SelectedItem[] { new SelectedItem() { Text = "全部", Value = "-1", Active = true }, new SelectedItem() { Text = "系统使用", Value = "0" }, new SelectedItem() { Text = "自定义", Value = "1" } });
|
||||
|
||||
/// <summary>
|
||||
/// 获得/设置 查询条件集合
|
||||
/// </summary>
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
QueryModel.Define = -1;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查询方法
|
||||
/// </summary>
|
||||
/// <param name="pageIndex">页码</param>
|
||||
/// <param name="pageItems">每页显示数据条目数量</param>
|
||||
protected QueryData<BootstrapDict> Query(int pageIndex, int pageItems)
|
||||
protected override QueryData<BootstrapDict> Query(int pageIndex, int pageItems)
|
||||
{
|
||||
var data = DataAccess.DictHelper.RetrieveDicts();
|
||||
if (QueryModel.Define != -1) data = data.Where(d => d.Define == QueryModel.Define);
|
||||
|
@ -41,23 +44,14 @@ namespace Bootstrap.Pages.Admin.Components
|
|||
return new QueryData<BootstrapDict>() { Items = items, TotalCount = totalCount, PageIndex = pageIndex, PageItems = pageItems };
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 新建方法
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
protected BootstrapDict Add()
|
||||
{
|
||||
return new BootstrapDict();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存方法
|
||||
/// </summary>
|
||||
protected bool Save(BootstrapDict dict) => DataAccess.DictHelper.Save(dict);
|
||||
protected override bool Save(BootstrapDict dict) => DataAccess.DictHelper.Save(dict);
|
||||
|
||||
/// <summary>
|
||||
/// 删除方法
|
||||
/// </summary>
|
||||
protected bool Delete(IEnumerable<BootstrapDict> items) => DataAccess.DictHelper.Delete(items.Select(item => item.Id ?? ""));
|
||||
protected override bool Delete(IEnumerable<BootstrapDict> items) => DataAccess.DictHelper.Delete(items.Select(item => item.Id ?? ""));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
using System.Collections.Generic;
|
||||
using Bootstrap.Admin.Components;
|
||||
|
||||
namespace Bootstrap.Pages.Admin.Components
|
||||
{
|
||||
/// <summary>
|
||||
/// 页面组件基类
|
||||
/// </summary>
|
||||
public abstract class QueryPageBase<TItem> : PageBase where TItem : class, new()
|
||||
{
|
||||
/// <summary>
|
||||
/// 获得/设置 TItem 实例
|
||||
/// </summary>
|
||||
protected TItem QueryModel { get; set; } = new TItem();
|
||||
|
||||
/// <summary>
|
||||
/// 查询方法
|
||||
/// </summary>
|
||||
/// <param name="pageIndex">页码</param>
|
||||
/// <param name="pageItems">每页显示数据条目数量</param>
|
||||
protected abstract QueryData<TItem> Query(int pageIndex, int pageItems);
|
||||
|
||||
/// <summary>
|
||||
/// 新建方法
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
protected TItem Add() => new TItem();
|
||||
|
||||
/// <summary>
|
||||
/// 保存方法
|
||||
/// </summary>
|
||||
protected abstract bool Save(TItem dict);
|
||||
|
||||
/// <summary>
|
||||
/// 删除方法
|
||||
/// </summary>
|
||||
protected abstract bool Delete(IEnumerable<TItem> items);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue