//using Atomx.Common.Entities;

//namespace Atomx.Data.CacheServices
//{
//    public partial interface ICacheService
//    {
//        /// <summary>
//        /// 获取所有可用的制造商品牌信息
//        /// </summary>
//        /// <returns></returns>
//        Task<List<Manufacturer>> GetManufacturers();

//        /// <summary>
//        /// 通过ID获取或更新缓存
//        /// </summary>
//        /// <param name="id"></param>
//        /// <param name="data"></param>
//        /// <returns></returns>
//        Task<Manufacturer> GetManufacturerById(long id, Manufacturer? data = null);

//        /// <summary>
//        /// 通过名字查询
//        /// </summary>
//        /// <param name="name"></param>
//        /// <returns></returns>
//        Task<Manufacturer> GetManufacturerByName(string name);

//        /// <summary>
//        /// 从缓存中删除数据
//        /// </summary>
//        /// <param name="id"></param>
//        /// <returns></returns>
//        Task RemoveManufacturer(long id);

//    }
//    public partial class CacheService : ICacheService
//    {
//        public async Task<Manufacturer> GetManufacturerById(long id, Manufacturer? data = null)
//        {
//            var cacheData = await GetManufacturers();
//            if (data != null)
//            {
//                var manufacturer = cacheData.SingleOrDefault(p => p.Id == id);
//                if (manufacturer != null)
//                {
//                    cacheData.Remove(manufacturer);
//                    cacheData.Add(data);
//                    await SetCacheAsync(CacheKeys.Manufacturers, cacheData);
//                }
//                else
//                {
//                    cacheData.Add(data);
//                    await SetCacheAsync(CacheKeys.Manufacturers, cacheData);
//                }
//                return data;
//            }
//            else
//            {
//                var manufacturer = cacheData.SingleOrDefault(p => p.Id == id);
//                if (manufacturer != null)
//                {
//                    return manufacturer;
//                }
//                return new Manufacturer();
//            }
//        }

//        public async Task<Manufacturer> GetManufacturerByName(string name)
//        {
//            var cacheData = await GetManufacturers();
//            if (cacheData != null)
//            {
//                var data = cacheData.SingleOrDefault(p => p.Name == name);
//                if (data != null)
//                {
//                    return data;
//                }
//            }
//            return new Manufacturer();
//        }

//        public async Task<List<Manufacturer>> GetManufacturers()
//        {
//            var cacheData = await GetCacheAsync<List<Manufacturer>>(CacheKeys.Manufacturers);
//            if (cacheData == null)
//            {
//                return new List<Manufacturer>();
//            }

//            return cacheData;
//        }

//        public async Task RemoveManufacturer(long id)
//        {
//            var cacheData = await GetManufacturers();
//            if (cacheData != null)
//            {
//                var data = cacheData.SingleOrDefault(p => p.Id == id);
//                if (data != null)
//                {
//                    cacheData.Remove(data);
//                    await SetCacheAsync(CacheKeys.Manufacturers, cacheData);
//                }
//            }
//        }
//    }
//}
