RaUI/Source/OnLineUpgradeConfig/User/FrmBetaUsers.cs
zilinsoft b4e236fd55 ### 2025-01-06 星期一更新
------
#### OnLineUpgradeConfig    V1.0.2501.0601
- *.[修复]修复用户管理列表无法默认勾选已选择用户的BUG。
#### RaUI    V4.0.2501.0601
- *.[新增]RyFiles类新增SetFileDate、SetFileCreationTime、SetFileLastWriteTime方法。
- *.[新增]RyFiles.CopyBigFile方法现在会同步来源文件的创建和修改时间。
- *.[新增]ryQuickSQL类新增GetPostData函数,将数据快速转成Post数据。
- *.[改进]执行MySQL下的ExecuteNonQuery时,如果遇到连接关闭错误,允许重连并重新执行。
- *.[改进]IDbInterface在执行新的SQL语句前,自动清空最后错误。
- *.[修复]修复LayeredForm窗体以正常窗体打开的时候,文本框无法编辑的BUG。
- *.[修复]修复ApkOp获取apk权限时可能带乱码的BUG。
- *.[修复]修复WeifenLuo.WinFormsUI.Docking的ResourceManager.GetString路径不对导致报错的BUG。
2025-01-06 11:14:35 +08:00

135 lines
4.7 KiB
C#

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<UserGroup> list = new List<UserGroup>();
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+")";
}
}
}