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.
164 lines
6.7 KiB
C#
164 lines
6.7 KiB
C#
using Mesnac.Action.ChemicalWeighing.Entity;
|
|
using Mesnac.Codd.Session;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Mesnac.Action.ChemicalWeighing.UserManage
|
|
{
|
|
class UserHelper
|
|
{
|
|
#region 查询用户列表
|
|
/// <summary>
|
|
/// 查询用户信息
|
|
/// </summary>
|
|
/// <returns>返回一个包含用户信息的数据表</returns>
|
|
public static DataTable getUsers()
|
|
{
|
|
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
|
|
if (dbHelper == null)
|
|
{
|
|
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
|
|
}
|
|
dbHelper.ClearParameter();
|
|
dbHelper.CommandType = CommandType.Text;
|
|
string strSql = "SELECT UID, UName, UPwd, RoleName, URoleID FROM Pst_user LEFT JOIN pst_Role ON Pst_user.URoleID=pst_Role.Id ORDER BY UID";
|
|
dbHelper.CommandText = strSql;
|
|
DataTable table = dbHelper.ToDataTable();
|
|
return table;
|
|
}
|
|
#endregion
|
|
|
|
#region 获取用户对象集合
|
|
/// <summary>
|
|
/// 获取包含所有用户对象的集合
|
|
/// </summary>
|
|
/// <returns>返回一个list链表 其中是User对象</returns>
|
|
public static List<SimplePstUser> getUserList()
|
|
{
|
|
DataTable userTable = getUsers();
|
|
List<SimplePstUser> lst = new List<SimplePstUser>();
|
|
|
|
foreach (DataRow row in userTable.Rows)
|
|
{
|
|
SimplePstUser user = new SimplePstUser
|
|
{
|
|
UID = Mesnac.Basic.DataProcessor.RowValue(row, "UID", 0),
|
|
UName = Mesnac.Basic.DataProcessor.RowValue(row, "UName", String.Empty),
|
|
UPwd = Mesnac.Basic.DataProcessor.RowValue(row, "UPwd", String.Empty),
|
|
URoleName = Mesnac.Basic.DataProcessor.RowValue(row, "URoleName", String.Empty),
|
|
URoleID = Mesnac.Basic.DataProcessor.RowValue(row, "URoleID", 0)
|
|
};
|
|
lst.Add(user);
|
|
}
|
|
return lst;
|
|
}
|
|
#endregion
|
|
|
|
#region 新增用户
|
|
/// <summary>
|
|
/// 向数据库用户表中添加一条用户数据
|
|
/// </summary>
|
|
/// <param name="user"></param>
|
|
public static void addUser(SimplePstUser user)
|
|
{
|
|
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
|
|
if (dbHelper == null)
|
|
{
|
|
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
|
|
}
|
|
dbHelper.ClearParameter();
|
|
dbHelper.CommandType = CommandType.Text;
|
|
|
|
string insertUserSql = "INSERT INTO Pst_user(UName, UPwd, URoleName, URoleID) VALUES(@U_Name, @U_Pwd, @U_RoleName, @U_RoleID)";
|
|
dbHelper.CommandText = insertUserSql;
|
|
|
|
dbHelper.AddParameter("@U_Name", user.UName);
|
|
dbHelper.AddParameter("@U_Pwd", user.UPwd);
|
|
dbHelper.AddParameter("@U_RoleName", user.URoleName);
|
|
dbHelper.AddParameter("@U_RoleID", user.URoleID);
|
|
dbHelper.ExecuteNonQuery();
|
|
}
|
|
#endregion
|
|
|
|
#region 根据UID修改用户信息
|
|
public static void updateUser(SimplePstUser user)
|
|
{
|
|
try
|
|
{
|
|
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
|
|
if (dbHelper == null)
|
|
{
|
|
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
|
|
}
|
|
dbHelper.ClearParameter();
|
|
dbHelper.CommandType = CommandType.Text;
|
|
string strSql = "UPDATE Pst_user SET UName=@UName, UPwd=@UPwd, URoleName=@URoleName, URoleID=@URoleID WHERE UID=@UID";
|
|
dbHelper.CommandText = strSql;
|
|
dbHelper.AddParameter("@UName", user.UName);
|
|
dbHelper.AddParameter("@UPwd", user.UPwd);
|
|
dbHelper.AddParameter("@URoleName", user.URoleName);
|
|
dbHelper.AddParameter("@URoleID", user.URoleID);
|
|
dbHelper.AddParameter("@UID", user.UID);
|
|
dbHelper.ExecuteNonQuery();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ICSharpCode.Core.LoggingService<UserHelper>.Error("修改用户信息异常:" + ex.Message, ex);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 获取用户类型对象集合
|
|
/// <summary>
|
|
/// 获取所有用户类型及对应类型ID
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public static List<SimplePstRole> GetUserRoleList()
|
|
{
|
|
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
|
|
if (dbHelper == null)
|
|
{
|
|
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
|
|
}
|
|
dbHelper.ClearParameter();
|
|
dbHelper.CommandType = CommandType.Text;
|
|
string sqlstr = "SELECT Id, RoleName, Description FROM pst_Role";
|
|
dbHelper.CommandText = sqlstr;
|
|
DataTable table = dbHelper.ToDataTable();
|
|
List<SimplePstRole> lst = new List<SimplePstRole>();
|
|
SimplePstRole role = null;
|
|
foreach (DataRow row in table.Rows)
|
|
{
|
|
role = new SimplePstRole();
|
|
role.ID = Mesnac.Basic.DataProcessor.RowValue(row, "Id", 0);
|
|
role.RoleName = Mesnac.Basic.DataProcessor.RowValue(row, "RoleName", String.Empty);
|
|
role.Description = Mesnac.Basic.DataProcessor.RowValue(row, "Description", String.Empty);
|
|
lst.Add(role);
|
|
}
|
|
return lst;
|
|
}
|
|
#endregion
|
|
|
|
#region 根据用户名删除用户
|
|
public static void deleteUser(string uname)
|
|
{
|
|
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
|
|
if (dbHelper == null)
|
|
{
|
|
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
|
|
}
|
|
dbHelper.CommandType = CommandType.Text;
|
|
dbHelper.ClearParameter();
|
|
string strSql = "DELETE FROM Pst_user WHERE UName = @UserName";
|
|
dbHelper.CommandText = strSql;
|
|
dbHelper.AddParameter("@UserName", uname);
|
|
dbHelper.ExecuteNonQuery();
|
|
}
|
|
#endregion
|
|
}
|
|
}
|