# RulesEngineDemo **Repository Path**: junchenge/rules-engine-demo ## Basic Information - **Project Name**: RulesEngineDemo - **Description**: C# RulesEngine是Microsoft推出的一个规则引擎项目 一个简单的例子学习规则引擎 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-21 - **Last Updated**: 2025-08-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ``` // See https://aka.ms/new-console-template for more information using Newtonsoft.Json; using RulesEngine.Models; using RulesEngineDemo.Model; List list = new List(); list.Add(new Order() { SysNo = 1, MallTypeSysNo = MallType.Jd.GetHashCode(), Cash = 50, MallOrderID = DateTime.Now.Ticks.ToString(), ShopId = 1, ShopName = "测试门店", ShopType = ShopType.加盟门店.GetHashCode(), SkuCode = "FW00001", SkuName = "苹果电池免费安装" }); list.Add(new Order() { SysNo = 2, MallTypeSysNo = MallType.Jd.GetHashCode(), Cash = 150, MallOrderID = DateTime.Now.Ticks.ToString(), ShopId = 1, ShopName = "测试门店", ShopType = ShopType.加盟门店.GetHashCode(), SkuCode = "FW00001", SkuName = "苹果电池免费安装" }); list.Add(new Order() { SysNo = 3, MallTypeSysNo = MallType.Tmall.GetHashCode(), Cash = 150, MallOrderID = DateTime.Now.Ticks.ToString(), ShopId = 1, ShopName = "测试门店", ShopType = ShopType.加盟门店.GetHashCode(), SkuCode = "FW00001", SkuName = "苹果电池免费安装" }); list.Add(new Order() { SysNo = 4, MallTypeSysNo = MallType.Tmall.GetHashCode(), Cash = 80, MallOrderID = DateTime.Now.Ticks.ToString(), ShopId = 1, ShopName = "测试门店", ShopType = ShopType.加盟门店.GetHashCode(), SkuCode = "FW00001", SkuName = "苹果电池免费安装" }); list.Add(new Order() { SysNo = 5, MallTypeSysNo = MallType.Tmall.GetHashCode(), Cash = 80, MallOrderID = DateTime.Now.Ticks.ToString(), ShopId = 1, ShopName = "测试门店", ShopType = ShopType.直营门店.GetHashCode(), SkuCode = "FW00001", SkuName = "苹果电池免费安装" }); string fileDirectory = Path.Combine(AppContext.BaseDirectory, "Rule"); string filePath = Path.Combine(fileDirectory, "rule.json"); string rulesStr= System.IO.File.ReadAllText(filePath); var workflowRules = JsonConvert.DeserializeObject>(rulesStr); var reSettings = new ReSettings { CustomTypes = new[] { typeof(OrderExtensions) }//注册扩展方法 }; var rulesEngine = new RulesEngine.RulesEngine(workflowRules.ToArray(), reSettings); foreach(var item in list) { var orderInfo = new RuleParameter("orderInfo", item); var resultList = await rulesEngine.ExecuteAllRulesAsync("结算规则A", orderInfo); foreach (var result in resultList) { if (result.IsSuccess) { Console.WriteLine($"验证成功。 订单号 :{item.SysNo} 规则名称: {result.Rule.RuleName}"); } } } ```