private void AddDeckModel(string numberEx, ObservableCollection <DeckModel> deckModelList) { var thumbnailPath = CardUtils.GetThumbnailPath(numberEx); var row = DataManager.DsAllCache.Tables[SqliteConst.TableName].Rows.Cast <DataRow>() .AsEnumerable() .AsParallel() .First(tempRow => numberEx.Contains(tempRow[SqliteConst.ColumnNumber].ToString())); var md5 = row[SqliteConst.ColumnMd5].ToString(); var name = row[SqliteConst.ColumnCName].ToString(); var camp = row[SqliteConst.ColumnCamp].ToString(); var cost = row[SqliteConst.ColumnCost].ToString(); var power = row[SqliteConst.ColumnPower].ToString(); var restrictPath = RestrictUtils.GetRestrictPath(md5); var deckModel = new DeckModel { NumberEx = numberEx, Camp = camp, CName = name, Cost = cost.Equals(string.Empty) || cost.Equals("0") ? 0 : int.Parse(cost), Power = power.Equals(string.Empty) || power.Equals("0") ? 0 : int.Parse(power), ImagePath = thumbnailPath, RestrictPath = restrictPath }; deckModelList.Add(deckModel); }
public void UpdateCardPreviewList(CeQueryExModel cardQueryMdoel) { var dataSet = new DataSet(); var sql = GetModelSql(cardQueryMdoel); // 保存上次查询的实例 MemoryQueryModel = cardQueryMdoel; DataManager.FillDataToDataSet(dataSet, sql); var previewModels = CardUtils.GetCardPreviewModels(dataSet); CardPreviewModels.Clear(); RestrictUtils.GetRestrictCardList(previewModels, cardQueryMdoel.Restrict).ForEach(CardPreviewModels.Add); // 更新统计 CardPreviewCountValue = "查询结果:" + CardPreviewModels.Count; OnPropertyChanged(nameof(CardPreviewCountValue)); // 跟踪历史 if (MemoryQueryModel.CeQueryModel.Number.Equals(string.Empty)) { return; } var firstOrDefault = CardPreviewModels .Select((previewModel, index) => new { previewModel.Number, Index = index }) .FirstOrDefault(i => i.Number.Equals(MemoryQueryModel.CeQueryModel.Number)); if (null == firstOrDefault) { return; } var position = firstOrDefault.Index; if (position == -1) { return; } _selectedItem = CardPreviewModels[position]; }