/// <summary> /// Create api model from service model /// </summary> /// <param name="model"></param> public ContentFilterElementApiModel(ContentFilterElementModel model) { if (model == null) { throw new ArgumentNullException(nameof(model)); } FilterOperands = model.FilterOperands? .Select(f => new FilterOperandApiModel(f)) .ToList(); FilterOperator = model.FilterOperator; }
/// <summary> /// Create api model /// </summary> public static ContentFilterElementApiModel ToApiModel( this ContentFilterElementModel model) { if (model == null) { return(null); } return(new ContentFilterElementApiModel { FilterOperands = model.FilterOperands? .Select(f => f.ToApiModel()) .ToList(), FilterOperator = (Core.Models.FilterOperatorType)model.FilterOperator }); }
/// <summary> /// Convert to stack model /// </summary> /// <param name="model"></param> /// <param name="encoder"></param> /// <param name="onlySimpleAttributeOperands"></param> /// <returns></returns> public static ContentFilterElement Decode(this IVariantEncoder encoder, ContentFilterElementModel model, bool onlySimpleAttributeOperands = false) { if (model == null) { return(null); } return(new ContentFilterElement { FilterOperands = new ExtensionObjectCollection(model?.FilterOperands == null ? Enumerable.Empty <ExtensionObject>() : model.FilterOperands .Select(e => new ExtensionObject( encoder.Decode(e, onlySimpleAttributeOperands)))), FilterOperator = model.FilterOperator.ToStackType() }); }