Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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];
        }