src/EasyFrameWork/RuleEngine/RuleProviders/CommonMethodsRuleProvider.cs

(开头部分) 11KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

/* http://www.zkea.net/ 
 * Copyright (c) ZKEASOFT. All rights reserved. 
 * http://www.zkea.net/licenses */

using System;
using System.Collections;
using System.Linq;

namespace Easy.RuleEngine.RuleProviders
{
    public class CommonMethodsRuleProvider : IRuleProvider
    {
        const string _Equals = "Equals";
        const string NotEquals = "NotEquals";
        const string StartsWith = "StartsWith";
        const string EndsWith = "EndsWith";
        const string Contains = "Contains";
        const string NotStartsWith = "NotStartsWith";
        const string NotEndsWith = "NotEndsWith";
        const string NotContains = "NotContains";
        const string IsBlank = "IsBlank";
        const string IsNotBlank = "IsNotBlank";
        const string In = "In";
        const string NotIn = "NotIn";
        const string GreaterThan = "GreaterThan";
        const string GreaterThanOrEquals = "GreaterThanOrEquals";
        const string LessThan = "LessThan";
        const string LessThanOrEquals = "LessThanOrEquals";

        public virtual bool IsEquals(object value1, object value2)
        {
            if (value1 is string && value2 is string)
            {
                return ((string)value1).Equals((string)value2, StringComparison.OrdinalIgnoreCase);
            }
            else if (value1 == null && value2 == null)
            {
                return true;
            }
            else
            {
                return value1 != null && value1.Equals(value2);
            }
        }

        public virtual void Process(RuleContext ruleContext, object workContext)
        {
            switch (ruleContext.FunctionName)
            {
                case _Equals:
                    {
                        if (ruleContext.Arguments.Length == 2)
                        {
                            ruleContext.Result = IsEquals(ruleContext.Arguments[0], ruleContext.Arguments[1]);
                        }
                        break;
                    }
                case NotEquals:
                    {
                        if (ruleContext.Arguments.Length == 2)
后面还有 177 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。