/// <summary> /// Initializes a new instance of the <see cref="EditArray"/> class. /// </summary> /// <param name="changeType">change type.</param> /// <param name="arrayProperty">array property (optional).</param> /// <param name="value">value to insert.</param> /// <param name="resultProperty">output property to put Pop/Take into.</param> public EditArray(ArrayChangeType changeType, string arrayProperty = null, object value = null, string resultProperty = null) : base() { this.ChangeType = new EnumExpression <ArrayChangeType>(changeType); if (!string.IsNullOrEmpty(arrayProperty)) { this.ItemsProperty = arrayProperty; } switch (changeType) { case ArrayChangeType.Clear: case ArrayChangeType.Pop: case ArrayChangeType.Take: if (ResultProperty != null) { this.ResultProperty = resultProperty; } break; case ArrayChangeType.Push: case ArrayChangeType.Remove: if (value != null) { this.Value = new ValueExpression(value); } break; } }
/// <summary> /// Initializes a new instance of the <see cref="EditArray"/> class. /// </summary> /// <param name="changeType">change type.</param> /// <param name="arrayProperty">array property (optional).</param> /// <param name="value">value to insert.</param> /// <param name="resultProperty">output property to put Pop/Take into.</param> public EditArray(ArrayChangeType changeType, string arrayProperty = null, string value = null, string resultProperty = null) : base() { this.ChangeType = changeType; if (!string.IsNullOrEmpty(arrayProperty)) { this.ItemsProperty = arrayProperty; } switch (changeType) { case ArrayChangeType.Clear: case ArrayChangeType.Pop: case ArrayChangeType.Take: this.ResultProperty = resultProperty; break; case ArrayChangeType.Push: case ArrayChangeType.Remove: this.Value = value; break; } }