using Microsoft.Extensions.DependencyInjection; using SlnMesnac.Model.domain; using SlnMesnac.Repository.service.@base; using System; using System.Collections.Generic; using System.Linq; using System.Text; #region << 版 本 注 释 >> /*-------------------------------------------------------------------- * 版权所有 (c) 2024 WenJY 保留所有权利。 * CLR版本:4.0.30319.42000 * 机器名称:LAPTOP-E0N2L34V * 命名空间:SlnMesnac.Repository.service.Impl * 唯一标识:50d84911-9088-4fd3-b85a-151411028afc * * 创建者:WenJY * 电子邮箱:wenjy@mesnac.com * 创建时间:2024-04-08 16:47:57 * 版本:V1.0.0 * 描述: * *-------------------------------------------------------------------- * 修改人: * 时间: * 修改说明: * * 版本:V1.0.0 *--------------------------------------------------------------------*/ #endregion << 版 本 注 释 >> namespace SlnMesnac.Repository.service.Impl { public class BaseConfigInfoServiceImpl : BaseServiceImpl, IBaseConfigInfoService { private readonly IServiceProvider _serviceProvider; public BaseConfigInfoServiceImpl(Repository rep,IServiceProvider serviceProvider) : base(rep) { _serviceProvider = serviceProvider; } public void SaveConfigInfo(BaseConfigInfo configInfo) { bool isRes = base._rep.Insert(configInfo); RefreshConfigInfos(); } public void UpdateConfigInfo(BaseConfigInfo configInfo) { bool isRes = base._rep.Update(configInfo); RefreshConfigInfos(); } public void DeleteConfigInfo(int configId) { bool isRes = base._rep.DeleteById(configId); RefreshConfigInfos(); } /// /// 更新本地缓存 /// private void RefreshConfigInfos() { using (var scope = _serviceProvider.CreateScope()) { var info = scope.ServiceProvider.GetRequiredService>(); var hashCode = info.GetHashCode(); var infos = base.Query(x => x.IsFlag == 1).ToList(); info.Clear(); info.AddRange(infos); var hashValue = info.GetHashCode(); } } } }