using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Text; using System.Threading.Tasks; using YiSha.Data.Repository; using YiSha.Entity.SystemManage; using YiSha.Enum; using YiSha.Model.Param.SystemManage; using YiSha.Util; using YiSha.Util.Extension; using YiSha.Util.Model; namespace YiSha.Service.SystemManage { public partial class MenuAuthorizeService { private IRepositoryFactory _baseRepository; public MenuAuthorizeService(IRepositoryFactory baseRepository) { _baseRepository = baseRepository; } #region 获取数据 public async Task> GetListPartial(MenuAuthorizeEntity param) { var expression = LinqExtensions.True(); expression = expression.And(t => t.BaseIsDelete == (int)IsDeleteEnum.No); if (param != null) { if (param.AuthorizeId.ParseToLong() > 0) { expression = expression.And(t => t.AuthorizeId == param.AuthorizeId); } if (param.AuthorizeType.ParseToInt() > 0) { expression = expression.And(t => t.AuthorizeType == param.AuthorizeType); } if (!param.AuthorizeIds.IsEmpty()) { int[] authorizeIdArr = TextHelper.SplitToArray(param.AuthorizeIds, ','); expression = expression.And(t => authorizeIdArr.Contains(t.AuthorizeId ?? 0)); } } var list = await _baseRepository.BaseRepository(dbConnectType).FindList(expression); return list.ToList(); } public async Task GetEntityPartial(int id) { return await _baseRepository.BaseRepository(dbConnectType).FindEntity(id); } #endregion #region 提交数据 public async Task SaveFormPartial(MenuAuthorizeEntity entity) { if (entity.Id.IsNullOrZero()) { await entity.Create(); await _baseRepository.BaseRepository(dbConnectType).Insert(entity); } else { await _baseRepository.BaseRepository(dbConnectType).Update(entity); } } #endregion /// /// 列表条件过滤 /// 建议该方法放在Partial部分类中,因为代码生成时当前类会被覆盖(该方法在生成时将会被注释) /// /// /// private Expression> ListFilterPartial(MenuAuthorizeListParam param) { var expression = LinqExtensions.True(); expression = expression.And(t => t.BaseIsDelete == (int)IsDeleteEnum.No); if (param != null) { } return expression; } } }