/// <summary> /// Clone /// </summary> /// <param name="model"></param> /// <returns></returns> public static ContentFilterElementModel Clone(this ContentFilterElementModel model) { if (model == null) { return(null); } return(new ContentFilterElementModel { FilterOperands = model.FilterOperands? .Select(f => f.Clone()) .ToList(), FilterOperator = model.FilterOperator }); }
/// <summary> /// Compare elements /// </summary> /// <param name="model"></param> /// <param name="other"></param> /// <returns></returns> public static bool IsSameAs(this ContentFilterElementModel model, ContentFilterElementModel other) { if (model == null && other == null) { return(true); } if (model == null || other == null) { return(false); } if (model.FilterOperator != other.FilterOperator) { return(false); } if (!model.FilterOperands.SetEqualsSafe(other.FilterOperands, (x, y) => x.IsSameAs(y))) { return(false); } return(true); }