protected override void OnLoaded() { TotalPage = (OrmManager.Count <SystemLogData>() + PageSize - 1) / PageSize; // base.OnLoaded(); Logs = OrmManager.Fetch <SystemLogData>(x => x.Id > 0).Skip((CurrentPage - 1) * PageSize).Take(PageSize); RaisePropertyChanged(nameof(TotalPage)); RaisePropertyChanged(nameof(Logs)); }
public ListSystemMessageLogViewModel(ILoggerFacade logger) //: base(container)IUnityContainer container { Logger = logger; Logs = OrmManager.Fetch <SystemLogData>(x => x.Id > 0).Take(PageSize); TotalPage = (OrmManager.Count <SystemLogData>() + PageSize - 1) / PageSize; RaisePropertyChanged(nameof(CurrentPage)); RaisePropertyChanged(nameof(Logs)); SelectedCommand = new Command <TextBlock>(detailData => { detailData.Text = SelectedLog.OriginData; Logger.Log(SelectedLog.OriginData, Category.Debug, Priority.High); }, detailData => SelectedLog != null); GoToPageCommand = new Command(() => { Logs = OrmManager.Fetch <SystemLogData>(x => x.Id > 0).Skip(PageSize * (CurrentPage - 1)).Take(PageSize); RaisePropertyChanged(nameof(CurrentPage)); RaisePropertyChanged(nameof(Logs)); Logger.Log(CurrentPage.ToString(), Category.Debug, Priority.High); }, () => CurrentPage >= 1); FirstPageCommand = new Command(() => { CurrentPage = 1; Logs = OrmManager.Fetch <SystemLogData>(x => x.Id > 0).Skip(PageSize * (CurrentPage - 1)).Take(PageSize); RaisePropertyChanged(nameof(CurrentPage)); RaisePropertyChanged(nameof(Logs)); Logger.Log(CurrentPage.ToString(), Category.Debug, Priority.High); }, () => CurrentPage != 1 && CurrentPage <= TotalPage); NextPageCommand = new Command(() => { CurrentPage++; if (CurrentPage > TotalPage) { CurrentPage = TotalPage; } Logs = OrmManager.Fetch <SystemLogData>(x => x.Id > 0).Skip(PageSize * (CurrentPage - 1)).Take(PageSize); RaisePropertyChanged(nameof(CurrentPage)); RaisePropertyChanged(nameof(Logs)); Logger.Log(CurrentPage.ToString(), Category.Debug, Priority.High); }, () => CurrentPage < TotalPage); PrevPageCommand = new Command(() => { CurrentPage--; Logs = OrmManager.Fetch <SystemLogData>(x => x.Id > 0).Skip(PageSize * (CurrentPage - 1)).Take(PageSize); RaisePropertyChanged(nameof(CurrentPage)); RaisePropertyChanged(nameof(Logs)); Logger.Log(CurrentPage.ToString(), Category.Debug, Priority.High); }, () => CurrentPage > 1 && CurrentPage <= TotalPage); LastPageCommand = new Command(() => { CurrentPage = TotalPage; Logs = OrmManager.Fetch <SystemLogData>(x => x.Id > 0).Skip(PageSize * (CurrentPage - 1)).Take(PageSize); RaisePropertyChanged(nameof(CurrentPage)); RaisePropertyChanged(nameof(Logs)); Logger.Log(CurrentPage.ToString(), Category.Debug, Priority.High); }, () => CurrentPage < TotalPage); }
/// <summary> /// 向服务器提交AI学习请求 /// </summary> /// <param name="source">源语句</param> /// <param name="aim">目标语句</param> /// <param name="QQNum">发起学习用户的QQ</param> /// <param name="QunNum">发起学习的群</param> /// <param name="superstudy">是否为特权学习</param> /// <returns>用户友好的提示语</returns> public string AIStudy(string source, string aim, long QQNum, long QunNum = 0, bool superstudy = false) { var study = new StudyWords(); study.SourceQQNum = QQNum; study.QQNum = WorkContext.GetState <long>(Constract.CurrentQQ); study.GroupId = QunNum; study.Source = source; study.Aim = aim; if (superstudy) { study.Pass = true; study.Reson = "特权学习"; } else { } if (OrmManager.Count <BadWords>(x => string.Equals(x.Word, source, StringComparison.InvariantCultureIgnoreCase)) > 0 || OrmManager.Count <BadWords>(x => string.Equals(x.Word, aim, StringComparison.InvariantCultureIgnoreCase)) > 0) { return("ForbiddenWord"); } if (OrmManager.Count <StudyWords>(x => x.SourceQQNum == QQNum && x.GroupId == QunNum && x.Source == source && x.Pass) > 0) { return("Forbidden"); } else if (OrmManager.Count <StudyWords>(x => x.SourceQQNum == QQNum && x.GroupId == QunNum && x.Source == source && !x.Pass) > 0) { return("Waitting"); } OrmManager.Insert(study); if (!study.Pass) { return("pending"); } else { return("Success"); } }