Example #1
0
        private void AddOrEdit(UserDetailViewModel vmUsr)
        {
            var win = new UserDetailWindow(vmUsr);
            var rst = win.ShowDialog();

            if (rst != null && rst == true)
            {
                base.SearchCmd.Execute(null);
            }
        }
Example #2
0
        private void Search(PagingArgs page)
        {
            base.Models = null;//没有使用ObservableCollection;这里不能用base.Models.Clear(),因为并不会触发base.RaisePropertyChanged
            var rst = HttpUtils.PostResult(ApiUtils.GetApiUrl(ApiKeys.GetUsrByPage),
                                           new
            {
                pageIndex  = page.PageIndex,
                pageSize   = page.PageSize,
                conditions = new Dictionary <string, string>
                {
                    { "regioncode", Filter_RegionCode },
                    { "username", Filter_UserName },
                    { "truename", Filter_TrueName },
                    { "group", Filter_Group },
                    { "group_name", Filter_Group_Name },
                }
            },
                                           ClientContext.Token);

            if (rst.code != ResultCode.Success)
            {
                MessageWindow.ShowMsg(MessageType.Error, OperationDesc.Search, rst.msg);
                return;
            }

            if (rst.data != null && rst.data.total != null)
            {
                page.RecordsCount = (int)rst.data.total;
                if (page.RecordsCount == 0)
                {
                    page.PageCount = 0;
                    page.PageIndex = 1;
                    return;
                }
                page.PageCount = Convert.ToInt32(Math.Ceiling(page.RecordsCount * 1.0 / page.PageSize));

                var datas = rst.data.rows as JArray;
                if (datas.IsNotEmpty())
                {
                    IEnumerable <UserDetailViewModel> usrs = datas.Select(obj =>
                    {
                        UserDetailViewModel usrVM = new UserDetailViewModel(needValidate: false);//列表数据只读时,不需要进行验证;
                        var ins = JsonConvert.DeserializeObject(obj.ToString(), usrVM.userdata.GetType());
                        (ins as IUserVM).CopyTo(usrVM.userdata);
                        usrVM.user_group_name = obj["user_group_name"].Value <string>();
                        return(usrVM);
                    });

                    base.PageStart = page.Start;
                    base.Models    = (usrs as IEnumerable <CheckableModel>).ToList();
                }
            }
        }