Files
zszq-trs/YLErpWeb/App/Mvc/MyRazorPage.cs
T
2024-05-09 14:06:26 +08:00

65 lines
2.1 KiB
C#

using Microsoft.AspNetCore.Mvc.Razor;
namespace YLErp.Web.App
{
public abstract class MyRazorPage<T> : RazorPage<T>
{
UserInfo _curUser;
public UserInfo CurUser
{
get
{
if (User.Identity.IsAuthenticated)
{
if (_curUser != null)
{
return _curUser;
}
_curUser = Server.CacheProvider.Get("loginUser^" + Context.User.GetUserId()) as UserInfo;
if (_curUser != null)
{
_curUser.UserFrom = OptUserFrom.WebUI;
return _curUser;
}
}
return new UserInfo { UserName = "系统", UserFrom = OptUserFrom.WebUI };
}
}
public List<SelectListItem> GetAllRole(string roleName)
{
var roles = GlobalData.GetAllRoles(roleName);
if (CurUser.Roles.Any(r => r.Name == "权限管理员"))
{
return roles.Select(s => new SelectListItem { Text = s.Name, Value = s.Id.ToString() }).ToList();
}
return roles.Select(s => new SelectListItem { Text = s.Name, Value = s.Id.ToString() }).Where(m => m.Text != "权限管理员").ToList();
}
/// <summary>
/// 获取用户角色授权的交易品种
/// </summary>
public List<SelectListItem> GetRolevariety(bool isValueName = false, bool listALlVariety = false)
{
var list = new List<SelectListItem>();
var modelList = VarietyBLL.GetAllvarietyModel();
if (!listALlVariety)
{
var vids = CurUser.GetUserVarietyIds();
modelList = modelList.Where(m => vids.Contains(m.id));
}
return modelList.Select(m => new SelectListItem
{
Text = m.VarietyName + "",
Value = isValueName ? (m.VarietyName + "") : (m.id + "")
}).ToList();
}
}
}