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(); } } }