Exemplo n.º 1
0
        protected virtual void Query()//可以重写查询
        {
            //设置页面状态
            this.PageState = EnDic_PageState.查询中;
            //开始异步查询
            var tk = Task <dynamic> .Run(() => this.QueryTK());

            //查询结束,回到主线程,恢复页面状态
            tk.GetAwaiter().OnCompleted(() =>
            {
                //此处替换不能在异步中进行
                //如果此处直接赋值,则会闪烁
                DeepCopyUtility.SetValue <RUID>(this.ItemSource, tk.Result.list);
                //处理提示
                if (tk.Result.info != string.Empty)//如果消息不是空的,需要处理返回结果
                {
                    this.ResultMessage = new CustomerMessageData(EnDic_MessageType.浮出, "查询提示", string.Format("查询过程出现问题:“{0}”", tk.Result), null);
                }
                //无论是否成功,都恢复页面状态
                this.PageState = EnDic_PageState.默认状态;
            });
        }
Exemplo n.º 2
0
        public ObservableCollection <UIStrategy.UserRUIDUIStrategy> GetModels(dynamic SearchCondition, out string Message)
        {
            Message = string.Empty;
            try
            {
                //访问远程方法
                string postdata = JsonUtility.SerializeObject(SearchCondition);
                //接收返回值
                string result = HttpHelper.Post("", postdata);

                //接受结果的类型
                dynamic obj = new
                {
                    List    = new List <dynamic>(),
                    message = string.Empty
                };

                JsonUtility.DeserializeAnonymousType <dynamic>(result, obj);
                ObservableCollection <UIStrategy.UserRUIDUIStrategy> list = new ObservableCollection <UIStrategy.UserRUIDUIStrategy>();

                //从返回的集合,转换类型并生成新的集合
                foreach (var item in obj.List)
                {
                    UIStrategy.UserRUIDUIStrategy temp = new UIStrategy.UserRUIDUIStrategy();
                    DeepCopyUtility.SetValue <UIStrategy.UserRUIDUIStrategy>(temp, item);
                    list.Add(temp);
                }

                Message = obj.message;
                return(list);
            }
            catch (Exception e)
            {
                Message = string.Format("检索失败,错误:{0}", e.Message);
                return(new ObservableCollection <UIStrategy.UserRUIDUIStrategy>());
            }
        }