/*********************************************************************** * Project: baifenBinfa * ProjectName: 百分兵法管理系统 * Web: http://chuanyin.com * Author: * Email: * CreateTime: 202403/02 * Description: 暂无 ***********************************************************************/ using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using CoreCms.Net.Configuration; using CoreCms.Net.IRepository; using CoreCms.Net.IRepository.UnitOfWork; using CoreCms.Net.IServices; using CoreCms.Net.Model.Entities; using CoreCms.Net.Model.ViewModels.UI; namespace CoreCms.Net.Services { /// /// 商品分类 接口实现 /// public class CoreCmsGoodsCategoryServices : BaseServices, ICoreCmsGoodsCategoryServices { private readonly ICoreCmsGoodsCategoryRepository _dal; private readonly IUnitOfWork _unitOfWork; public CoreCmsGoodsCategoryServices(IUnitOfWork unitOfWork, ICoreCmsGoodsCategoryRepository dal) { this._dal = dal; base.BaseDal = dal; _unitOfWork = unitOfWork; } #region 实现重写增删改查操作========================================================== /// /// 重写异步插入方法 /// /// 实体数据 /// public async Task InsertAsync(CoreCmsGoodsCategory entity) { return await _dal.InsertAsync(entity); } /// /// 重写异步更新方法方法 /// /// /// public async Task UpdateAsync(CoreCmsGoodsCategory entity) { return await _dal.UpdateAsync(entity); } /// /// 重写删除指定ID的数据 /// /// /// public async Task DeleteByIdAsync(object id) { return await _dal.DeleteByIdAsync(id); } #endregion #region 获取缓存的所有数据========================================================== /// /// 获取缓存的所有数据 /// /// public async Task> GetCaChe() { return await _dal.GetCaChe(); } #endregion #region 判断商品分类下面是否有某一个商品分类 /// /// 判断商品分类下面是否有某一个商品分类 /// /// /// /// public async Task IsChild(int catParentId, int catId) { var list = await _dal.GetCaChe(); var bl = IsHave(list, catParentId, catId); return bl; } #endregion #region 判断是否含有子类 /// /// 判断是否含有子类 /// /// /// /// /// public bool IsHave(List list, int catParentId, int catId) { if (catParentId == catId) { return true; } if (!list.Exists(p => p.id == catParentId)) { return false; } var children = list.Where(p => p.parentId == catParentId).ToList(); foreach (var item in children) { if (IsHave(list, item.id, catId)) { return true; } } return false; } #endregion } }