Files

177 lines
5.1 KiB
C#
Raw Permalink Normal View History

2026-04-30 11:34:41 +08:00
using DataDAL;
using Models.Const;
using Models.Ext;
using Models.Models;
using SamplePre.Common;
using SamplePre.DAL;
using SamplePre.DAL.DBContext;
using SamplePre.Models.Ext;
using SamplePre.Models.Tables;
using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Collections.Specialized.BitVector32;
namespace SamplePre.ProcessBll.BLL
{
public class UsersBll
{
SystemDal systemDal = new SystemDal();
/// <summary>
/// 获取用户数据
/// </summary>
/// <returns></returns>
public List<config_user_ext> GetUsers()
{
//List<config_user> users = DBFactory.Instance.Queryable<config_user>().ToList();
var users = systemDal.QueryUserData();
return users;
}
public List<config_role> GetRoles()
{
List<config_role> roles = DBFactory.Instance.Queryable<config_role>()
.ToList();
return roles;
}
public int SaveUserData(config_user configUser, List<config_user_role> roles)
{
//throw new NotImplementedException();
var _db = DBFactory.Instance;
try
{
_db.BeginTran();
var val = _db.Insertable<config_user>(configUser).ExecuteCommand();
var val2 = _db.Insertable<config_user_role>(roles).ExecuteCommand();
_db.CommitTran();
}
catch (Exception ex)
{
_db.RollbackTran();
LoggerHelper.Logger.Error(ex.Message);
return -1;
}
return 1;
}
public int UpdateUserData(config_user configUser, List<config_user_role> roles)
{
var _db = DBFactory.Instance;
try
{
_db.BeginTran();
var val = _db.Updateable<config_user>()
.SetColumns(it => new config_user() { username = configUser.username
,password = configUser.password
,is_enabled = configUser.is_enabled })
.Where(p => p.id == configUser.id)
.ExecuteCommand();
////用户角色
//先删除,后插入
_db.Deleteable<config_user_role>().Where(p => p.user_id == configUser.id).ExecuteCommand();
var val2 = _db.Insertable<config_user_role>(roles).ExecuteCommand();
_db.CommitTran();
}
catch (Exception ex)
{
_db.RollbackTran();
LoggerHelper.Logger.Error(ex.Message);
return -1;
}
return 1;
}
public int DeleteUser(config_user user)
{
var _db = DBFactory.Instance;
try
{
_db.BeginTran();
var val = _db.Deleteable<config_user>(user)
.Where(p => p.id == user.id)
.ExecuteCommand();
////
//先删除用户角色
_db.Deleteable<config_user_role>().Where(p => p.user_id == user.id).ExecuteCommand();
_db.CommitTran();
}
catch (Exception ex)
{
_db.RollbackTran();
LoggerHelper.Logger.Error(ex.Message);
return -1;
}
return 1;
}
public List<config_user_role> GetUserRoles(string userId)
{
var result = DBFactory.Instance.Queryable<config_user_role>()
.Where(a=> a.user_id == userId)
.ToList();
return result;
}
public bool CheckUser(string userName, string pwd)
{
var users = DBFactory.Instance.Queryable<config_user>().Where(p => p.username == userName && p.password == pwd).Single();
if(users == null || string.IsNullOrEmpty(users.username)) return false;
SystemConst.loginUserInfo.user = users;
//查询用户权限
var result = DBFactory.Instance.Queryable<config_user_role>()
.RightJoin<config_role_permisson>((a, b) => a.role_id == b.role_id)
.LeftJoin<config_function>((a, b, c) => b.function_id == c.id)
.Where((a, b, c) => a.user_id == users.id)
.Select((a, b, c) => new config_function
{
id = c.id,
name = c.name,
code = c.code,
parent_id = c.parent_id,
description = c.description
})
.ToList();
SystemConst.loginUserInfo.functions = result;
return true;
}
}
}