예제 #1
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];
        }
예제 #2
0
        private string GetModelSql(CeQueryExModel cardQueryMdoel)
        {
            OnPropertyChanged(nameof(PreviewOrderType));
            var sql = string.Empty;

            switch (cardQueryMdoel.ModeType)
            {
            case Enums.ModeType.Query:
                sql = CeSqlUtils.GetQuerySql(cardQueryMdoel.CeQueryModel, PreviewOrderType);
                break;

            case Enums.ModeType.Editor:
                if (!cardQueryMdoel.CeQueryModel.Pack.Equals(string.Empty))
                {
                    sql = CeSqlUtils.GetEditorSql(cardQueryMdoel.CeQueryModel, PreviewOrderType);
                }
                break;

            case Enums.ModeType.Develop:
                sql = CeSqlUtils.GetQuerySql(cardQueryMdoel.CeQueryModel, PreviewOrderType);
                break;
            }
            return(sql);
        }