private async Task Search(bool isFirst) { if (Form.HasError || mIsSeaching) { return; } if (isFirst != true && mIsLoadedAllData) { return; } IsPageDataLoading = !isFirst; mIsSeaching = true; if (isFirst) { mIsLoadedAllData = false; mCacheSearchForm = Form.Clone() as SearchForm; this.Biaoshis.Clear(); } try { var jhTypes = mCacheSearchForm.JianghuTypes.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries) .Select(a => (BangpaiType)Enum.Parse(typeof(BangpaiType), a)).ToArray(); var rv = await Task.Run<CombinationBiaoshiData>(() => { return mBiaoshiMgmtService.SearchBiaoshiByMengzhu(jhTypes, mCacheSearchForm.StartDate, mCacheSearchForm.EndDate, mCacheSearchForm.SiteUserName, mCacheSearchForm.IsTimeRangeRequired, isFirst?0: mLastId); }); foreach (var dp in rv.Items) { var x = new UIBiaoshi() { ID = dp.ID, BangpaiType = dp.BangpaiType, Name = dp.SiteUserName , XiakeName = dp.XiakeName, XiakeId = dp.XiakeId, CreateTime = dp.CreateTime, RegisterTime = dp.RegisterTime }; this.Biaoshis.Add(x); } if (rv.Items.Count > 0) { mLastId = rv.Items[rv.Items.Count - 1].ID; } mIsLoadedAllData = rv.IsLoadedAllData; if (isFirst) { BiaoshiView.View.MoveCurrentToFirst(); TotalCount = rv.TotalCount; } } catch (Exception e) { e.Show(); } finally { mIsSeaching = false; IsPageDataLoading = false; } }
public BiaoshiMgmtViewModel() { //BindingOperations.EnableCollectionSynchronization(Servers,LockObject); Form = new SearchForm(); }