using Edu.Common.Enum;
using Edu.Model.ViewModel.System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VT.FW.DB.Dapper;
namespace Edu.Repository.System
{
///
/// 系统角色仓储类
///
public class RB_RoleRepository : BaseRepository
{
///
/// 获取角色列表
///
///
///
public List GetRoleListRepository(RB_Role_ViewModel query)
{
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT *
FROM rb_role
WHERE 1=1
");
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Role_ViewModel.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Role_ViewModel.Group_Id), query.Group_Id);
}
if (query.School_Id > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Role_ViewModel.School_Id), query.School_Id);
}
if (query.RoleId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Role_ViewModel.RoleId), query.RoleId);
}
if (!string.IsNullOrWhiteSpace(query.RoleName))
{
builder.AppendFormat(" AND {0} LIKE @RoleName ", nameof(RB_Role_ViewModel.RoleName));
parameters.Add("RoleName", "%" + query.RoleName.Trim() + "%");
}
}
return Get(builder.ToString(), parameters).ToList();
}
///
/// 获取角色分页列表
///
///
///
///
///
///
public List GetRolePageListRepository(int pageIndex, int pageSize, out long rowsCount, RB_Role_ViewModel query)
{
var parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT *
FROM rb_role
WHERE 1=1
");
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Role_ViewModel.Group_Id), query.Group_Id);
if (query != null)
{
if (query.Status >= 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Role_ViewModel.Status), (int)query.Status);
}
//if (query.School_Id > 0)
//{
// builder.AppendFormat(" AND {0}={1} ", nameof(RB_Role_ViewModel.School_Id), query.School_Id);
//}
if (query.RoleId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Role_ViewModel.RoleId), query.RoleId);
}
if (!string.IsNullOrWhiteSpace(query.RoleName))
{
builder.AppendFormat(" AND {0} LIKE @RoleName ", nameof(RB_Role_ViewModel.RoleName));
parameters.Add("RoleName", "%" + query.RoleName.Trim() + "%");
}
}
return GetPage(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList();
}
}
}