123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- using Ropin.Inspection.Model;
- using Ropin.Inspection.Model.Entities;
- using Ropin.Inspection.Model.ViewModel;
- using Ropin.Inspection.Repository.Interface;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Ropin.Inspection.Repository
- {
- public class TsysUserRoleRepository : RepositoryBase<TSYS_UserRole, Guid>, ITsysUserRoleRepository
- {
- public TsysUserRoleRepository(InspectionDbContext dbContext) : base(dbContext)
- {
- }
- public Task<bool> DeleteByUserIdAsync(Guid userId)
- {
- MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("userId", userId) };
- string sql = "DELETE FROM TSYS_UserRole where C_UserCode = @userId";
- int iResult = EntityFrameworkCoreExtensions.ExecuteSqlNoQuery(DbContext.Database, sql, parameters);
- return Task.FromResult(true);
- }
- public Task<IEnumerable<TsysUserRoleViewModel>> GetUserRolesByUserIdAsync(Guid userId)
- {
- MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("userId", userId) };
- string sql = "SELECT C_UserCode,C_RoleCode FROM TSYS_UserRole where C_UserCode = @userId";
- IEnumerable<TsysUserRoleViewModel> result = EntityFrameworkCoreExtensions.GetList<TsysUserRoleViewModel>(DbContext.Database, sql, parameters);
- return Task.FromResult(result);
- }
- public Task<bool> DeleteByRoleIdAsync(Guid roleId)
- {
- MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("roleId", roleId) };
- string sql = "DELETE FROM TSYS_RolePriv where C_RoleCode = @roleId";
- int iResult = EntityFrameworkCoreExtensions.ExecuteSqlNoQuery(DbContext.Database, sql, parameters);
- return Task.FromResult(true);
- }
- public async Task CreateRolePrivAsync(TSYS_RolePriv entity)
- {
- await DbContext.Set<TSYS_RolePriv>().AddAsync(entity);
- }
- public Task<IEnumerable<TsysRolePrivViewModel>> GetRolePrivsByRoleIdAsync(string roleId)
- {
- MySqlConnector.MySqlParameter[] parameters = new[] { new MySqlConnector.MySqlParameter("roleId", roleId) };
- string sql = "SELECT * FROM TSYS_RolePriv where C_RoleCode = @roleId";
- IEnumerable<TsysRolePrivViewModel> result = EntityFrameworkCoreExtensions.GetList<TsysRolePrivViewModel>(DbContext.Database, sql, parameters);
- return Task.FromResult(result);
- //var query = from a in DbContext.TSYS_RolePriv
- // join b in DbContext.TSYS_Priv
- // on a.C_PrivilegeCode equals b.C_Code
- // where a.C_RoleCode.ToString() == roleId
- // select new TSYS_Priv
- // {
- // C_Code = b.C_Code,
- // C_ParentCode = b.C_ParentCode,
- // C_Module = b.C_Module,
- // C_Type = b.C_Type,
- // C_Name = b.C_Name,
- // I_Sort = b.I_Sort,
- // C_ImageUrl = b.C_ImageUrl,
- // C_PageUrl = b.C_PageUrl,
- // C_Remark = b.C_Remark,
- // C_Status = b.C_Status,
- // };
- //var roleTypePrivList = query.ToList();
- //var treeList = new List<RolePrivTree>();
- //foreach (var item in roleTypePrivList.Where(m => m.C_ParentCode == null).OrderBy(m => m.I_Sort))
- //{
- // //获得子级
- // var children = RecursionRoleTypePriv(roleTypePrivList.Where(m => m.C_ParentCode != null).ToList(), new List<RolePrivTree>(), item.C_Code);
- // treeList.Add(new RolePrivTree()
- // {
- // C_Code = item.C_Code,
- // C_Name = item.C_Name,
- // C_ParentCode = item.C_ParentCode,
- // C_Type = item.C_Type,
- // I_Sort = item.I_Sort,
- // C_Remark = item.C_Remark,
- // C_ImageUrl = item.C_ImageUrl,
- // C_PageUrl = item.C_PageUrl,
- // C_Module = item.C_Module,
- // Open = children.Count > 0,
- // Children = children.Count == 0 ? null : children
- // });
- //}
- //var model = new RolePrivViewModel { RoleCode = roleId, RolePrivS = treeList };
- //return Task.FromResult(model);
- }
- List<RolePrivTree> RecursionRoleTypePriv(List<TSYS_Priv> sourceList, List<RolePrivTree> list, string guid)
- {
- foreach (var item in sourceList.Where(m => m.C_ParentCode.Equals(guid)))
- {
- var res = RecursionRoleTypePriv(sourceList, new List<RolePrivTree>(), item.C_Code);
- list.Add(new RolePrivTree()
- {
- C_Code = item.C_Code,
- C_Name = item.C_Name,
- C_ParentCode = item.C_ParentCode,
- C_Type = item.C_Type,
- I_Sort = item.I_Sort,
- C_Remark = item.C_Remark,
- C_ImageUrl = item.C_ImageUrl,
- C_PageUrl = item.C_PageUrl,
- C_Module = item.C_Module,
- Open = res.Count > 0,
- Children = res.Count > 0 ? res : null
- });
- }
- return list;
- }
- }
- }
|