using learun.iapplication; using System; using System.Collections.Generic; using System.Text; using System.Threading.Tasks; namespace learun.application { /// /// 版 本 EasyCode EC管理后台 /// Copyright (c) 2019-present EC管理有限公司 /// 创建人:tobin /// 日 期:2019.09.25 /// 描 述:用户关联对象 /// public class UserRelationService : ServiceBase { #region 构造函数和属性 private readonly string fieldSql; /// /// /// public UserRelationService() { fieldSql = @" t.F_UserRelationId, t.F_UserId, t.F_Category, t.F_ObjectId, t.F_CreateDate, t.F_CreateUserId, t.F_CreateUserName "; } #endregion 构造函数和属性 #region 获取数据 /// /// 获取对象主键列表信息 /// /// 用户主键 /// 分类:1-角色2-岗位 /// public Task> GetObjectIdList(string userId, int category) { var strSql = new StringBuilder(); strSql.Append(" SELECT "); strSql.Append(fieldSql); strSql.Append(" FROM LR_Base_UserRelation t WHERE t.F_UserId = @userId AND t.F_Category = @category "); return this.BaseRepository().FindList(strSql.ToString(), new { userId, category }); } /// /// 获取用户主键列表信息 /// /// 关联角色或岗位组件 /// public Task> GetUserIdList(string objectId) { var strSql = new StringBuilder(); strSql.Append(" SELECT "); strSql.Append(fieldSql); strSql.Append(" FROM LR_Base_UserRelation t WHERE t.F_ObjectId = @objectId"); return this.BaseRepository().FindList(strSql.ToString(), new { objectId }); } /// /// 获取用户主键列表信息 /// /// 关联角色或岗位组件 /// public Task> GetUserIdList(IEnumerable objectIdList) { var strSql = new StringBuilder(); strSql.Append(" SELECT "); strSql.Append(fieldSql); strSql.Append(" FROM LR_Base_UserRelation t where 1=1 "); List objectIdList2 = (List)objectIdList; if (objectIdList2.Count > 0) { strSql.Append(" AND ( "); int num = 0; foreach (var item in objectIdList) { if (num > 0) { strSql.Append(" OR "); } strSql.Append(" F_ObjectId = '" + item + "'"); num++; } strSql.Append(" ) "); } return this.BaseRepository().FindList(strSql.ToString()); } #endregion 获取数据 #region 提交数据 /// /// 保存用户对应对象数据 /// /// 人员和角色主键 /// 列表 public async Task SaveEntityList(string objectId, IEnumerable userRelationEntityList) { var db = this.BaseRepository().BeginTrans(); try { await db.DeleteAny(new { F_ObjectId = objectId }); foreach (UserRelationEntity userRelationEntity in userRelationEntityList) { await db.Insert(userRelationEntity); } db.Commit(); } catch (Exception) { db.Rollback(); throw; } } #endregion 提交数据 } }