Esempio n. 1
0
        public static async void Compare(ResponseBody body1, ResponseBody body2, bool isCompareValue)
        {
            var itemStr1 = body1.Content?.Value as string;
            var itemStr2 = body2.Content?.Value as string;

            if ((itemStr1 != null) && (itemStr2 != null))
            {
                if (isCompareValue)
                {
                    body1.Content.State = itemStr1 != itemStr2 ? StateEnum.ValueUnequal : StateEnum.ValueEqual;
                }
            }
            else if (body1.Content?.Value is StateNode && body2.Content?.Value is StateNode)
            {
                if (isCompareValue)
                {
                    var node1 = (StateNode)body1.Content.Value;
                    var node2 = (StateNode)body2.Content.Value;
                    await StateNode.CompareAsync(node1, node2, true);
                }
            }
            else
            {
                if (body1.Content != null)
                {
                    body1.Content.State = StateEnum.ValueUnequal;
                }
            }
        }
Esempio n. 2
0
 public static async void Compare(RequestBody body1, RequestBody body2, bool isCompareValue)
 {
     foreach (var item1 in body1.Content)
     {
         if (body2.Content.ContainsKey(item1.Key))
         {
             item1.Value.State = StateEnum.PropertyExisted;
             if (isCompareValue)
             {
                 var itemStr1 = item1.Value.Value as string;
                 var itemStr2 = body2.Content[item1.Key].Value as string;
                 if ((itemStr1 != null) && (itemStr2 != null))
                 {
                     item1.Value.State = itemStr1 != (string)body2.Content[item1.Key].Value ? StateEnum.ValueUnequal : StateEnum.ValueEqual;
                 }
                 else if (item1.Value.Value is StateNode && body2.Content[item1.Key].Value is StateNode)
                 {
                     item1.Value.State = StateEnum.ValueEqual;
                     var node1 = (StateNode)item1.Value.Value;
                     var node2 = (StateNode)body2.Content[item1.Key].Value;
                     await StateNode.CompareAsync(node1, node2, true);
                 }
                 else
                 {
                     item1.Value.State = StateEnum.ValueUnequal;
                 }
             }
         }
         else
         {
             item1.Value.State = StateEnum.PropertyMissing;
         }
     }
 }