using Newtonsoft.Json.Linq; using ryCommon; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Server.User { public partial class FrmBetaUsers : Form { public FrmBetaUsers() { InitializeComponent(); OlvTitle.AspectGetter = delegate (object x) { return ((UserGroup)x).Desc; }; OlvUserList.AspectGetter = delegate (object x) { return ((UserGroup)x).NickNameList; }; } public void GetSetting() { objectListView1.ClearObjects(); try { List list = new List(); JObject jo = JObject.Parse(RyFiles.ReadAllText(Application.StartupPath + "\\UserDb\\UserSet.dat")); JArray jarr = jo.GetJsonValue("list", new JArray()); for (int i = 0; i < jarr.Count; i++) { var item = jarr[i]; list.Add(new UserGroup() { Desc= item.GetJsonValue("Desc",""), UserList = item.GetJsonValue("UserList", ""), NickNameList=DyAPI.API.UserAPI.GetListNickName(item.GetJsonValue("UserList", "")) }); } objectListView1.AddObjects(list); } catch { } } public void SaveSetting() { try { var list = objectListView1.ObjectsList; JObject jo = new JObject(); JArray jarr = new JArray(); for (int i = 0; i < list.Count; i++) { var item = (UserGroup)list[i]; var jo_item = new JObject { { "Desc", item.Desc }, { "UserList", item.UserList } }; jarr.Add(jo_item); } jo.Add("list", jarr); RyFiles.WriteAllText(Application.StartupPath + "\\UserDb\\UserSet.dat", jo.ToString()); } catch { } } private void 添加用户组ToolStripMenuItem_Click(object sender, EventArgs e) { FrmAddBetaUser frm = new FrmAddBetaUser(); frm.Icon = Icon; if(frm.ShowDialog()==DialogResult.OK) { objectListView1.AddObject(new UserGroup() {Desc=frm.TxtDesc.Text, UserList=frm.DtUserList.selectId,NickNameList=frm.DtUserList.Text }); SaveSetting(); } frm.Dispose(); } private void 修改用户组ToolStripMenuItem_Click(object sender, EventArgs e) { var item = (UserGroup)objectListView1.SelectedObject; if (item == null) { return; } FrmAddBetaUser frm = new FrmAddBetaUser(); frm.Text = "修改更新用户组"; frm.TxtDesc.Text = item.Desc; frm.DtUserList.selectId = item.UserList; frm.DtUserList.Text=DyAPI.API.UserAPI.GetListNickName(item.UserList); frm.Icon = Icon; if (frm.ShowDialog() == DialogResult.OK) { item.Desc = frm.TxtDesc.Text; item.UserList = frm.DtUserList.selectId; item.NickNameList = frm.DtUserList.Text; objectListView1.RefreshObject(item); SaveSetting(); } frm.Dispose(); } private void 删除用户组ToolStripMenuItem_Click(object sender, EventArgs e) { var item = (UserGroup)objectListView1.SelectedObject; if (item == null) { return; } switch (MessageBox.Show("确定要删除?", "询问", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2)) { case DialogResult.OK: objectListView1.RemoveObject(item); SaveSetting(); break; } } private void FrmBetaUsers_Load(object sender, EventArgs e) { GetSetting(); } private void ObjectListView1_DoubleClick(object sender, EventArgs e) { 修改用户组ToolStripMenuItem.PerformClick(); } } public class UserGroup { public string Desc { get; set; } = ""; public string UserList { get; set; } = ""; public string NickNameList { get; set; } = ""; public override string ToString() { if (NickNameList.Length == 0) { return Desc; } return Desc+"("+NickNameList+")"; } } }