/// <summary>
/// 缓存数据分页查询跳转实现方法
/// </summary>
private void CachePageChange()
{
DispatcherHelper.RunAsync(() =>
{
try
{
Models.Clear();
var drugDicListsCache = (List<DrugDicModel>)CacheHelper.Instance.GetCacheData(CacheKey.DrugDic);
var pageDatas = drugDicListsCache.Skip((int)(QueryParameter.Page - 1) * (int)QueryParameter.PageSize).Take((int)QueryParameter.PageSize);
QueryParameter.TotalCount = drugDicListsCache.Count;
pageDatas.ToList().ForEach(model => Models.Add(model));
}
catch (Exception ex)
{
//Messenger.Default.Send(new ToastMessage { ToastType = ToastType.Error, Message = "获取生产厂家字典失败" }, MessengerToken.TOAST_MESSAGE);
}
});
}
/// <summary>
/// 查询参数基类
/// </summary>
public class QueryParameter : INotifyPropertyChanged
{
private string _keyword;
private int? _page;
private int? _pagesize;
private int? _totalcount;
private string _order;
/// <summary>
/// 搜索关键字
/// </summary>
public string Keyword
{
get => _keyword;
set
{
_keyword = value;
RaisePropertyChanged(() => Keyword);
}
}
/// <summary>
/// 页索引,即第几页,从1开始
/// </summary>
public int? Page
{
get => _page;
set
{
_page = value;
RaisePropertyChanged(() => Page);
}
}
/// <summary>
/// 每页显示行数
/// </summary>
public int? PageSize
{
get => _pagesize;
set
{
_pagesize = value;
RaisePropertyChanged(() => PageSize);
}
}
/// <summary>
/// 总行数
/// </summary>
public int? TotalCount
{
get => _totalcount;
set
{
_totalcount = value;
RaisePropertyChanged(() => TotalCount);
}
}
/// <summary>
/// 排序条件
/// </summary>
public string Order
{
get => _order;
set
{
_order = value;
RaisePropertyChanged(() => Order);
}
}
#region Implementation
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void RaisePropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
public virtual void RaisePropertyChanged<T>(Expression<Func<T>> propertyExpression)
{
var memberExpr = propertyExpression.Body as MemberExpression;
if (memberExpr == null)
throw new ArgumentException("propertyExpression should represent access to a member");
string memberName = memberExpr.Member.Name;
RaisePropertyChanged(memberName);
}
#endregion Implementation
}