using System; using System.Linq; using System.Text; using System.Data.Common; using System.Linq.Expressions; using System.Collections.Generic; using System.Threading.Tasks; using YiSha.Util; using YiSha.Util.Extension; using YiSha.Util.Model; using YiSha.Data; using YiSha.Data.Repository; using YiSha.Enum; using System.ComponentModel.DataAnnotations.Schema; using YiSha.Entity.TK; using YiSha.Model.Param.TK; using YiSha.IService.TK; using YiSha.Enum.ZX; using YiSha.Web.Code; namespace YiSha.Service.TK { /// /// 创 建:cmzx /// 日 期:2021-04-21 15:53 /// 描 述:图库板块权限管理服务实现类(部分类) /// public partial class PlateJurisdictionModelsService { private IRepositoryFactory _baseRepository; public PlateJurisdictionModelsService(IRepositoryFactory baseRepository) { _baseRepository = baseRepository; } /// /// 保存数据 /// /// 实体参数 /// public async Task SaveFormPartial(SavePlateJurisdictionModelsParam entity) { var result = 1; var insertList = new List(); OperatorInfo user = await Operator.Instance.Current(entity.Token); entity.GalleryIdList.ForEach(item => { insertList.Add(new PlateJurisdictionModelsEntity { createTime = DateTime.Now, createUserId = user?.UserId, createUserName = user?.UserName, galleryId = item, isDelete = false, sortNo = 1, UserId = entity.UserId, UserName = entity.UserName }); }); var deleteList = await _baseRepository.BaseRepository(dbConnectType).FindList(d => d.UserId == entity.UserId && d.isDelete == false); //开启事务 var db = await _baseRepository.BaseRepository(dbConnectType).BeginTrans(); try { await db.Delete(deleteList.ToList()); await db.Insert(insertList); await db.CommitTrans(); } catch { result = -1; await db.RollbackTrans(); } return result; } /// /// 获取当前用户图库板块权限 /// /// public async Task> GetUserPlateJurisdictionAuthority() { OperatorInfo user = await Operator.Instance.Current(null); var sql = @"select gmm.ID as Id, gmm.galleryName from PlateJurisdictionModels pjm inner join galleryManagerModels gmm on pjm.galleryId = gmm.id where pjm.UserId = @UserId"; var param = new List(); param.Add(DbParameterExtension.CreateDbParameter("@UserId", user?.UserId, dbConnectType)); var result = await _baseRepository.BaseRepository(dbConnectType).FindList(sql, param.ToArray()); return result.ToList(); } #region 私有方法 /// /// 列表条件过滤 /// 建议该方法放在Partial部分类中,因为代码生成时当前类会被覆盖(该方法在生成时将会被注释) /// /// /// private Expression> ListFilterPartial(PlateJurisdictionModelsListParam param) { var expression = LinqExtensions.True(); expression = expression.And(d => d.isDelete == false); if (param != null) { if (param.UserId != null) expression = expression.And(d => d.UserId == param.UserId); } return expression; } #endregion } }