private async void OnAddData()
        {
            var data = new List <IRecord>
            {
                new DynamicRecord
                {
                    { "Number", UserSource.Count + 1 },
                    { "Name", "小茗" },
                    { "Remark", "-" }
                },
                new DynamicRecord
                {
                    { "Number", UserSource.Count + 2 },
                    { "Name", "冷冷" },
                    { "Remark", "-" }
                },
                new DynamicRecord
                {
                    { "Number", UserSource.Count + 3 },
                    { "Name", "暖暖" },
                    { "Remark", "-" }
                }
            };
            var result = await CustomDataApi.AddCustomDataAsync(_tableName, data.ToArray());

            if (!result.IsOk)
            {
                Mg.Get <IMgDialog>().ShowDesktopAlert("添加学生数据到自定义新表失败", result.Message);
                return;
            }
            Refresh();
        }
        private async void OnCreateIndex()
        {
            var result = await CustomDataApi.CreateIndexAsync(_tableName, new[] { "Number" }, true);

            if (!result.IsOk)
            {
                Mg.Get <IMgDialog>().ShowDesktopAlert("为自定义新表创建学号索引失败", result.Message);
                return;
            }
            Mg.Get <IMgDialog>().ShowDesktopAlert("提示", "为自定义新表创建学号索引成功");
        }
        private async void OnDeleteData()
        {
            if (UserSource.Count == 0)
            {
                return;
            }
            var lastUser = UserSource.Last();
            var result   = await CustomDataApi.DeleteCustomDataAsync(_tableName, new[] { lastUser._id });

            if (!result.IsOk)
            {
                Mg.Get <IMgDialog>().ShowDesktopAlert("删除最后一个学生数据失败", result.Message);
                return;
            }
            Refresh();
        }
        /// <summary>
        /// 获取表的最新数据
        /// </summary>
        private async void Refresh()
        {
            var result = await CustomDataApi.GetCustomDataListAsync(_tableName);

            if (!result.IsOk)
            {
                return;
            }
            UserSource.Clear();
            var records = result.GetRecords();

            foreach (var record in records)
            {
                UserSource.Add(record.As <User>());
            }
        }
        private async void OnUpdateData()
        {
            if (UserSource.Count == 0)
            {
                return;
            }
            var lastUser = UserSource.Last();
            var record   = lastUser.AsDictionary().As <DynamicRecord>();

            record["Remark"] = $"于{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}被修改了备注信息";
            var data = new List <IRecord> {
                record
            };
            var result = await CustomDataApi.UpdateCustomDataAsync(_tableName, data.ToArray());

            if (!result.IsOk)
            {
                Mg.Get <IMgDialog>().ShowDesktopAlert("修改最后一个学生的备注信息失败", result.Message);
                return;
            }
            Refresh();
        }
        /// <summary>
        /// 获取表的最新数据
        /// </summary>
        private async void Refresh()
        {
            var result = await CustomDataApi.GetCustomDataListAsync(_tableName);

            if (!result.IsOk)
            {
                return;
            }
            UserSource.Clear();
            var records = result.GetRecords();

            foreach (var record in records)
            {
                //UserSource.Add(record.As<User>());
                UserSource.Add(new User
                {
                    _id    = record["_id"].As <Id>(),
                    Number = record["Number"].As <string>(),
                    Name   = record["Name"].As <string>(),
                    Remark = record["Remark"].As <string>()
                });
            }
        }