public override bool ShouldExecute(Core.Item item, Core.Enums.ItemEvent itemEvent) { var type = item.GetType(); if (type == typeof(ContentPropertyData)) { var propertyData = (ContentPropertyData)item; var rightEvent = (itemEvent == ItemEvent.Extracting || itemEvent == ItemEvent.Packaging); if (!rightEvent) { return(false); } var hasType = propertyData.Data.Any(x => x.Value != null && DataTypeIds.Contains(x.DataTypeEditor)); return(hasType); } else { var dataType = (DataType)item; return(DataTypeIds.Contains(dataType.DataEditorId)); } }