You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

120 lines
4.0 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Mesnac.Action.Base;
using System.Windows.Forms;
using System.Data;
using Mesnac.Codd.Session;
namespace Mesnac.Action.ChemicalWeighing.UserManage
{
public class initUserFormAction : ChemicalWeighingAction, IAction
{
#region 事件定义
/// <summary>
/// 刷新用户信息事件
/// </summary>
public static event EventHandler OnRefreshUser;
#endregion
private RuntimeParameter _runtime;
private DbMCControl _userName = null; //用户名
private DbMCControl _userPwd = null; //密码
private DbMCControl _userType = null; //用户类型
private DbMCControl _clientGridControl = null; //用户列表控件
#region IAction接口实现
public void Run(RuntimeParameter runtime)
{
base.RunIni(runtime); //必须调用
this._runtime = runtime;
#region 事件订阅
if (true)
{
//新增用户后,要刷新用户页面
insertUserAction.OnInsertUser -= Process_Event;
insertUserAction.OnInsertUser += Process_Event;
//删除用户后,触发刷新页面事件
DeleteUserAction.OnDeleteUser -= Process_Event;
DeleteUserAction.OnDeleteUser += Process_Event;
//修改用户信息后,触发刷新页面事件
ModifyUserAction.OnModifyUser -= Process_Event;
ModifyUserAction.OnModifyUser += Process_Event;
}
#endregion
DbMCControl userName = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "[Pst_user].[UName]").FirstOrDefault(); //获取用户名textbox控件
DbMCControl userPwd = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "[Pst_user].[UPwd]").FirstOrDefault(); ////获取密码textbox控件
DbMCControl userType = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "[Pst_user].[URoleID]").FirstOrDefault(); //获取用户类型combobox控件
DbMCControl clientGridControl = this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "Pst_user").FirstOrDefault(); //获取用户数据控件
this._userName = userName;
this._userPwd = userPwd;
this._userType = userType;
this._clientGridControl = clientGridControl;
//调用刷新用户信息的操作
this.requestUserInfo();
}
#endregion
/// <summary>
/// 刷新用户信息
/// </summary>
protected void requestUserInfo()
{
//获取用户信息表
DataTable userTable = UserHelper.getUsers();
lock (String.Empty)
{
if (this._clientGridControl != null && this._clientGridControl.BaseControl != null)
{
this._clientGridControl.BaseControl.BindDataSource = null;
this._clientGridControl.BaseControl.BindDataSource = userTable;
}
else
{
ICSharpCode.Core.LoggingService<initUserFormAction>.Warn("刷新用户信息失败数据控件为Null...");
}
}
#region 触发事件, 刷新用户信息
if (OnRefreshUser != null)
{
OnRefreshUser(this._runtime.BaseControl.MCRoot, System.EventArgs.Empty);
}
#endregion
}
#region 事件处理方法
private void Process_Event(object sender, EventArgs e)
{
if (sender is RuntimeParameter)
{
this.Run(sender as RuntimeParameter);
}
else
{
this.Run(this._runtime);
}
}
#endregion
}
}