mirror of
https://github.com/anjoy8/Blog.Core.git
synced 2024-09-20 23:48:27 +08:00
58 lines
1.5 KiB
C#
58 lines
1.5 KiB
C#
using Blog.Core.Common;
|
|
using Blog.Core.IRepository.Base;
|
|
using Blog.Core.IServices;
|
|
using Blog.Core.Model.Models;
|
|
using Blog.Core.Services.BASE;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Blog.Core.Services
|
|
{
|
|
/// <summary>
|
|
/// UserRoleServices
|
|
/// </summary>
|
|
public class UserRoleServices : BaseServices<UserRole>, IUserRoleServices
|
|
{
|
|
|
|
IBaseRepository<UserRole> _dal;
|
|
public UserRoleServices(IBaseRepository<UserRole> dal)
|
|
{
|
|
this._dal = dal;
|
|
base.BaseDal = dal;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="uid"></param>
|
|
/// <param name="rid"></param>
|
|
/// <returns></returns>
|
|
public async Task<UserRole> SaveUserRole(int uid, int rid)
|
|
{
|
|
UserRole userRole = new UserRole(uid, rid);
|
|
|
|
UserRole model = new UserRole();
|
|
var userList = await base.Query(a => a.UserId == userRole.UserId && a.RoleId == userRole.RoleId);
|
|
if (userList.Count > 0)
|
|
{
|
|
model = userList.FirstOrDefault();
|
|
}
|
|
else
|
|
{
|
|
var id = await base.Add(userRole);
|
|
model = await base.QueryById(id);
|
|
}
|
|
|
|
return model;
|
|
|
|
}
|
|
|
|
|
|
|
|
[Caching(AbsoluteExpiration = 30)]
|
|
public async Task<int> GetRoleIdByUid(int uid)
|
|
{
|
|
return ((await base.Query(d => d.UserId == uid)).OrderByDescending(d => d.Id).LastOrDefault()?.RoleId).ObjToInt();
|
|
}
|
|
}
|
|
}
|