using System.Collections.Generic;
public string Id {get;set;}
public bool HideInUI {get;set;}
public bool SubscriptionType {get;set;}
public static void Main()
var all = new List<Test>{
new Test{Id = "test2", HideInUI = true},
new Test{Id = "test3", SubscriptionType = false},
new Test{Id = "test4", HideInUI = true, SubscriptionType = false},
new Test{Id = "Accellos.Platform.Alerts.DefaultDeliverers.WorkspaceDeliverer"},
new Test{Id = "Accellos.Platform.Alerts.DefaultDeliverers.WorkspaceDeliverer", HideInUI = true},
new Test{Id = "Accellos.Platform.Alerts.DefaultDeliverers.WorkspaceDeliverer", SubscriptionType = false},
new Test{Id = "Accellos.Platform.Alerts.DefaultDeliverers.WorkspaceDeliverer", HideInUI = true, SubscriptionType = false},
new Test{Id = "Accellos.Platform.Alerts.DefaultDeliverers.UserMessagesDeliverer"},
new Test{Id = "Accellos.Platform.Alerts.DefaultDeliverers.UserMessagesDeliverer", HideInUI = true},
new Test{Id = "Accellos.Platform.Alerts.DefaultDeliverers.UserMessagesDeliverer", SubscriptionType = false},
new Test{Id = "Accellos.Platform.Alerts.DefaultDeliverers.UserMessagesDeliverer", HideInUI = true, SubscriptionType = false},
var filtered = all.Where( deliverer => !deliverer.HideInUI &&
(deliverer.SubscriptionType != false ||
deliverer.Id != "Accellos.Platform.Alerts.DefaultDeliverers.WorkspaceDeliverer" ||
deliverer.Id != "Accellos.Platform.Alerts.DefaultDeliverers.UserMessagesDeliverer")).ToList();
foreach(var one in filtered)
Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(one));